Bắt đầu
Lỗi
Định dạng lỗi, mã trạng thái và khi nào nên thử lại.
Lỗi dùng các mã trạng thái HTTP thông thường và luôn trả về cùng một cấu trúc JSON, kèm một mã lỗi ổn định mà máy có thể đọc được.
Định dạng lỗi#
{
"error": {
"code": "rateLimited",
"message": "Rate limit exceeded",
"retryAfter": 12
}
}error.code ổn định và có thể dùng an toàn để rẽ nhánh xử lý. error.message là gợi ý dễ đọc cho con người và có thể thay đổi. Một số lỗi có thêm trường: retryAfter cho giới hạn tần suất, reason cho hạn mức và các trường hợp bị chặn theo gói, issues cho lỗi dữ liệu đầu vào.
Mã lỗi#
| Trạng thái | Mã | Ý nghĩa | Thử lại? |
|---|---|---|---|
| 400 | validation | Một tham số hoặc body không hợp lệ; xem error.issues. | Không |
| 401 | unauthorized | Khóa API bị thiếu, sai định dạng hoặc đã bị thu hồi. | Không |
| 402 | planRequired | Gói của bạn không bao gồm quyền truy cập API hoặc tính năng này. | Không |
| 403 | forbidden | Yêu cầu không được phép. | Không |
| 404 | notFound | Token chưa được quét hoặc ví chưa được lập hồ sơ. | Để sau |
| 409 | conflict | Yêu cầu xung đột với trạng thái hiện tại. | Không |
| 429 | rateLimited | Quá nhiều yêu cầu mỗi phút, hoặc đã dùng hết hạn mức hằng tháng. | Có |
| 500 | generic | Đã xảy ra lỗi ở phía chúng tôi. | Có |
| 503 | unavailable | Đang bảo trì hoặc nhà cung cấp dữ liệu đã hết công suất. | Để sau |
Lỗi dữ liệu đầu vào#
Tham số không hợp lệ sẽ trả về 400 kèm danh sách issues chỉ ra trường gây lỗi.
400
{
"error": {
"code": "validation",
"message": "Invalid input",
"issues": [
{
"path": "pageSize",
"message": "Invalid input"
}
]
}
}