Главная · Каталог задач · Безопасная обработка webhook

Готовый сценарий

Безопасная обработка webhook

Webhook приходит повторно, может опоздать и не обязан соблюдать порядок. Модель сначала проверит подпись по исходным байтам, сохранит внешний идентификатор под уникальным ограничением и быстро подтвердит приём. Бизнес-обработка уйдёт в очередь, а повтор того же события вернёт успех без второго списания или письма.

Попробуйте прямо здесь Отвечает Gemma 3 12B — модель подобрал сервис

Открыть в полном чате

  • Доступ без VPN
  • Русский интерфейс
  • Оплата рублями по факту

Зачем

Зачем это нужно

01

Проверяет подпись до разбора и изменения исходного тела запроса

02

Фиксирует внешний event id атомарно и не выполняет повторный побочный эффект

03

Отвечает в срок отправителя, перенося тяжёлую работу в надёжную очередь

Вопросы

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

Почему подпись не совпадает после JSON parse?

Подпись рассчитана по точной последовательности байтов, а повторная сериализация меняет пробелы, порядок или экранирование. Нужен raw body до middleware разбора. Модель покажет, как сохранить его в вашем фреймворке и затем отдельно распарсить уже после успешной проверки.

Как защититься от повторной отправки?

Сохранить уникальный id события до побочного эффекта и сделать обработчик идемпотентным. Для защиты от старого перехваченного запроса дополнительно проверяют timestamp в допустимом окне. Модель использует уникальное ограничение базы, потому что два параллельных повтора обходят обычный предварительный SELECT.

Что возвращать при внутренней ошибке?

Если событие надёжно сохранено и будет обработано позже, можно подтвердить приём. Если сохранить не удалось, верните ошибку, чтобы отправитель повторил. Модель разделит транспортное принятие и бизнес-статус, а окончательный отказ попадёт в очередь ручной обработки с исходным event id.

Рядом

Дальше — весь каталог задач: поиск по названию, темы и фильтры.

Нужно больше

Весь Енотик — в одном окне

Полный чат: история, вложения, базы знаний, картинки и видео. Один баланс на все модели, оплата рублями по факту.