Термин API и надежность интеграций Средний

Idempotency

Idempotency — свойство операции: повторный запуск с теми же данными не должен создавать новый побочный эффект.

идемпотентность idempotent operation идемпотентная операция защита от дублей deduplication safe retry
Idempotency — это свойство операции, при котором повторное выполнение одного и того же действия приводит к тому же результату, но не создает лишних побочных эффектов.

Проще говоря, если запрос случайно повторился, система не должна создать второй платеж, вторую заявку, второе письмо, вторую сделку или второй заказ. Первый запуск выполняет действие, а повтор с теми же данными должен вернуть уже известный результат или безопасно подтвердить, что действие уже сделано.

Идемпотентность важна в API, очередях, webhook-ах, платежах, CRM-интеграциях и AI-агентах. Сети падают, пользователи нажимают кнопку дважды, backend делает retry, очередь переотправляет задачу, а агент может повторить tool call после таймаута. Без идемпотентности такие повторы превращаются в дубли и ошибки учета.

Idempotency key — один из популярных способов сделать write-операцию идемпотентной. Но сама идемпотентность шире: ее можно обеспечить уникальными ограничениями в базе, статусами операций, дедупликацией событий, проверкой существующих записей, транзакциями и журналом действий.

Примеры

  • Повторный запрос на оплату не создает второй платеж, а возвращает результат первой операции.
  • Webhook от CRM пришел дважды, но обработчик обновил задачу один раз.
  • AI-агент повторил создание тикета после таймаута, но backend нашел уже созданный тикет и не сделал дубль.
  • Операция “поставить статус Done” идемпотентна: повторный вызов оставит тот же статус.
  • Операция “добавить 100 рублей к балансу” не идемпотентна без защиты, потому что каждый повтор меняет итоговую сумму.

Где используется

  • Безопасные retry в API, очередях и workflow automation
  • Защита платежей, заказов, счетов и заявок от дублей
  • Надежная обработка webhook-событий
  • Контроль write-действий AI-агента через tool calling
  • Создание тикетов, сделок, задач и уведомлений без повторов
  • Интеграции с CRM, ERP, service desk и платежными системами
  • Audit log и расследование повторных операций

Связанные термины

Частые вопросы

Чем idempotency отличается от idempotency key?

Idempotency — это свойство операции: повтор не должен создавать новый эффект. Idempotency key — конкретный ключ, который помогает серверу распознать повтор той же операции.

Какие операции должны быть идемпотентными?

В первую очередь операции с побочным эффектом: платежи, создание заказов, отправка писем, создание тикетов, изменение статусов, запись в CRM и запуск задач.

Почему идемпотентность важна для AI-агентов?

AI-агент может повторить tool call после ошибки, таймаута или неуверенного ответа. Если write-инструменты неидемпотентны, агент легко создаст дубли или выполнит действие дважды.

Как проверить, что операция идемпотентна?

Нужно повторить один и тот же запрос несколько раз и убедиться, что состояние системы не меняется после первого успешного выполнения, а результат повторов предсказуем.

Где читать дальше

Статьи по теме

Инструменты

Связанные инструменты