Настройте вебхуки, чтобы оперативно получать от нас данные при наступлении каких-либо событий, например, при получении статусов доставки или входящего 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 |
Название отправленного файла |