Сетевые вызовы иногда падают. Чтобы повторить 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 часа.
Используйте новый ключ для каждой отдельной операции. Повторное использование одного ключа для реально разных запросов вернёт для всех них результат первого.