Вебхуки

Настройте вебхуки, чтобы оперативно получать от нас данные при наступлении каких-либо событий, например, при получении статусов доставки или входящего Viber сообщения, эти данные не нужно постоянно запрашивать по API.

Активировать вебхуки можно в разделе "Вебхуки", где вы можете настроить вебхук для нужного события.

В форме добавления вебхука необходимо указать коллбек URL, куда мы будем отправлять данные, выбрать нужные события, при наступлении которых будет срабатывать вебхук, ввести секретный ключ безопасности для исключения подделки запросов, добавить логин и пароль для HTTP Basic аутентификации (при необходимости), и выбрать формат отправляемых данных. На данный момент поддерживаются форматы JSON и FORM DATA, отправленные методом POST.

С каждым вебхуком будут отправляться следующие данные:

  • id — уникальный идентификатор произошедшего события;
  • signature — SHA1 хеш строки, состоящей из секретного ключа безопасности и id;
  • type — тип события;
  • date — дата и время, когда произошло событие;
  • try — порядковый номер попытки отправки данных на случай, если предыдущие были безуспешны;
  • data — массив или объект (в зависимости от выбранного формата данных), содержащий данные события;

При отправке запроса на коллбек URL, ваш сервер должен вернуть HTTP код 200, символизирующий об успешной обработке запроса. Все остальные коды будут расцениваться нашим сервисом как неудачные запросы, потому мы будем пытаться отправить его повторно. Повторные запросы будут отправлены через 1 минуту, затем через 3 минуты, потом через 5, 10, 15, 20, 30, 60 и 120 минут, т.е. мы будем пытаться доставить вам данные вебхука на протяжении 4.5 часа, после чего повторные попытки отправки данных будут прекращены. Вы также сможете сделать повторный вызов вебхука вручную, в панели пользователя.

Поддерживаемые типы событий:

Далее представлено описание структур данных, которые будут отправлены в параметре data в зависимости от типа события.

Получение статуса доставки SMS, отправленного по HTTP API

Поле Назначение
message_id Уникальный идентификатор сообщения, полученный при отправке
status Статус доставки
sent_date Дата и время отправки сообщения в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
dlr_date Дата и время генерации DLR в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
error_code Код ошибки оператора

Обычно коды ошибок соответствуют спецификации SMPP, но бывают исключения, когда у оператора может быть свой набор кодов ошибок. В таком случае мы можем дополнительно запрашивать назначение конкретного кода. Если Вас интересует причина отклонения сообщения, пожалуйста, свяжитесь с нашим отделом поддержки, и мы отправим уточняющий запрос оператору.


Описание значений поля status

Значение Описание
DELIVRD Сообщение доставлено получателю
READ Сообщение прочитано получателем (только для Viber сообщений)
EXPIRED Истек срок доставки сообщения
UNDELIV Не доставлено
REJECTD Сообщение отклонено

Получение статуса доставки SMS, отправленного по SQL

Поле Назначение
id Значение поля id в таблице пользователя
status Статус доставки
sent_date Дата и время отправки сообщения в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
dlr_date Дата и время генерации DLR в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
error_code Код ошибки оператора

Получение статуса доставки SMS, отправленного по SOAP

Поле Назначение
message_id Уникальный идентификатор сообщения, полученный при отправке
status Статус доставки
sent_date Дата и время отправки сообщения в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
dlr_date Дата и время генерации DLR в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
error_code Код ошибки оператора

Получение статуса доставки SMS, отправленного по SMPP

Поле Назначение
message_id Уникальный идентификатор сообщения, полученный при отправке
status Статус доставки
sent_date Дата и время отправки сообщения в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
dlr_date Дата и время генерации DLR в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
error_code Код ошибки оператора

Получение статуса доставки Viber, отправленного по HTTP API

Поле Назначение
message_id Уникальный идентификатор сообщения, полученный при отправке
status Статус доставки
sent_date Дата и время отправки сообщения в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
dlr_date Дата и время генерации DLR в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
channel Канал доставки сообщения: sms или viber
error_code Код ошибки Viber

Получение статуса доставки сессионного Viber сообщения

Поле Назначение
message_id Уникальный идентификатор сообщения, полученный при отправке
status Статус доставки
sent_date Дата и время отправки сообщения в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
dlr_date Дата и время генерации DLR в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС по киевскому часовому поясу
error_code Код ошибки Viber

Получение входящего Viber сообщения

Поле Назначение
id Уникальный идентификатор сообщения
chat_id id чата, в котором хранится переписка с клиентом, отправившим это сообщение
session_id Уникальный идентификатор сессии
received_date Дата и время получения сообщения
sender Название отправителя
number Номер телефона клиента
message Текст сообщения
file_id id отправленного файла, или 0
file_url URL отправленного файла
file_name Название отправленного файла

Ошибка