Свойство операции давать один и тот же результат при повторном выполнении с теми же данными.
Почему это важно здесь
Большинство систем обмена гарантируют доставку «хотя бы один раз», а не «ровно один раз». Без защиты от повторов появляются задвоенные списания, начисления и отгрузки.
Пример
Сообщение о платеже пришло дважды из-за повторной попытки. Система распознаёт его по идентификатору и не проводит второе списание.
Разбор на примере
Запрос «создать платёж на 1000 тенге» при повторной отправке из-за сбоя сети может создать второй платёж. Идемпотентный запрос с уникальным ключом создаст платёж один раз, сколько бы его ни повторяли.
Почему важно
В интеграциях повторы неизбежны: таймауты, сбои, повторная отправка сообщений. Без идемпотентности появляются дубли заказов, платежей и записей.
Что спросить у поставщика
Поддерживает ли API ключи идемпотентности и как обрабатываются повторные события.
Почему это важно
Операция идемпотентна, если её повторное выполнение даёт тот же результат, что и первое. В интеграциях запросы иногда повторяются из-за сбоев сети: без идемпотентности клиент может получить два одинаковых заказа или двойное списание.
| Операция | Идемпотентна? | Риск при повторе |
|---|---|---|
| Получить данные о клиенте | Да | Нет |
| Установить статус «оплачен» | Да | Нет |
| Создать новый заказ | Нет, если не защищено | Дубликат заказа |
| Списать деньги | Нет, если не защищено | Двойное списание |
Как обеспечивают
- Уникальный ключ операции: повтор с тем же ключом не создаёт новую запись.
- Проверка «уже выполнено» перед выполнением.
- Очереди с гарантией однократной обработки.
Частые вопросы
Рядом
Очередь сообщений, Событийная архитектура, Сверка данных
Материал обновлён 17 октября 2026
