Перейти к содержанию

История доставок

Для каждого webhook сохраняется лог попыток доставки — это удобный инструмент для диагностики и сверки.

Запрос

curl "https://gateway.pert.paranoid.security/api/v1/webhooks/$WEBHOOK_ID/deliveries?limit=20&offset=0" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Workspace-Id: $WORKSPACE_ID"

Параметры запроса

Параметр Тип По умолчанию Описание
limit int 20 Размер страницы (1–100)
offset int 0 Смещение от начала

Ответ

{
  "items": [
    {
      "id": "delivery-uuid",
      "event_id": "event-uuid",
      "event_type": "transaction.created",
      "category": "Transactions",
      "status": "success",
      "response_status_code": 200,
      "attempt_number": 1,
      "created_at": "2026-04-23T10:15:30Z",
      "completed_at": "2026-04-23T10:15:31Z"
    }
  ],
  "total_count": 145,
  "limit": 20,
  "offset": 0
}

Поля записи доставки

Поле Тип Описание
id UUID Идентификатор записи доставки
event_id UUID Идентификатор события
event_type string Тип события
category string Категория события
status string Статус доставки (см. ниже)
response_status_code int HTTP-код ответа вашего сервера, если был получен
error_message string Текст ошибки доставки, если есть
attempt_number int Номер попытки (1 — первая доставка, 2+ — retry)
created_at string Время первой попытки (ISO 8601)
completed_at string Время финального статуса (success или failed)

Статусы доставки

Статус Что означает
pending Доставка в процессе (запрос отправлен, ответа ещё нет)
success Сервер ответил кодом 2xx
retrying Доставка не удалась, запланирована следующая попытка
failed Окончательно неуспешная доставка (исчерпано окно retry или прерван retry-цикл)

Что хранится в логе

  • HTTP-код ответа вашего сервера и первые 4 КБ тела ответа — для каждой попытки.
  • Текст ошибки (тайм-аут, отказ TLS, неразрешимый DNS и т. п.).
  • Номер попытки и время.

Используйте для разбора инцидентов

Если ваш мониторинг показал отсутствие событий — сравните total_count с ожидаемым числом, отфильтруйте по статусу failed и посмотрите error_message. Чаще всего проблема в одном из:

- истёкший TLS-сертификат;
- изменившийся URL после деплоя;
- блокировка балансировщиком/WAF;
- превышен таймаут 10 секунд.