Перейти к основному содержанию

Ошибки и поведение при повторных попытках

Ответы с неуспешным статусом используют следующую «обёртку»:
{
  "error": {
    "code": "SOME_CODE",
    "message": "Human-readable explanation",
    "issues": []
  }
}

Рекомендации по повторным попыткам

  • Повторяйте попытки при сбоях транспорта.
  • Повторяйте идемпотентные записи с тем же Idempotency-Key.
  • После асинхронной работы перечитывайте устойчивое состояние, вместо того чтобы считать первый ответ окончательным.

Практические правила

  • Рассматривайте серверные сбои как кандидатов на повтор только когда исходная запись использовала стабильный ключ идемпотентности.
  • Считайте новые URL для скачивания экспорта временными и при необходимости перечитывайте их через GET /exports/{exportId}.
  • Если мутация уже выполняется или конфликтует с текущим состоянием, проверьте возвращённый code и повторяйте только когда операция всё ещё логически безопасна.

Клиенты, читаемые машиной

Поставляемые Node.js SDK и CLI нормализуют ошибки в структурированные объекты с:
  • code
  • message
  • status
  • retryable
Это позволяет безопасно ветвить логику автоматизации без разбора строк в произвольном формате.