The SMSified Beta is closed and we're no longer accepting signups. We'll be launching soon.

Sending Messages

Sending a Text Message

https://api.smsified.com/v1/smsmessaging/outbound/{senderAddress}/requests

SMSified sends a text message using POST and form-encoded data. The URL you use to send a text message has a required field called senderAddress, which needs to be a number from your account. You cannot spoof this address as an alternate number, such as your personal mobile number - even if SMSified allowed it, the carriers would drop your messages.

The two required parameters for the Request are address and message, which are used to define the destination phone number and the message body. If you want to send to multiple phone numbers, just include multiple address fields.

Method:

POST

Request:

address=14075550100&message=Hi

Response:

{
   "resourceReference":{
      "resourceURL":
        "https://api.smsified.com/v1/smsmessaging/outbound/16575550100/requests/0651..."
   }
}

There are a few other optional parameters as well; check out the API Reference for more details.

Setting a Callback

https://api.smsified.com/v1/smsmessaging/outbound/{senderAddress}/requests

If you want to set a callback URL for your SMS, you would use the notifyURL parameter, which will allow you to receive status information about the sent SMS (including the destination address, sender's address, the message itself and the status code). If the message was successfully delivered, the code field will always read 0; if the SMS could not be delivered, possibly due to exceeded rate limits or a bad phone number, there are a variety of additional codes to help you identify the problem. Click here to view the complete list.

Method:

POST

Request:

address=14075550100&message=Hi&notifyURL=http://www.example.com/callback

Response:

{
   "resourceReference":{
      "resourceURL":
        "https://api.smsified.com/v1/smsmessaging/outbound/16575550100/requests/0651..."
   }
}

Here's an example of the data sent to the defined notifyURL:

{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "address": "14075550100", 
      "code": "0", 
      "createdDateTime": "2011-05-12T00:55:25.313Z", 
      "deliveryStatus": "DeliveredToNetwork", 
      "direction": "outbound", 
      "message": "Hello world", 
      "messageId": "3e5caf2782cb2eb310878b03efec5083", 
      "parts": "1", 
      "senderAddress": "16575550100", 
      "sentDateTime": "2011-05-12T00:55:34.359Z"
    }
  }
}

Checking Delivery Status

https://api.smsified.com/v1/smsmessaging/outbound/{senderAddress}/requests/{requestId}/deliveryInfos

If you want to check your delivery status before all your messages may have sent out (especially useful if you send an SMS to multiple addresses), you can pull a Delivery Status report using the requestId displayed in Response JSON. This is different than the other reporting options, as it functions in realtime - reporting only shows messages once they've successfully sent to the network or failed completely.

Method:

GET

Response:

{
   "deliveryInfoList":{
    "deliveryInfo":[
         {
            "deliveryStatus":"DeliveredToNetwork",
            "code":"0",
            "messageId":"f359193765f6a3149ca76a4508e21234",
            "senderAddress":"17175550100",
            "address":"13865550100",
            "createdDateTime":"2011-05-12T16:09:59.811Z",
            "sentDateTime":"2011-05-12T16:10:02.704Z",
            "parts":"1",
            "direction":"outbound",
            "message":"Hi"
         },
         {
            "deliveryStatus":"DeliveredToNetwork",
            "code":"0",
            "messageId":"6a6ed1f626b4593446d258a4f8c74321",
            "senderAddress":"17175550100",
            "address":"14075550100",
            "createdDateTime":"2011-05-12T16:09:59.809Z",
            "sentDateTime":"2011-05-12T18:24:55.310Z",
            "parts":"1",
            "direction":"outbound",
            "message":"Hello world!"
         }
      ],
      "resourceURL":"https://api.smsified.com/v1/smsmessaging/outbound/17177455082/requests/af12.../deliveryInfos"
   }
}

Subscribing to Status Updates

https://api.smsified.com/v1/smsmessaging/outbound/{senderAddress}/subscriptions

Instead of setting a callback URL using the notifyURL parameter every time you send a text message, you can set an outbound subscription. With a subscription, you set the callback URL one time and tie it to the phone number, then every time a text message goes out, you'll receive the delivery notification automatically. If you set a value for notifyURL when you send a text message and also have an active subscription, the delivery info will be sent to both URLs.

Method:

POST

Request:

notifyURL=http://www.example.com/outbound

Response:

{
   "resourceReference":{
      "resourceURL":
        "https://api.smsified.com/v1/smsmessaging/outbound/subscriptions/acdf..."
   }
}

There are a few other optional parameters as well; check out the API Reference for more details.

Viewing Subscriptions

It's likely if you're setting subscriptions, at some point you'll want to check out which ones are tied to a particular number. A simple GET on the proper URL gets you what you need.

https://api.smsified.com/v1/smsmessaging/outbound/subscriptions?senderAddress={senderAddress}

Method:

GET

Response:

{
   "outboundSubscriptionList":{
      "numberOfSubscriptions":"1",
      "outboundSubscription":[
         {
            "subscriptionId":"acdf1bf87ec299f47e0d889b11d71234",
            "senderAddress":"16575550100",
            "notifyURL":"http://www.example.com/outbound",
            "notificationFormat":"JSON",
            "resourceURL":"https://api.smsified.com/v1/smsmessaging/outbound/subscriptions/acdf..."
         },
         {
            "subscriptionId":"acdf1bf87ec299f47e0d889b11d71235",
            "senderAddress":"16575550100",
            "notifyURL":"http://www.example.com/outbound2",
            "notificationFormat":"JSON",
            "resourceURL":"https://api.smsified.com/v1/smsmessaging/outbound/subscriptions/acdf..."
         },
      ],
      "resourceURL":"https://api.smsified.com/v1/smsmessaging/outbound/subscriptions"
   }
}

If you omit the senderAddress, you'll see a list of all your outbound subscriptions.

Deleting Subscriptions

If you can create a subscription, you'll obviously need the ability to remove one as well. A DELETE with the right URL handles this for you.

https://api.smsified.com/v1/smsmessaging/outbound/subscriptions/{subscriptionId}

Method:

DELETE

Response:

None (204 Response Code will be returned)