HTTP API - URL template
This guide gives you instructions on how to create an URL template to be used in the redirecturl, the continueurl and the reporturl parameters of the HTTP API sendmessage method.
Introduction
If the redirecturl or the continueurl parameters are included in your sendmessage HTTP request, the SMS server will return a response containing the URL. If the URL specified contains certain keywords. The keywords will be replaced to the appropriate values corresponding to the submitted message. In other words, an URL template is an URL that will be processed by the SMS gateway before it is used in the HTTP response. Processing means, that certain keywords will be replaced in the URL.
For example, if you specify the following URL in the continueurl parameter:
http://www.myserver.com/index.asp?msgid=$messageid&statusmsg=$statusmessageIt will be modified into this when it is returned in the HTTP response:
http://www.myserver.com/index.asp?msgid=AC32DEF&statusmsg=Message+accepted+for+deliveryNote that the keywords $messageid and $statusmessage have been replaced. The message id of the submitted messages is substituted for the $messageid keyword in the URL and the status message of the submission is is substituted for the $statusmessage keyword. Ozeki 10 SMS Gateway replaces the keywords specified in the table bellow.
How to use?
To pass an URL template in the redirecturl, the continueurl or in the reporturl parameter, the URL template must be urlencoded. This is necessary, because otherwise the HTTP syntax of the sendmessage method would break. To urlencode your URL template you can use the online url encoding tool (available at http://www.ozeki.hu/index.php?owpn=5679) or you can do the encoding manually.
The URL template we used in the example above looks like this before the encoding:
http://www.myserver.com/index.asp?msgid=$messageid&statusmsg=$statusmessageAfter urlencoging it will look like this:
http%3A%2F%2Fwww.myserver.com%2Findex.asp%3Fmsgid%3D%24messageid%26statusmsg%3D%24
statusmessage
If you want to include this URL template in your submit request, your request would look like this:
http://127.0.0.1:9501/api?action=sendmessage&username=admin&password=abc123&
recipient=06203105366&messagetype=SMS:TEXT&messagedata=Hello+World&redirecturl=
http%3A%2F%2Fwww.myserver.com%2Findex.asp%3Fmsgid%3D%24messageid%26statusmsg%3D%24
statusmessage
Keywords
URL templates can contain the following keywordsKeyword | Replaced to | Can be used in the following parameter of the HTTP API sendmessage method |
statuscode | The result code of the message submission | redirecturl continueurl reporturl |
statusmessage | The status message of the message submission. (The statuscode explained.) | redirecturl continueurl reporturl |
messageid | The id of the submitted message | redirecturl continueurl reporturl |
recipient | The recipient phone number of the submitted message | redirecturl continueurl reporturl |
originator | The sender's name or sender's phone number of the submitted message | redirecturl continueurl reporturl |
messagetype | The messagetype of the submitted message | redirecturl continueurl reporturl |
messagedata | The messagedata of the submitted message | redirecturl continueurl reporturl |
submitdate | The date and time value of the message submission event. The date format is YYYY-MM-DD hh:mm:ss. | reporturl |
deliveredtonetworkdate | The date and time value of the message delivered to network event. The date format is YYYY-MM-DD hh:mm:ss. | reporturl |
deliveredtohandsetdate | The date and time value of the message delivered to handset event. The date format is YYYY-MM-DD hh:mm:ss. | reporturl |
status | The current status of the submitted message.
Possible values:
deliveredtonetwork deliveredtohandset deliveryfailed If the delivery fails, the statuscode and statusmessage parameters contain the errorcode and the errormessage returned by the service provider | reporturl |
If more than one messages are submitted with a single HTTP request, the URL template will contain the values corresponding to the last message in the list.
More information