Визначте ідентичність операції
Оберіть стабільний ключ: наприклад, ID замовлення разом із типом дії. Збережіть його до відправлення та захистіть унікальним обмеженням у базі. Перевірка «чи існує запис» без такого обмеження може програти двом одночасним запитам. Повтор тієї самої операції має повертати вже відомий результат.
Далі за темою: Дублікати заявок у CRM: повторна доставка чи нове звернення.
Розділіть помилки й невідомий результат
Помилка валідації потребує виправлення даних, а тимчасова недоступність — контрольованого повтору. Якщо результат невідомий, спочатку перевірте зовнішню систему за переданим ID, якщо її API це дозволяє. Не припускайте, що будь-який провайдер підтримує заголовок Idempotency-Key: це треба підтвердити в його документації.
Далі за темою: OpenCart і KeyCRM: перевірка передачі замовлення.
Перевірте конкурентне виконання
На тестовому середовищі надішліть дві однакові події одночасно, повторіть їх після тайм-ауту та перезапуску worker. Очікуваний результат: одна бізнес-операція й зрозумілий журнал спроб. Визначте строк зберігання ключів, кількість повторів та шлях ручного розбору нерозв’язаних випадків.
Далі за темою: ШІ в бізнес-процесі: як перевірити користь до повної автоматизації.
Чи достатньо автоматичного retry HTTP-клієнта?
Ні. Він повторює транспортний запит, але без окремих правил не гарантує, що бізнес-дія виконається лише один раз.