ru

Вебхуки

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

Ошибка