Send Message
The response contains a messageid per receiver, which you can use to
track the message afterwards via Get message by ID (GET /v1/message/{messageid}).
Instead of writing the text in message you can pass template with the ID of one of your
Message Templates (preferably the public ID tpl_...). The text of the template is then used as
the message and personalisation placeholders such as [FIRSTNAME] are filled in per receiver. When both
message and template are sent, the template wins and the response contains a warnings entry.
This also works for Send message to group and Send voice message.
Base URL:
POST: https://api.smsgatewayapi.com/v1/message/send
| Parameter | Input | Description | |
|---|---|---|---|
| client_id | API client ID | Developer › API & Webhooks › API credentials | Required |
| client_secret | API client secret | A cs_ credential, shown once when you create it under Developer › API & Webhooks › API credentials | Required |
| message | message | the message to be sent. Not required when template is given; when both are sent, the template wins | Partial |
| template | message template ID | The ID of one of your message templates, preferably the public ID (tpl_...); the numeric ID is accepted too. The text of the template is used as the message and personalisation placeholders such as [FIRSTNAME] are filled in. When message is sent as well it is ignored and the response contains a warnings entry. An unknown ID, or a template that is not yours, returns error 150. Team users need the message templates permission | Optional |
| to | destination number | the number(s) that will receive the message in international format (eg: 324xx, 316xx, ...) | Required |
| sender | sender | The number or name of the sender. A number can't be longer than 14 characters.A name can't be longer than 11 characters and can't contain special characters | Required |
| date | Date and time the message will be sent | Format: yyyy-MM-dd HH:mm. If not provided, the message will be sent as soon as possible | Optional |
| reference | custom reference | String of max. 255 characters | Optional |
| test | true/false | The system will check all parameters but will not send an SMS message (no credits/balance used). | Optional |
| subid | id of a subaccount | If specified, the message will be sent from the subaccount. | Optional |
<?php //PHP - cURL $ch = curl_init(); $url = "https://api.smsgatewayapi.com/v1/message/send"; $client_id = "XXX"; // Your API client ID (required) $client_secret = "YYY"; // Your API client secret (required) $data = [ 'message' => "Hello World", //Message (required) 'to' => "417412345678", //Receiver (required) 'sender' => "YourName" //Sender (required)
]; curl_setopt($ch, CURLOPT_URL, "$url"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "X-Client-Id: $client_id", "X-Client-Secret: $client_secret", "Content-Type: application/json", ]); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); $response = curl_exec($ch); ?>
Example request single receiver:
{
"message": "Hello World",
"to": "{nr}",
"date":"2024-01-01 15:30",
"sender": "YourName"
}
Example response single receiver:
{
"messageid": "h2md1ewkyzjkuyn9ak7pryw1evtyw3x"
}
Example request multiple receivers:
{
"message": "Hello World",
"to": ["{nr1}", "{nr2}"],
"sender": "YourName"
}
Example response multiple receivers:
{
"messageids": [
"h2md1ewkyzjkuyn9ak7pryw1evtyw3x",
"678rjqhrjwg3r7t78te1yxfda9u3yt6"
]
}
Example request with a message template:
{
"template": "tpl_3520a1ec234dbabe1232def67e858855",
"to": "{nr}",
"sender": "YourName"
}
Example error response (unknown template):
{
"error": 150,
"errorMsg": "Template [tpl_3520a1ec234dbabe1232def67e858855] not found"
}
Exceptions:
| Symbol | Name | Symbol | Name | Symbol | Name |
|---|---|---|---|---|---|
| € | Euro symbol | \ | Backslash | } | Right brace |
| [ | Open bracket | ^ | Caret | ~ | Tilde |
| ] | Close bracket | { | Left brace | | | Vertical bar |