GREMDocs

Идемпотентность

Последнее обновление: 2026-07-211 мин чтения

Сетевые вызовы иногда падают. Чтобы повторить POST и не выполнить (и не оплатить) работу дважды, передавайте ключ идемпотентности — уникальное значение на каждую логическую операцию (хорошо подходит UUID).

curl -X POST https://developers.grem.capital/api/v1/valuation/express \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 3f1c8a90-1e2b-4c77-9a10-2b6d0f9e4a11" \
  -d '{"propertyCategory":"apartment","totalArea":50}'

Как это работает

  • Первый запрос с данным ключом выполняется обычно, а его результат кэшируется.
  • Повтор с тем же ключом возвращает исходный результат — инструмент не запускается повторно и повторно не списывается.
  • Если первый запрос ещё выполняется, повтор вернёт 409 (конфликт идемпотентности) — подождите и повторите.

Ключи помнятся 24 часа.

Используйте новый ключ для каждой отдельной операции. Повторное использование одного ключа для реально разных запросов вернёт для всех них результат первого.

Эта статья была полезной?