Безопасные повторы
Когда соединение обрывается, вы не можете знать, прошёл ли заказ. Поэтому отправьте его снова: в течение 7 дней один и тот же Idempotency-Key означает один и тот же заказ, и списание происходит один раз.
Как это работает
POST /orders требует заголовок Idempotency-Key: до 200 символов ASCII без пробелов, которые вы придумываете сами и храните в своей записи о заказе. Хорошо подойдёт UUID. Для нового заказа используйте новый Idempotency-Key.
curl -X POST "https://api.talismanleads.io/v1/orders" \
-H "Authorization: Bearer tl_live_your_key_here" \
-H "Idempotency-Key: crm-export-2026-11-05" \
-H "Content-Type: application/json" \
-d '{"checker":"whatsapp_status_detection","entries":["+14155550142","+12125550187"]}'Что вы получите в ответ
201 и новый заказ.200, тот же заказ и Idempotent-Replay: true. Больше ничего не списывается, даже если цена с тех пор изменилась.order_status_unknown или rate_limited.409 idempotency_conflict. Заказ не размещается.insufficient_balance409 price_changed, а с новым Idempotency-Key заказ размещается по новой цене.Когда результат неизвестен
Любой потерянный ответ, order_status_unknown и ответ не в формате JSON, например 502 или 504 от шлюза, означают одно и то же: повторите запрос с тем же Idempotency-Key, чтобы узнать фактическое состояние. Двойного списания при этом никогда не будет. Никогда не создавайте новый Idempotency-Key из-за того, что запрос завершился по тайм-ауту или с ошибкой: это новый заказ, и за него будут списаны средства.
Делайте между повторами паузу в минуту. Если через несколько минут ответ по-прежнему order_status_unknown, остановитесь и обратитесь в поддержку, указав request_id. Не создавайте новый Idempotency-Key.
Сколько действует Idempotency-Key
Idempotency-Key запоминается на 7 дней с момента первой отправки. После этого тот же Idempotency-Key размещает новый заказ, поэтому повторяйте запрос в течение нескольких дней, а для каждого нового заказа используйте новый Idempotency-Key.