Skip to main content

Cấu trúc response lỗi

Lỗi 401 giờ trả mã cụ thể trong trường code (API_KEY_INACTIVE, API_KEY_REVOKED, ORG_NOT_ACTIVE…), thay vì UNAUTHORIZED như các phiên bản trước. Rẽ nhánh theo code cho mọi lỗi 4xx, kể cả 401.Nếu tích hợp của bạn đang dựa vào message để đoán nguyên nhân 401, hãy chuyển sang đọc code — ổn định hơn và không đổi giữa các phiên bản.

400 — Dữ liệu đầu vào


401 — Xác thực

Thứ tự kiểm: bản thân API Key → tổ chức gắn với key → người dùng gắn với key. Gặp lỗi ở bước nào thì trả mã của bước đó.

Lỗi của API Key

Lỗi của tổ chức gắn với key

Lỗi của người dùng gắn với key

Không gửi header X-API-Key thì không nhận được 401 của API Key. Request rơi xuống tầng xác thực JWT và trả về 401 chung chung. Nếu gặp 401 khó hiểu, việc đầu tiên cần kiểm tra là header đã được gửi đi hay chưa (proxy hoặc API gateway có thể đã lược bỏ).
Xem thêm: Xác thực.

413 / 415 / 502 — Lỗi khi tải file từ fileUrl

Khi tạo hồ sơ với files[].source = "url", server tự tải file về. Các lỗi ở bước này có status riêng, không phải 400:
Hệ thống nhận diện PDF bằng chữ ký nhị phân đầu file, không dựa vào header Content-Type. File có Content-Type đúng nhưng nội dung không phải PDF vẫn bị từ chối với 415; ngược lại, file PDF hợp lệ phục vụ dưới application/octet-stream vẫn được chấp nhận.

403 — Không đúng phạm vi


404 — Không tìm thấy

FILE_NOT_FOUND gộp hai trường hợp “không tồn tại” và “thuộc tổ chức khác” một cách có chủ đích, để không lộ thông tin về dữ liệu của tổ chức khác.

409 — Xung đột