Перейти к основному содержимому

Callback-уведомления

Шлюз самостоятельно отправляет события на ваш сервер. Адрес берётся из поля URL/Email для сообщения о статусах SMS в настройках API или из адреса уведомлений вашего выделенного номера.

примечание

На этой странице описаны callback-уведомления HTTP и XML API. Если сообщения отправляются через JSON API с параметром hook, шлюз отправляет JSON вебхук, а не эти уведомления.

Входящее SMS

Отправляется, когда абонент присылает SMS на ваш выделенный номер.

HTTP метод: POST
Content-Type: multipart/form-data

ПараметрТипОписание
idnumberИдентификатор сообщения, присвоенный шлюзом
messagestringТекст сообщения в том виде, в котором он получен от абонента
phonestringНомер телефона абонента
short_phonestringВаш выделенный номер, на который отправлено сообщение
testnumber1 — тестовое сообщение, не тарифицируется; 0 — реальное сообщение
timestampnumberUnix-время получения сообщения
passwordstringmd5(api_key). Используйте для проверки того, что запрос пришёл от шлюза

Пример запроса

id=1234567&message=INFO%20123&phone=380501234567&short_phone=7060&test=0&timestamp=1755772800&password=5f4dcc3b5aa765d61d8327deb882cf99

Ответ

Тело вашего ответа отправляется абоненту ответным SMS.

Ваш ответЧто получит абонент
Тело от 1 до 200 символов без тега <html>Тело вашего ответа
Пустое тело, длиннее 200 символов или содержит тег <html>Ответ по умолчанию, настроенный для выделенного номера

Таймауты: 5 секунд на соединение, 20 секунд суммарно.

примечание

Для отдельного выделенного номера вместо password может быть согласован параметр signature. Он рассчитывается как sha1(значения всех параметров, отсортированных по имени параметра и склеенных подряд + api_key).

Ответ Viber 2 Way

Отправляется, когда абонент отвечает на ваше Viber-сообщение.

примечание

Это уведомление используется только для сообщений, отправленных не через JSON API. Для сообщений JSON API ответ приходит в массиве replies JSON вебхука.

HTTP метод: POST
Content-Type: application/x-www-form-urlencoded

ПараметрТипОписание
actionstringВсегда viber/2way
senderstringИмя отправителя, на которое ответил абонент
phonestringНомер телефона абонента
messagestringТекст ответа
datetimestringДата и время ответа
Формат: YYYY-MM-DDThh:mm:ss±hh:mm

Пример запроса

action=viber%2F2way&sender=SMSTest&phone=380501234567&message=Yes&datetime=2026-08-19T12%3A55%3A39%2B03%3A00

Ответ

В ответе будет получен код 200. Тело ответа игнорируется.

warning

Уведомление не содержит идентификатора сообщения — сопоставляйте ответ с сообщением по phone и sender. Медиафайлы, приложенные к ответу, этим уведомлением не передаются, они доступны только в JSON вебхуке.

Таймауты: 5 секунд на соединение, 5 секунд суммарно. Запрос отправляется один раз, без повторов.

Отчёт о доставке на e-mail

Если в поле уведомлений указан адрес электронной почты вместо URL, отчёт о доставке отправляется не по HTTP, а письмом на этот адрес с темой SMS delivery report.

В теле письма перечислены поля отчёта, по одному в строке, в формате параметр: значение.

ПараметрОписание
idИдентификатор сообщения, присвоенный шлюзом
statusКод статуса сообщения
datetimeДата и время изменения статуса
Формат: YYYY-MM-DDThh:mm:ss±hh:mm
partsКоличество частей, на которые разбито сообщение
priceСтоимость отправки
api_keyВаш API ключ
user_idУникальный идентификатор сообщения в вашей системе
⚠️ Присутствует, только если был передан при отправке

Пример письма

id: 1234567
status: 101
datetime: 2026-08-21T10:12:33+03:00
api_key: bb56a4369eb19***cfec6d1776bd25
parts: 1
price: 0.35
user_id: 100500
warning

Отчёт на e-mail не подходит для автоматической обработки — у него нет подписи, а доставка письма не гарантируется. Для интеграции указывайте HTTP адрес.