Cấu trúc response lỗi
400 — Dữ liệu đầu vào
401 — Xác thực
Mọi lỗi401 đều trả code: "UNAUTHORIZED". Phân biệt nguyên nhân qua message:
Key bị thu hồi và key hết hạn đều trả về cùng thông báo “API key không hợp lệ” — hệ thống không phân biệt hai trường hợp này ra ngoài. Đây là chủ đích để không lộ trạng thái key cho bên gọi không hợp lệ.
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.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.
