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

Создание webhook

POST 

/api/v1/webhooks

Регистрирует URL для получения callback-ов о результатах доставки. Привязывается к интеграции из JWT токена (одна интеграция = один webhook). Зарегистрируйте webhook до отправки уведомления. Ошибка 400, если webhook уже зарегистрирован (используйте PUT для обновления) или URL не прошёл проверку; 404 — интеграция не найдена или отключена; 409 — конфликт параллельных изменений. Требуется scope webhook.

Request​

Responses​

OK

Callbacks​

POST 

{$request.body#/url}

Сервис отправляет POST-запрос на URL клиента (значение поля url из тела POST /api/v1/webhooks). Срабатывает один раз на нотификацию — когда она достигает терминального статуса (DELIVERED при успешной доставке или FAILED для всех остальных случаев).

Связка с исходным запросом — по полю notificationId, которое равно тому, что вернул POST /api/v1/notifications в теле SendNotificationResult.

Retry-политика. При ответе 5xx, 408, 429 или сетевой ошибке callback ретраится до 8 раз с exponential backoff (waits 10s, 20s, 40s, 80s, 160s, 320s, 640s, 1280s; полное окно ≈ 42 минуты). При остальных 4xx-ответах событие помечается permanent и не ретраится. Клиент должен ответить любым 2xx чтобы подтвердить получение.

Callbacks Responses​

Клиент успешно принял событие. Подтверждение получено, retry не запускается.