Mã lỗi
Khung lỗi chung của Open API và bảng mã lỗi kèm việc cần làm cho từng mã.
Mọi lỗi dưới /api/open/ có cùng một khung.
{
"error": {
"code": "invoice.external_id_conflict",
"message": "Mã giao dịch external_id đã dùng cho một hóa đơn khác (nội dung gửi khác lần trước).",
"details": { "external_id": "CN5-P03-V2-20261022-000123" }
},
"request_id": "7a1f0c2e-5b0d-4d0c-a0c4-3f3e6c9d9b10"
}Trường | Kiểu | Ý nghĩa |
|---|---|---|
| chuỗi | Mã lỗi ổn định, dùng để xử lý trong chương trình. Bảng mã ở dưới |
| chuỗi | Câu tiếng Việt cho người đọc, có thể đổi chữ |
| đối tượng hoặc | Thông tin thêm theo từng mã, ví dụ |
| chuỗi | Mã tra cứu request. Gửi kèm khi cần NexERP hỗ trợ |
Dựa vào
error.codeđể xử lý trong chương trình.messagelà câu tiếng Việt cho người đọc, có thể đổi chữ.Lỗi 422
request.invalidcóerror.details.errors: danh sách{loc, type, msg}chỉ ra trường nào sai.Gặp lỗi 5xx hoặc cần hỗ trợ thì gửi kèm
request_id.
Bảng mã lỗi
Cột "Việc cần làm": Sửa là request sai, gửi lại y hệt sẽ lại lỗi. Thử lại là gửi lại y hệt sau một lúc. Báo là việc ở phía doanh nghiệp hoặc NexERP, hãy liên hệ họ.
Mã | HTTP | Ý nghĩa | Việc cần làm |
|---|---|---|---|
| 401 | Thiếu header | Sửa: thêm header |
| 401 | Khóa không đúng, hoặc khóa của môi trường khác | Sửa: kiểm tra khóa và địa chỉ gốc |
| 401 | Khóa đã bị thu hồi | Báo: xin khóa mới |
| 401 | Khóa đã hết hạn | Báo: xin khóa mới |
| 401 | Chưa xác thực, lỗi chung | Sửa: kiểm tra khóa |
| 403 | Doanh nghiệp đã tạm ngưng hoặc thu hồi quyền tích hợp | Báo: liên hệ doanh nghiệp |
| 403 | Ứng dụng của bạn chưa được duyệt hoặc đang tạm ngưng | Báo: liên hệ NexERP |
| 403 | Khóa không có phạm vi cần cho endpoint này ( | Báo: xin thêm phạm vi |
| 403 | Không có quyền, lỗi chung | Báo |
| 403 | Doanh nghiệp có nhiều cửa hàng mà thiếu | Sửa: gửi |
| 403 | Cửa hàng lạ, khóa không được dùng cửa hàng đó, hoặc cửa hàng chưa cấu hình đủ | Sửa mã cửa hàng. Vẫn lỗi thì Báo |
| 422 | Kết nối hóa đơn điện tử của cửa hàng không phải loại khởi tạo từ máy tính tiền, hoặc đã ngừng | Báo: doanh nghiệp hoặc NexERP cấu hình lại |
| 422 | Dữ liệu sai quy tắc: thiếu trường, sai kiểu, quá dài, trường lạ, | Sửa: xem |
| 422 |
| Sửa: gửi dạng chuỗi, ví dụ |
| 422 | Dòng KKKNT, KCT, 0: | Sửa số lượng hoặc bỏ trống |
| 422 | Đơn giá từ 1.000.000 đồng trở lên mà số lượng có phần lẻ | Sửa: dùng số lượng nguyên |
| 422 | Dòng thuế 5, 8, 10: thiếu | Sửa |
| 422 | Có mã số thuế người mua mà doanh nghiệp chưa có khách này, và thiếu | Sửa: gửi tên |
| 422 | Có | Sửa: gửi họ tên đủ, hoặc bỏ |
| 422 | Mã số thuế không đúng dạng 10, 12 hoặc 13 chữ số | Sửa |
| 422 |
| Sửa đồng hồ máy bán hàng |
| 422 |
| Báo: nhờ kế toán lập tay |
| 409 | Kỳ thuế GTGT của ngày hóa đơn đã nộp tờ khai | Báo: doanh nghiệp xử lý, rồi gửi lại |
| 409 |
| Sửa: giao dịch mới thì dùng |
| 404 | Không có hóa đơn này của ứng dụng bạn, kể cả hóa đơn của người khác | Sửa: kiểm tra |
| 422 | Thay thế chỉ dùng khi | Báo |
| 409 | Hóa đơn gốc chưa phát hành, đã hủy hoặc đã thay thế, hoặc lần thay thế trước thất bại | Chờ phát hành xong, hoặc Báo để kế toán hủy bản thất bại |
| 422 | Hóa đơn thay thế khác cửa hàng với hóa đơn gốc | Sửa |
| 422 |
| Sửa: gửi dạng chuỗi, ví dụ |
| 422 |
| Sửa: kiểm tra các trường bị đảo |
| 422 | Mã nhiên liệu chưa có trong danh mục doanh nghiệp khai | Báo: doanh nghiệp khai thêm, rồi gửi lại |
| 422 |
| Sửa đồng hồ máy trụ bơm |
| 422 |
| Báo: nhờ kế toán lập tay |
| 409 |
| Sửa: giao dịch mới thì dùng |
| 422 | Chỉ trong kết quả lô: | Sửa: bỏ phần tử trùng |
| 404 | Không có giao dịch bơm này của ứng dụng bạn | Sửa: kiểm tra |
| 413 | Lô hơn 100 giao dịch | Sửa: chia nhỏ lô |
| 409 | Hóa đơn điện tử chưa phát hành, chưa có link | Thử lại khi |
| 502 | Nhà cung cấp không trả được link | Thử lại sau |
| 429 | Gọi quá nhanh, hoặc nhà cung cấp hóa đơn điện tử đang bận khi lấy link | Thử lại sau |
| 400 | Yêu cầu không hợp lệ, lỗi chung | Sửa |
| 404 | Đường dẫn không tồn tại, hoặc cổng đang tắt | Sửa địa chỉ. Cổng tắt thì Báo |
| 405 | Sai phương thức HTTP | Sửa |
| 409 | Dữ liệu xung đột, lỗi chung | Đọc |
| 413 | Thân gửi lên quá lớn | Sửa: giảm số dòng |
| 415 |
| Sửa: |
| 500 | Lỗi máy chủ | Thử lại. Còn lỗi thì Báo kèm |
| 502 | Hệ thống phía sau lỗi | Thử lại |
| 503 | Cổng tạm thời chưa sẵn sàng | Thử lại sau |
| 504 | Hệ thống phía sau không trả lời kịp | Thử lại. |
Mã HTTP chưa có trong bảng ra mã dạng http_<số>.
Lưu ý
Có thể gặp mã không có trong bảng, ví dụ lỗi nghiệp vụ mới thêm. Xử lý theo mã HTTP: 4xx là sửa dữ liệu hoặc chờ, 5xx là thử lại.
Lỗi mạng, timeout, 429 và 5xx thì thử lại y hệt, có chờ và tăng dần. 4xx còn lại thì không thử lại nguyên văn.