WebHooks

Общее

Swagger: https://api.radist.online/v2/docs#/Webhooks

Необходимые права доступа (scopes) для работы с API: webhooks

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

Подписка на вебхуки

https://api.radist.online/v2/docs#/Webhooks/WebhooksCreateItem

Для подписки на вебхуки необходимо задать адрес, на который они будут приходить, указать, для какого из подключений вы хотите получать вебхуки и указать список типов событий (event_type, описаны ниже), уведомления о которых вам нужны.

Формат вебхука

Общий формат такой:

{
  "company_id": 123,
  "event_type": "string",
  "event": {}
}

Содержимое event зависит от event_type:

event_type=messages.create:

Схема объекта message (см. модель Message): https://api.radist.online/v2/docs#/model-Message

event_type=messages.delivery.{delivered | read | error}:

event_type=connections.status_changed:

Замечания

  • Обрабатывайте вебхуки асинхронно. Сохранили в очередь, ответили, что приняли, и только потом обработали.

  • Тело ответа/заголовки ответа игнорируются. Рекомендуем сократить их до минимума.

  • На обновление настроек вебхуков может потребоваться до 5 минут. В течение этого времени вебхуки всё ещё могут приходить на ранее указанные адреса.

  • Сервер вебхуков ожидает ответ со статусами 200, 201, 202 в течение 5 секунд.

  • Если был получен ответ со статусом 4xx, то повторной отправки вебхука не будет.

  • Если был получен другой ответ, ответ был не получен за 5 секунд, или произошла другая ошибка (например, недействительный SSL-сертификат) то вебхук будет отправлен повторно с интервалами: 1, 3, 10, 30, 60 минут.

  • Если сервер не отвечает или отвечает статусами 5xx дольше 3 часов подряд, отправка вебхуков может быть временно приостановлена или отключена совсем.

Примеры

Last updated

Was this helpful?