Chuyển đến nội dung chính

Lỗi và hành vi thử lại

Các phản hồi không thành công dùng envelope sau:
{
  "error": {
    "code": "SOME_CODE",
    "message": "Human-readable explanation",
    "issues": []
  }
}

Hướng dẫn thử lại

  • Thử lại các lỗi truyền tải.
  • Thử lại các ghi idempotent với cùng Idempotency-Key.
  • Đọc lại trạng thái bền vững sau công việc bất đồng bộ thay vì giả định phản hồi đầu tiên là đầy đủ.

Quy tắc thực tế

  • Chỉ coi các lỗi phía máy chủ là ứng viên để thử lại khi lần ghi ban đầu dùng một khóa idempotency ổn định.
  • Coi các URL tải xuống export mới là tạm thời và đọc lại chúng từ GET /exports/{exportId} khi cần.
  • Nếu một mutation đã đang diễn ra hoặc xung đột với trạng thái hiện tại, hãy kiểm tra code được trả về và chỉ thử lại khi thao tác vẫn còn an toàn về mặt logic.

Client đọc được bằng máy

Node.js SDK và CLI được phát hành chuẩn hóa lỗi thành các đối tượng có cấu trúc với:
  • code
  • message
  • status
  • retryable
Điều đó giúp an toàn khi rẽ nhánh logic tự động hóa mà không cần phân tích các chuỗi dạng tự do.