Отправка SMS
SMS отправляется синхронно через /api/json.php (немедленный ответ шлюза с msg_id для каждого сообщения).
Асинхронная SMS отправка доступна по адресу /v1/json (запрос ставится в очередь).
Синхронная отправка
Пример запроса для отправки SMS-сообщения на указанный номер.
URI: /api/json.php
Все запросы к API отправляются в формате JSON с помощью метода POST.
Параметры заголовков
В запросах обязательно должен быть заголовок Content-Type: application/json, иначе запрос будет считаться некорректным даже при валидном JSON в нем
Параметры запроса
Пример запроса
{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": true,
"unsubscribe_link": true,
"hook": "https://example.org/webhook/url.php"
}
]
}
Параметры ответа
| successinteger Результат выполнения запроса | |||||||
| errorstring Текст ошибки, который возвращается, если success=false | |||||||
| datalist[object] Список объектов с результатами выполнения запроса
|
Примеры ответа
- Успешный
- Доступ запрещен
- Ошибка в Альфа-имени
HTTP Status Code: 200
Content Type: JSON application/json
{
"success": true,
"data": [
{
"success": true,
"data": {
"id": 100500,
"msg_id": 123456789,
"data": 1,
"parts": 1
}
}
]
}
HTTP Status Code: 200
Content Type: JSON application/json
{
"success": false,
"error": "Access denied"
}
HTTP Status Code: 200
Content Type: JSON application/json
{
"success": true,
"data": [
{
"success": false,
"error": "Error in Alpha-name",
"data": {
"id": 100500
}
}
]
}
Асинхронная отправка
Для массовой или неблокирующей отправки используйте async JSON API. Формат тела запроса такой же, как при синхронной отправке: auth и непустой массив data с объектами type: "sms".
URI: /v1/json
Пример ответа при успехе:
{
"request_id": "cf-ray-1234567890-ABC",
"success": true
}
Идентификаторы msg_id по каждому сообщению в ответе не возвращаются.
Для получения результатов доставки используйте request_id, webhook через hook в запросе или статус сообщения
Коды ошибок HTTP:
| Code | Description |
|---|---|
400 | Недействительный JSON или пустой/недействительный data массив |
401 | Отсутствует или недействителен auth |
405 | Метод, отличный от POST |
413 | Слишком большой размер тела запроса |
415 | Отсутствует или недействителен Content-Type (должен быть application/json) |
503 | Очередь недоступна |