Transactional SMS – specification (Advanced API)
It is strictly prohibited to exploit transactional SMS for promotional/marketing uses. It must be used for notification purposes only - as an SMS notification.
If you would like to use a transactional route to send a bulk notification message, please contact our support. We may allow this option for good cause.
API URL
The URL used to send the HTTP requests:
If the request does not reach its destination, repeat it on the backup server backup1.bulkgate.com.
Supported HTTP methods
POST-application/json
Parameters table
| PARAMETER NAME | VALUE | MANDATORY | DEFAULT VALUE |
|---|---|---|---|
| application_id | Application indentificator | Yes | - |
| application_token | Application authentication token | Yes | - |
| number | Recipient number or array of recipient numbers - Value number | Yes or admin |
- |
| admin | Number of BulkGate administrator receiving notification. More info | Yes or number |
- |
| text | Text of SMS message (max. 612 characters, or 268 characters if Unicode is used), UTF-8 encoding. It is possible to add variables to the template from the variables array (another parameter) Hello <first_name> <last_name> .... |
Yes | - |
| variables | Associative array to add variables to text, for e.g.: {"first_name": "John", "last_name": "Doe"} |
No | [] |
| channel | Alternative channels. Channels are tried in a cascade, in the order in which you list them in the object - if we are unable to deliver your message via the first channel, the next one in the list is used. SMS is not appended automatically; if you want it as the last fallback, include the sms object in the cascade. When no channel is given at all, the message is sent as SMS. |
No | SMS object |
| country | Provide the recipients' numbers in an international format (with prefix, e.g. 44) or add the country code in ISO 3166-1 alpha-2 format (777777777 + GB = 44777777777). See the country example request. If null, your set timezone will be used to fill the information |
No | null |
| schedule | Schedule the sending time and date in unix timestamp, or ISO 8601. | No | Now |
| duplicates_check | Select on to prevent sending duplicate messages to the same phone number. Messages with the same text sent to the same number will be removed if there is a time interval shorter than 5 minutes. If off no duplicates will be removed. |
No | off |
| tag | Message label for subsequent retrieval of the user. | No | - |
Value number
The value number can be written as follows:
- Array of phone numbers
Channels
The channel object decides which channels the message is sent through and in what order. The order of the keys in your request is the order of the cascade and SMS is not appended to it automatically - see Channel cascade.
| KEY | CHANNEL OBJECT |
|---|---|
sms |
SMS |
viber |
Viber – transactional |
rcs |
RCS |
whatsapp |
Request example
Response
In case of success:
Where:
- part_ID is the ID array of the parts of the original long message that were split because they did not meet the 160 character limit for a single message. More info here.
In case of error:
Where:
- type and error (description of the error) can be found in the error types table
- code represents http error
- detail is an additional info about the error
See all the error types for Simple API and Advanced API here.
Thank you for your feedback.