Справочник по Webhook
Схемы данных событий и настройка Webhook
Справочник по Webhook
Webhook отправляют HTTP-запросы POST на ваш эндпоинт, когда в Umbrella происходят события, поэтому вам не нужно периодически опрашивать API в поисках изменений.
Настройка
- Откройте Панель управления > Настройки > Интеграции > Webhook
- Нажмите Добавить эндпоинт Webhook
- Введите URL вашего эндпоинта HTTPS
- Выберите события, которые хотите получать
- Сохраните и надёжно сохраните секрет подписи (он показывается только один раз)
Ваш эндпоинт должен принимать запросы POST, возвращать статус 2xx в течение 30 секунд и принимать application/json.
Типы событий
События полисов
| Событие | Описание |
|---|---|
policy.created | Покупатель приобрёл гарантию |
policy.activated | Статус полиса изменился на «активен» |
policy.expired | Полис достиг даты окончания |
policy.cancelled | Полис отменён (возврат средств или действие продавца) |
policy.voided | Полис аннулирован (отмена заказа или чарджбэк) |
События заявок
| Событие | Описание |
|---|---|
claim.submitted | Покупатель подал заявку |
claim.approved | Продавец одобрил заявку |
claim.denied | Продавец отклонил заявку |
claim.resolved | Заявка полностью урегулирована |
claim.evidence_uploaded | К заявке приложены доказательства |
События регистрации
| Событие | Описание |
|---|---|
registration.submitted | Отправлена регистрация товара |
registration.approved | Регистрация одобрена |
registration.denied | Регистрация отклонена |
События гарантий
| Событие | Описание |
|---|---|
warranty.created | Создан новый гарантийный план |
warranty.updated | Гарантийный план изменён |
warranty.activated | Гарантийный план активирован |
warranty.deactivated | Гарантийный план деактивирован |
Структура данных
Каждый Webhook использует такую обёртку:
{
"id": "evt_a1b2c3d4e5f6",
"type": "claim.submitted",
"timestamp": "2025-03-15T14:30:00.000Z",
"apiVersion": "1.3.9",
"orgId": "org_xyz789",
"data": { ... }
}
id— уникальный ID события (используйте для дедупликации)type— тип событияtimestamp— когда произошло событиеdata— данные конкретного события со сведениями о соответствующем ресурсе (полис, заявка, регистрация и т. д.)
Проверка подписи
Каждый запрос содержит заголовок X-Umbrella-Signature с хешем HMAC-SHA256 тела запроса. Проверяйте его перед обработкой событий.
const crypto = require('crypto');
function verifyWebhookSignature(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload, 'utf8')
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
Повторные попытки
Неудачные доставки (статус не 2xx, тайм-аут, ошибка соединения) повторяются с экспоненциальной задержкой:
| Попытка | Задержка |
|---|---|
| 2-я | 1 минута |
| 3-я | 5 минут |
| 4-я | 30 минут |
| 5-я | 2 часа |
| 6-я | 6 часов |
| 7-я (последняя) | 12 часов |
После 7 неудачных попыток доставка помечается как неудачная. Ответ 410 Gone навсегда отключает эндпоинт.
Тестирование
- Откройте Панель управления > Настройки > Интеграции > Webhook
- Выберите свой эндпоинт и нажмите Отправить тестовое событие
- Выберите тип события и проверьте результат доставки
На странице Webhook также отображается журнал последних доставок с кодами статуса и временем.
id события для дедупликации, так как при повторных попытках одно и то же событие может прийти несколько раз.
Связанные материалы
- Аутентификация — безопасность API и учётные данные
- API заявок — эндпоинты для управления заявками
- API полисов — эндпоинты для управления полисами


