Идемпотентность API
После потери ответа повторный запрос не должен создавать вторую оплату или заказ.
Проверено Изменено
Плохо
Тайм-аут → новый requestId → повторное списание.
Хорошо
Тайм-аут → тот же Idempotency-Key.
Сервер узнаёт операцию и возвращает её результат.
Почему это важно
Сетевой тайм-аут не сообщает, успел ли сервер выполнить действие.
Когда применять
Ключ связан с пользователем, операцией и содержимым. Другое содержимое под тем же ключом — конфликт. Срок хранения ключей документируется. Idempotency-Key — контракт конкретного API, а не обязательный заголовок RFC 9110. После истечения срока дедупликации повтор может стать новой операцией.
Кто что делает
Человек
Определяет, что считать одной операцией и как долго хранить её результат.
AI-агент
Реализует серверный контракт и проверяет успешный запрос, неверный ввод и повторное обращение.
Контроль результата:
- Повторите запрос одновременно и после потери ответа.
Как проверить у себя
- Повторите запрос одновременно и после потери ответа.
Первоисточники
История изменений на GitHubДата проверки отражает содержательную сверку. Синхронизация сайта не обновляет её автоматически.