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

Создание webhook

POST 

/api/v1/webhooks

Регистрирует URL для получения callback-ов о результатах доставки. Привязывается к клиенту из JWT токена (один клиент = один webhook). Ошибка 400, если webhook уже зарегистрирован (используйте PUT для обновления). Требуется 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 не запускается.