Визначте ідентичність операції

Оберіть стабільний ключ: наприклад, ID замовлення разом із типом дії. Збережіть його до відправлення та захистіть унікальним обмеженням у базі. Перевірка «чи існує запис» без такого обмеження може програти двом одночасним запитам. Повтор тієї самої операції має повертати вже відомий результат.

Далі за темою: Дублікати заявок у CRM: повторна доставка чи нове звернення.

Розділіть помилки й невідомий результат

Помилка валідації потребує виправлення даних, а тимчасова недоступність — контрольованого повтору. Якщо результат невідомий, спочатку перевірте зовнішню систему за переданим ID, якщо її API це дозволяє. Не припускайте, що будь-який провайдер підтримує заголовок Idempotency-Key: це треба підтвердити в його документації.

Далі за темою: OpenCart і KeyCRM: перевірка передачі замовлення.

Перевірте конкурентне виконання

На тестовому середовищі надішліть дві однакові події одночасно, повторіть їх після тайм-ауту та перезапуску worker. Очікуваний результат: одна бізнес-операція й зрозумілий журнал спроб. Визначте строк зберігання ключів, кількість повторів та шлях ручного розбору нерозв’язаних випадків.

Далі за темою: ШІ в бізнес-процесі: як перевірити користь до повної автоматизації.

Чи достатньо автоматичного retry HTTP-клієнта?

Ні. Він повторює транспортний запит, але без окремих правил не гарантує, що бізнес-дія виконається лише один раз.

Документація та джерела