Приём, опрос и доставка событий

Вебхуки, которые не теряются

Принимаем уведомления о платежах, опрашиваем API маркетплейсов и доставляем события в ваш бэкенд. Если получатель недоступен, сохраняем подходящие под его фильтры события и повторяем доставку по расписанию.

Без карты: один эндпоинт и 10 000 событий в месяц для отправки через API.

payment.succeeded
Доставлено

CloudPayments → api.shop.example/hooks/payments

  1. 112:00:03сразу после приёма503
  2. 212:01:09через минуту503
  3. 312:06:31через 5 минутtimeout
  4. 412:41:07через 30 минут200 OK

Пример. Сервер получателя не отвечал сорок минут, событие дошло с четвёртой попытки. Всего попыток восемь, они растягиваются почти на двое суток.

От события до вашего бэкенда

Выберите, откуда приходят события. Приём, хранение и повторные попытки видны в одном кабинете.

Принимать уведомления о платежах

Укажите адрес HookPilot у платёжного провайдера. Принятые события сохраняются, а доставка в ваш бэкенд повторяется при ошибках.

Платёжный сервис → HookPilot → ваш бэкенд

Подключить ЮKassa →

Превращать ответы API в вебхуки

Подключение опрашивает API маркетплейса по расписанию. HookPilot находит изменения и отправляет их вебхуками на выбранный эндпоинт.

API маркетплейса → опрос → вебхук в вашу систему

Как работает опрос Яндекс Маркета →

Отправлять события своим клиентам

Создайте эндпоинт получателя и отправьте подписанный запрос. HookPilot берёт на себя очередь, повторные попытки и историю доставки.

Ваше приложение → HookPilot → эндпоинт клиента

Отправить первое событие →

Посмотрите, что происходит при сбое

Пройдите от первой ошибки до успешной доставки. Откройте ответ получателя и посмотрите историю попыток на тестовом событии.

ДЕМОНСТРАЦИЯ · ТЕСТОВЫЕ ДАННЫЕ

payment.succeeded

CloudPayments → api.shop.example/hooks/payments

Ожидает повтора

Событие сохранено. Получатель ответил 503, поэтому доставка будет повторена.

IDСтатусHTTPДлительность, мсВремя попытки, МСКСоздано, МСК
demo-attempt…Ошибка50314224.09.2026, 12:00:0024.09.2026, 12:00:00
Тело тестового события
{"order_id":123,"total":"99.90"}

Переключение этапов не отправляет запросы и не создаёт события. В реальной доставке интервалы повторов задаются расписанием.

Повторить на своём эндпоинте →

Надёжность с понятными условиями

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

Доставка

  • Повторы с растущей задержкой

    До восьми попыток: через минуту, пять минут, полчаса и дальше до суток. К интервалам добавляется разброс, чтобы упавший эндпоинт не получил всю очередь одним залпом.

    Расписание повторов
  • Пауза доставки при сбое

    После пяти ошибок за час эндпоинт отключается. Новые подходящие события сохраняются; включить получателя после устранения сбоя нужно вручную.

    Автопауза эндпоинта
  • Повтор из истории

    Сохранённое событие можно отправить повторно, пока не истёк срок хранения: от 3 дней на Free. После восьми неудачных попыток повтор запускается вручную.

    Повторная отправка события
  • Один источник — несколько адресатов

    Событие от провайдера расходится на любое число эндпоинтов: основной бэкенд, аналитика, стенд для отладки.

Безопасность

  • Проверка подписи провайдера

    Т-Банк, CloudPayments и обобщённый HMAC. Чужое событие с неверной подписью до вашего бэкенда не доходит.

  • Подпись запросов и ротация секрета

    Событие, которое вы отправляете в HookPilot, подписано HMAC-SHA256 по секрету эндпоинта. Секрет меняется без простоя: старый продолжает действовать заданное окно.

    Ротация подписывающего секрета
  • Защита от запросов во внутреннюю сеть

    Адрес эндпоинта проверяется после разрешения имени, и запрос уходит на тот же адрес. Подменить его между проверкой и запросом нельзя.

    Требования к URL эндпоинта
  • Ключи поставщиков под шифрованием

    Доступы к чужим API хранятся зашифрованными и в кабинете больше не показываются — ни в списке подключений, ни в форме правки.

  • API-ключи с ограниченными правами

    Ключ выдаётся под задачу: читать вебхуки, править эндпоинты, смотреть аудит. Интеграция для чтения не сможет изменить состав команды.

Контроль

  • Фильтр по содержимому

    Эндпоинт получает только нужные события: отбор идёт и по типу события с шаблонами, и по значениям внутри полезной нагрузки.

    Подписка на типы событий и маски
  • История, статистика и аудит

    Попытки, коды ответов, время отклика по каждому эндпоинту и журнал действий команды. Срок хранения задаётся тарифом.

    Статусы событий и попыток
  • Поддержка и база знаний

    Тикеты с перепиской в реальном времени и статьи прямо в кабинете. Срок ответа — от суток на Starter до двух часов по договору.

    Открыть базу знаний

Проверьте сервис до подключения

Текущая доступность

Открытая проверка сервисов с временем последнего запроса. Статус проверки не заменяет историю доступности или SLA.

Посмотреть статус →

Данные и сроки хранения

По политике сервиса персональные данные обрабатываются в России. История событий хранится от 3 до 365 дней в зависимости от тарифа.

Политика обработки данных →

Восстановление после сбоя

Сохранённые события можно повторить из истории. Резервное копирование инфраструктуры не продлевает срок хранения события в кабинете.

Как повторить доставку →

Одно событие — один запрос

Чтобы отдать событие своим клиентам, вы отправляете один POST в HookPilot. Тело подписано HMAC-SHA256 по секрету эндпоинта, дубли отсекаются по идентификатору события, доставка и повторы дальше наша забота.

HTTPPOST /delivery/callback/<id эндпоинта>
POST /delivery/callback/<id эндпоинта> HTTP/1.1
Host: api.hookpilot.ru
Content-Type: application/json
X-HookPilot-Event-Id: 0f0d1f5e-1d0f-4a5e-9f1a-2b3c4d5e6f70
X-HookPilot-Event: order.created
X-HookPilot-Timestamp: 1767225600
X-HookPilot-Signature: hmac_sha256(timestamp + "." + body, secret)

{
  "payload": {"order_id": 123, "total": "99.90"},
  "headers": {"X-Order-Source": "shop"}
}

Выберите тариф под вашу схему интеграции

Подключение опрашивает внешнее API, источник принимает входящие вебхуки, а эндпоинт задаёт адрес получателя. Их количество суммируется: например, на Starter можно создать одно подключение и два эндпоинта или два подключения и один эндпоинт. Источник входящих вебхуков учитывается так же, как подключение. Автоматически созданный источник подключения отдельно не считается.

В цену включён месячный объём событий. На платных тарифах сверх лимита оплачивается каждая начатая тысяча. Приём продолжается, пока команда не приостановлена за долг.

Free

0 ₽в месяц

Попробовать на реальном трафике. Без карты.

Подключения, источники и эндпоинты
1 всего
Участники
1
События
10 000
Хранение
3 дня
Перерасход
приём на паузе до нового месяца
Начать

Starter

2 900 ₽в месяц

Первый продакшен: несколько интеграций и живой трафик.

Подключения, источники и эндпоинты
3 всего
Участники
3
События
100 000
Хранение
14 дней
Перерасход
25 ₽ / 1 000
Выбрать Starter

Growth

Популярный

9 900 ₽в месяц

Когда вебхуки в критическом пути, а интеграций уже много.

Подключения, источники и эндпоинты
15 всего
Участники
10
События
500 000
Хранение
30 дней
Перерасход
14 ₽ / 1 000
Выбрать Growth

Scale

29 900 ₽в месяц

Много интеграций, высокие объёмы и требования к доступности.

Подключения, источники и эндпоинты
50 всего
Участники
без ограничений
События
2 000 000
Хранение
90 дней
Перерасход
9 ₽ / 1 000
Выбрать Scale

Примеры схем интеграции

ЮKassa → ваш бэкенд

Один источник принимает вебхуки ЮKassa, один эндпоинт отправляет их в ваш бэкенд.

Два маркетплейса → учётная система

Два подключения опрашивают API маркетплейсов, один общий эндпоинт отправляет события в учётную систему.

Ваш сервис → три клиента

Три эндпоинта — по одному для каждого клиента. Вы отправляете события напрямую через API, подключения и источники не нужны.

Считается создание доставки в конкретный эндпоинт: одно событие для трёх получателей — три единицы. Автоматические попытки и ручной повтор существующей доставки повторно не оплачиваются. Если повтор создаёт доставку новому получателю, она считается впервые.

Подробнее об учёте и перерасходе →

Enterprise

По договору

Без ограничений по подключениям и участникам, хранение и повтор до года, SLA 99.95% и реакция за два часа, SSO и RBAC, преобразование нагрузки и экспорт логов, персональный менеджер.

Нужна установка на вашем сервере?

HookPilot работает в вашем контуре с локальной проверкой лицензии. От 480 000 ₽ в год; внедрение отдельно. Состав поставки, требования и условия — на странице коробочной версии.

Установка в свой контур

Частые вопросы

Остальное — в базе знаний или в поддержке.

База знаний
Что произойдёт, если мой сервер не отвечает?

Всего до восьми попыток: первая сразу, затем повторы через минуту, пять минут, полчаса, два часа, шесть, двенадцать и двадцать четыре часа. Попытки растягиваются почти на двое суток. При массовых ошибках эндпоинт нужно включить вручную после исправления получателя. Если событие так и не дошло, оно остаётся в истории на срок хранения тарифа, и его можно отправить заново вручную.

Расписание повторов
Что будет при превышении лимита событий?

На Free создание новых доставок при исчерпании лимита отвечает 429 до нового месяца. На платных тарифах каждая начатая тысяча сверх лимита оплачивается отдельно. При отрицательном балансе после льготного периода приём приостанавливается. Уже принятые события продолжают доставляться.

Чем подключение отличается от эндпоинта и как считается лимит?

Подключение опрашивает внешнее API, источник принимает входящие вебхуки, а эндпоинт задаёт адрес получателя. На Starter их может быть не больше трёх суммарно. Например: одно подключение к Яндекс Маркету и два эндпоинта — для CRM и вашего сервера. Если эндпоинт только один, можно добавить ещё одно подключение, источник или эндпоинт. Автоматически созданный источник подключения отдельно не считается. Free подходит для прямой отправки через API в один эндпоинт; для подключения или источника вместе с эндпоинтом нужен Starter.

Как не получить одно событие дважды?

При приёме дубли отсекаются по идентификатору события: повторная отправка с тем же event_id не создаст второй вебхук. На стороне приёмника мы советуем хранить обработанные идентификаторы, потому что повтор после таймаута может прийти уже после того, как вы успели обработать первый запрос.

Идемпотентность
Как приёмник поймёт, что запрос пришёл от HookPilot?

Задайте эндпоинту пользовательский заголовок с общим секретом: HookPilot добавит его к каждому запросу, а ваш приёмник сравнит значение. Держите адрес приёмника неугадываемым и не принимайте запросы без заголовка.

Как правильно принимать вебхуки
Нужна ли карта, чтобы начать?

Нет. Бесплатный тариф не требует карты и не ограничен по времени. Платные тарифы оплачиваются с баланса команды, который пополняется в кабинете.

Сколько стоит установка в свой контур?

Лицензия выдаётся на год, от 480 000 ₽ в зависимости от уровня: он задаёт число подключений и участников, объём событий, срок хранения и время реакции поддержки. Обновления входят в лицензию. Внедрение силами нашей команды — отдельная разовая услуга, обычно один рабочий день.

Что нужно, чтобы получить лицензию на свой контур?

Домен кабинета и идентификатор инсталляции. Идентификатор печатает установщик одной командой на будущем хосте. Лицензия привязывается к этой паре и проверяется на месте, без обращения к нам.

Что нужно на сервере под свой контур?

Linux с Docker Engine 24 и Docker Compose v2, 4 vCPU и 8 ГБ памяти на скромный поток, свободные порты 80 и 443 и два имени: домен кабинета и домен админки. Оба могут быть внутренними, сертификаты выпускаются сами. Postgres и Redis идут в комплекте, но можно подключить свои.

Заведите первый канал за десять минут

Начните с одного эндпоинта и отправки через API: до 10 000 событий в месяц без карты.

Начать бесплатно