Используйте устойчивый бизнес-ключ события и идемпотентное изменение состояния. Если источник не даёт уникального ID, одной проверки HTTP-запроса недостаточно.
Как обрабатывать дублирующиеся webhook-события, если сервис-отправитель не гарантирует уникальность?
Используйте устойчивый бизнес-ключ события и идемпотентное изменение состояния. Если источник не даёт уникального ID, одной проверки HTTP-запроса недостаточно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Используйте устойчивый бизнес-ключ события и идемпотентное изменение состояния. Если источник не даёт уникального ID, одной проверки HTTP-запроса недостаточно.
Можно опереться на ID объекта, тип события и версию состояния, если контракт гарантирует их смысл. Хеш нормализованного payload помогает только при чётких правилах: два законных одинаковых события не всегда дубликаты. При нехватке гарантий сверяйте актуальное состояние с источником. Сохранение события и бизнес-эффекта должно переживать повторы и сбои между шагами.