The Developer Toolkit allows you to implement SMS integration within your application in a variety of ways. However there are some recommendations and best practices which are encouraged when designing your implementation.
When checking the delivery status of messages or checking for replies that have been sent via the SendSMS method you can either poll for the delivery statuses using the GetSMSStatus and GetSMSReply methods respectively, or alternatively you can configure the SendSMS method call to push delivery statuses and/or replies automatically to your servers via a HTTP GET request. In the case of replies you also have a second option available which is to specify an email address for replies to be forwarded to.
For receiving delivery statuses directly to a server of your choosing via HTTP you can provide a URL in the StatusNotificationUrl parameter which will be called each time the status of a message changes. Note: When sending a message to multiple destination numbers you will receive a status update for each individual destination number.
For receiving message replies to a server of your choosing via HTTP you can specify a ReplyMethodID of ‘5’ (Reply to URL) in conjunction with a URL specified in the ReplyData parameter. Any replies to your original message will then be sent via HTTP to the specified URL as and when they are received. If you would prefer replies to be sent via email you can specify a ReplyMethodID of ‘2’ (Reply to Email) in conjunction with a valid email address in the ReplyData parameter.
actively encourage the use of these options wherever possible as not only will this allow you to receive updates/replies in real time it will also reduce bandwidth and processing for both your application and infrastructure in comparison to polling GetSMSStatus and GetSMSReply.
More information on methods and parameters found in this article can be found in the following locations: