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.
POST
address=14075550100&message=Hi{
"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.
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.
POST
address=14075550100&message=Hi¬ifyURL=http://www.example.com/callback{
"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"
}
}
}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.
GET
{
"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"
}
}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.
POST
notifyURL=http://www.example.com/outbound{
"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.
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}
GET
{
"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.
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}
DELETE