Bỏ qua, tới nội dung chính

Khái niệm

Lỗi

Mọi lỗi là một mã có kiểu kèm mã HTTP và cờ thử lại — giống nhau trên HTTP, MCP, SDK và CLI.

Xem dạng Markdown

Lỗi có một dạng duy nhất:

json
{
  "error": { "code": "BUSY", "message": "profile already has a live session", "retryable": true, "details": { "session_id": "…" } },
  "correlation_id": "6f1c…"
}

Rẽ nhánh theo code, đừng theo message. details mang dữ kiện có kiểu khi có (phiên đang bận, trường bị sai, giới hạn đã chạm). Gửi kèm correlation_id khi liên hệ hỗ trợ hoặc gửi phản hồi.

Các mã lỗi

MãHTTPThử lạiÝ nghĩa
UNAUTHENTICATED401khôngThiếu, sai, đã thu hồi hoặc hết hạn khoá
FORBIDDEN403khôngKhoá hoặc thành viên thiếu quyền
REAUTH_REQUIRED403khôngThao tác nhạy cảm cần đăng nhập lại trên web
NOT_FOUND404khôngKhông có gì bạn thấy được ở id đó
VALIDATION_FAILED422khôngDữ liệu vào sai schema; details liệt kê trường
CONFLICT409khôngexpected_revision cũ, hoặc dùng lại command_id với nội dung khác
BUSY409cóTài nguyên đang dùng (ví dụ hồ sơ đang mở)
STALE_GRANT410khôngVé hoặc quyền đã bị thay thế
QUOTA_EXCEEDED429khôngĐã chạm giới hạn của workspace
RATE_LIMITED429cóQuá nhiều yêu cầu; chờ theo Retry-After
CAPACITY_UNAVAILABLE503cóHiện không còn sức chứa
DEPENDENCY_UNAVAILABLE503cóDịch vụ Browlix phụ thuộc không trả lời
UNSUPPORTED501khôngKhông hỗ trợ ở đây (ví dụ phiên bản worker này)
NETWORK_UNHEALTHY424khôngKiểm tra proxy hoặc mạng thất bại
INTEGRITY_FAILED422khôngDữ liệu không qua kiểm tra toàn vẹn
OUTCOME_UNKNOWN202cóĐã nhận nhưng chưa xác nhận được kết quả; xem biên nhận
RECOVERY_REQUIRED409khôngPhiên trước kết thúc không chắc chắn; phục hồi trước
SYNC_PENDING409cóMáy khác giữ dữ liệu hồ sơ mới hơn
FENCED409khôngLượt giữ phiên của app đã cũ; giữ lại phiên
UNKNOWN500khôngNgoài dự kiến; báo kèm correlation_id

Thử lại

Chỉ thử lại các mã có cờ thử lại, có giãn cách, và — với lệnh — dùng cùng command_id. SDK tự làm việc này cho thao tác đọc và lệnh cùng id, tôn trọng Retry-After tối đa 10 giây.