Chuyển đến nội dung

Tài liệu API · Độ tin cậy

Mã lỗi

Cấu trúc lỗi thống nhất và toàn bộ mã lỗi.

Mọi lỗi đều dùng chung một cấu trúc (xem ví dụ bên cạnh). Bảng dưới đây liệt kê các error.code mà API có thể trả về cùng mã trạng thái HTTP tương ứng; một mã trạng thái có thể ứng với nhiều mã lỗi:

HTTPcodeTình huốngThử lạiKhuyến nghị
400invalid_requestJSON sai định dạng, Content-Type không phải application/json, hoặc Idempotency-Key bị thiếu / quá dài; nội dung yêu cầu vượt quá 1 MB sẽ nhận 413KhôngSửa yêu cầu rồi gửi lại
401invalid_api_keyKey không tồn tại, đã bị thu hồi, hết hạn hoặc bị tắtKhôngKiểm tra trạng thái Key trong bảng điều khiển
401unauthenticatedPhiên bảng điều khiển chưa đăng nhập hoặc đã hết hạnKhôngĐăng nhập lại
402quota_exceededHạn mức khả dụng của tài khoản không đủ; mức tạm giữ tối đa vượt quá max_budget (param là max_budget); dung lượng lưu trữ tài nguyên đã đầyKhôngBổ sung hạn mức, điều chỉnh max_budget hoặc dọn bớt tài nguyên rồi thử lại
402key_limit_exceededHạn mức tổng hoặc theo ngày của Key không đủKhôngĐiều chỉnh hạn mức Key rồi thử lại
403permission_deniedKey thiếu scope, mô hình không nằm trong danh sách được phép của Key, hoặc tài khoản chưa được cấp quyền dùng mô hình đóKhôngCấp thêm quyền cho Key trong bảng điều khiển, hoặc liên hệ đội ngũ vận hành để mở mô hình
403csrf_failedYêu cầu từ bảng điều khiển thiếu CSRF token hoặc token đã hết hiệu lựcKhôngTải lại trang rồi thử lại
403account_suspendedTài khoản đã bị tạm ngưngKhôngLiên hệ đội ngũ vận hành
404not_foundTài nguyên không tồn tại hoặc không thuộc về bạnKhôngKiểm tra lại ID
404not_availableTính năng chỉ có trên trạm quốc tế, không khả dụng trên trạm nàyKhôngDùng trạm tương ứng
403terms_requiredChưa đồng ý điều khoản nạp tiền mới nhấtKhôngĐọc và đồng ý điều khoản nạp tiền rồi thử lại
409idempotency_conflictCùng khóa lũy đẳng nhưng nội dung yêu cầu khácKhôngDùng khóa lũy đẳng mới cho yêu cầu mới
409conflictXung đột trạng thái tài nguyênKhôngTruy vấn trạng thái mới nhất rồi thao tác lại
409group_not_emptyNhóm vẫn còn tài nguyênKhôngChuyển hoặc xóa tài nguyên trong nhóm trước
422invalid_parameterTham số không hợp lệ hoặc tổ hợp không được hỗ trợ (không bị âm thầm bỏ qua)KhôngSửa tham số theo bảng năng lực
422asset_not_readyTài nguyên vẫn đang được xử lýCóChờ trạng thái chuyển sang available rồi thử lại
422authorization_requiredTài nguyên người thật chưa có ủy quyền hợp lệKhôngHoàn tất ủy quyền người thật rồi thử lại
429rate_limitedVượt giới hạn RPM của Key, hoặc giới hạn số tác vụ đồng thời của tài khoản / KeyCóBackoff theo Retry-After rồi thử lại
500internal_errorLỗi nội bộ của nền tảngCóThử lại với cùng khóa lũy đẳng

Khi retryable là true, có thể thử lại sau khi backoff; khi thử lại yêu cầu tạo tác vụ, bắt buộc dùng cùng một Idempotency-Key.

Lỗi chỉ phát sinh sau khi tiếp nhận (ví dụ tạm thời không có tuyến xử lý khả dụng) sẽ không được trả về dưới dạng lỗi API, mà thể hiện ở error.code của tác vụ, xem Mã lỗi tác vụ.

Phản hồi lỗi
HTTP/1.1 422 Unprocessable Entity
X-Request-Id: req_xxx

{
  "error": {
    "code": "asset_not_ready",
    "message": "Tài nguyên asset_xxx vẫn đang được xử lý, hãy thử lại khi trạng thái chuyển sang available",
    "param": "inputs[0].asset_id",
    "retryable": true,
    "request_id": "req_xxx"
  }
}