For the best security when transmitting data between your server and ours we only accept API calls which are SSL encrypted (HTTPS). All data sent in a GET or POST request to us is encrypted when you use HTTPS.
All timestamps are in ISO8601 format, e.g. YYYY-MM-DD HH:MM:SS. The zone is always UTC.
Some responses are far too large to be returned in one go so we paginate. To identify which calls use pagination look for the "page" and "max" parameters in the parameter descriptions for each API call.
These calls include a "page" block in the response with two values, "count" and "number". Count tells you how many pages are available and number indicates the page number you are on.
The page parameter is used to request a certain page, it defaults to 1. The max parameter is used to limit the number of results returned per page, the default is 10, the maximum is 100.
Sending SMS from a form
If you have a website with a form which sends SMS be sure to send the request from your server and not directly from the browser otherwise you will be giving away your API secret and opening the floodgates to unwanted charges.
To provide the best service to all our customers we limit the number of API calls which can be made in a short period of time.
If you exceed this limit we will return two indicators which you can use in your code to detect that you have been throttled. The first is the HTTP status code 429 "Too Many Requests", the second is the error code "OVER_LIMIT" in the error block of the response body.
For reply_callback set in the api call or in the api settings page we perform a GET (not POST) request, that contains;
The callback URL can have predefined parameters, e.g. http://example.com/mo.php?source=burstsms. all extra parameters will be attached there
Always check if your API call was successful or resulted in error. You may check the following
- 200 OK response header. It will be 4xx if an error occurred.
- error -> code structure should equal to ‘SUCCESS’. Please check the table below for common error constants.
- Check the error -> description for details, e.g. which field caused an error or which resource you don’t have access to.
401 AUTH_FAILED_NO_DATA You have not provided auth data
401 AUTH_FAILED The auth data you have provided is invalid.
404 NOT_IMPLEMENTED The method you are requesting is unsupported.
429 OVER_LIMIT You have exceeded the request limit.
400 FIELD_EMPTY Required field is empty.
400 FIELD_INVALID Field has invalid format (see proper format in the description).
400 NO_ACCESS You do not have access to this resource.
400 KEY_EXISTS The resource with this key already exists.
400 NOT_FOUND The resource with this key is not found.
- No information
Simple & Straightforward Pricing
Pay as you go. No long-term contracts.
Message textSMS Messages can be up to 596 chars each, and will all be delivered as one message, however for messages longer than 160 chars, each 146 chars you send on top will cost you an extra unit of SMS
Number or set of up to 10,000 numbers to send the SMS to, must be in international format. eg. 64212670129
Set the originator (Caller ID), not available for NZ, will be replaced with our NZ short code 5900
A time in the future to send the message. All timestamps are in ISO8601 format, e.g. YYYY-MM-DD HH:MM:SS. The zone is always UTC.
A URL on your system which we can call to notify you when messages are delivered
A URL on your system which we can send replies to
Specify the maximum time to attempt to deliver. In minutes, 0 (zero) implies no limit.