Các trường giao dịch bơm
Kiểu, quy tắc và ví dụ của từng trường trong một giao dịch bơm gửi lên NexERP.
Bài này giải thích thân request của POST /pump-logs và từng phần tử logs của POST /pump-logs/batch. Trường không có trong bảng bị từ chối với mã 422. Ký tự điều khiển trong các mã cũng bị từ chối.
Giao dịch
Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
| chuỗi | có | Mã giao dịch của phần mềm trụ bơm. 1 đến 100 ký tự, chỉ gồm |
| chuỗi | khi có nhiều cửa hàng | Mã cửa hàng NexERP đã gán, tối đa 64 ký tự. Ví dụ: |
| chuỗi | có | Mã nhiên liệu, 1 đến 64 ký tự. Phải có trong danh mục doanh nghiệp đã khai. Ví dụ: |
| chuỗi | có | Mã vòi bơm, 1 đến 64 ký tự. Ví dụ: |
| số nguyên | có | Đơn giá niêm yết, đồng/lít, lớn hơn 0. Ví dụ: |
| chuỗi thập phân | có | Số lít trụ bơm đo, lớn hơn 0, tối đa 6 chữ số lẻ, dấu chấm thập phân. Ví dụ: |
| số nguyên | có | Tổng tiền khách trả, đồng, lớn hơn 0 và tối đa 999.999.999.999. Ví dụ: |
| chuỗi thời điểm ISO 8601 | có | Thời điểm bơm xong, phải có múi giờ. Ví dụ: |
Tổng tiền và số lít
Tổng tiền là gốc. Hóa đơn ghi đúng
amount.Số lượng trên hóa đơn bằng
amount / unit_price, 6 chữ số lẻ, làm tròn lên từ 5.literschỉ lưu lại để đối chiếu.litersphải gửi dạng chuỗi. Gửi số JSON bị từ chối với mãlog.liters_must_be_string.liters × unit_pricelệchamountquá 1 % bị từ chối với mãlog.amount_mismatch. Lỗi này thường do gửi đảo trường.
Mã nhiên liệu
Doanh nghiệp khai danh mục nhiên liệu trên NexERP: mã nhiên liệu, tên hàng ghi trên hóa đơn, đơn vị tính và thuế suất. Bạn chỉ gửi mã.
Mã chưa khai bị từ chối với mã
log.fuel_code_unknown. Báo doanh nghiệp khai thêm rồi gửi lại.Thuế suất do doanh nghiệp chọn theo quy định hiện hành. Bạn không gửi thuế suất.
Thời điểm bơm
pumped_atở tương lai quá 5 phút bị từ chối với mãlog.pumped_at_in_future. Kiểm tra đồng hồ máy trụ bơm.pumped_atcũ hơn số ngày cho phép (mặc định 3 ngày) bị từ chối với mãlog.too_old.Ngày bán trên hóa đơn là ngày của
pumped_attheo giờ Việt Nam.
Đồng bộ giờ
Thiết bị trụ bơm không có đồng hồ thì lấy giờ máy chủ NexERP bằng GET /time. Cần khóa API, không cần phạm vi.
GET https://api-demo.nexerp.vn/api/open/v1/time{
"server_time": "2026-10-29T14:05:12.345000+07:00",
"unix_ms": 1793257512345,
"timezone": "Asia/Ho_Chi_Minh"
}Trường | Kiểu | Ý nghĩa |
|---|---|---|
| chuỗi thời điểm ISO 8601 | Giờ máy chủ theo giờ Việt Nam, có múi giờ |
| số nguyên | Cùng thời điểm, mili-giây kể từ 1970-01-01 UTC |
| chuỗi | Múi giờ của |
Gọi GET /time lúc khởi động và định kỳ, ví dụ mỗi giờ. Lưu độ lệch giữa unix_ms và bộ đếm của thiết bị, rồi cộng độ lệch đó khi ghi pumped_at. Không cần gọi trước mỗi giao dịch.
Lưu ý
id_logdùng chung vớiexternal_idcủaPOST /invoices. Một mã đã dùng ở đường này thì không dùng lại ở đường kia.Gửi lại vì mất phản hồi thì gửi đúng nội dung cũ. Xem Chống tạo trùng.