Reference

Идемпотентные запросы

Сети могут выходить из строя. Если запрос на отправку тайм-аутится, вы не можете знать, был ли он принят. Отправляйте POST /v1/messages и POST /v1/batches с заголовком Idempotency-Key и повторяйте с тем же ключом.

curl https://bulksmsapi.cc/v1/messages \
  -H "Authorization: Bearer $BULKSMSAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-55102-shipped" \
  -d '{"to": "+14155550123", "text": "Order 55102 has shipped."}'

Правила

  • Ключ, это любая строка длиной до 255 символов. Используйте что-то, что идентифицирует событие: идентификатор заказа и шаг, или UUID, созданный перед первой попыткой.
  • Принятый запрос (202) запоминается на 24 часа для каждого аккаунта. Тот же ключ с тем же телом возвращает первый ответ снова, с заголовком Idempotent-Replayed: true, и ничего не отправляет.
  • Тот же ключ с другим телом возвращает ответ 409 idempotency_conflict.
  • Запросы, завершившиеся ошибкой, не запоминаются, поэтому вы можете исправить их и повторить с тем же ключом.
Идемпотентные запросы | Документация BulkSMSAPI