Почему повтор webhook создаёт дубли сделок

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

Почему повтор webhook создаёт дубли сделок — рабочая ситуация по теме статьи

Повторный webhook почти всегда означает, что ваш сервер не подтвердил получение достаточно быстро в первый раз, и отправитель решил, что запрос не дошёл.

Решение — идемпотентный ключ на уровне сделки

Проверяйте по ID события из вебхука, не создана ли уже сделка по этому событию, прежде чем создавать новую. Храните обработанные ID в базе с уникальным индексом — попытка вставить дубль вызовет ошибку, которую легко перехватить как «уже обработано».

Отвечайте быстрее

Подтверждайте получение (200 OK) сразу, до тяжёлой обработки — если обработка занимает секунды, а не миллисекунды, вынесите её в очередь, чтобы не провоцировать повторную отправку из-за таймаута на стороне источника.

FAQ

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

01Можно применить рекомендации из статьи к существующему проекту?

Да. Если сайт, реклама или интеграция уже работают, сначала проверяем текущую реализацию и предлагаем изменения без обязательной полной переделки.

02Сколько стоит связанная работа?

Стартовая стоимость услуги «Вебхуки и событийные интеграции» — От 15 000 ₽. Точная оценка зависит от текущего проекта и объёма изменений.

03Что прислать для оценки?

Ссылку на сайт или сервис, короткое описание проблемы и пример ожидаемого результата. Доступы и подробное ТЗ для первого ответа обычно не нужны.

Дальше

Ещё материалы по теме

Вопрос по проекту

Покажите текущую ситуацию

Ссылка и короткое описание обычно полезнее длинного ТЗ. Мы увидим тему статьи в источнике заявки и не заставим повторять контекст.

Связаться

Старт

Можно прийти
просто с задачей.

Без готового ТЗ. Достаточно описать, что нужно запустить, исправить или связать.

Получить оценку

Коротко опишите задачу