Tổng quan SePay eInvoice API
Giới thiệu, luồng xử lý và các endpoint chính của eInvoice API.
Giới thiệu
- eInvoice API giúp doanh nghiệp tạo, phát hành và tra cứu hóa đơn điện tử qua HTTP.
- Hỗ trợ hai môi trường: Sandbox cho thử nghiệm và Production cho vận hành.
Môi trường & Base URL
Production: https://einvoice-api.sepay.vn Sandbox: https://einvoice-api-sandbox.sepay.vn
Xác thực
Header: Authorization: Bearer <ACCESS_TOKEN>
Luồng tổng quát
-
Mô tả luồng xử lý eInvoice:
-
Luồng xử lý eInvoice bao gồm các bước chính từ xác thực, kiểm tra tài khoản/ hạn ngạch đến tạo, phát hành và tra cứu hóa đơn:
-
Lấy access token Ứng dụng của merchant gọi API để lấy
access_token. Token này được sử dụng cho tất cả các API eInvoice tiếp theo. -
Danh sách tài khoản Merchant truy vấn danh sách tài khoản nhà cung cấp (
GET v1/provider-accounts) để biết các tài khoản eInvoice khả dụng cùng trạng thái của từng tài khoản. -
Chi tiết tài khoản Khi đã chọn được tài khoản, merchant gọi
GET v1/provider-accounts/{id}để lấy cấu hình chi tiết (mẫu/ký hiệu hóa đơn, trạng thái hoạt động). -
Tạo hóa đơn (Create) Merchant gửi dữ liệu hóa đơn lên hệ thống (
POST v1/invoices/create). API trả vềtracking_codeđể theo dõi trạng thái xử lý xuất hóa đơn. -
Kiểm tra trạng thái tạo hóa đơn Merchant sử dụng
tracking_codegọi/create/checkđể kiểm tra trạng thái xuất hóa đơn (thành công hoặc thất bại). -
Phát hành hóa đơn (Issue) Sau khi hóa đơn được tạo thành công, merchant gửi yêu cầu phát hành (
POST v1/invoices/issue). API trả vềtracking_codecho bước phát hành. -
Kiểm tra trạng thái phát hành Merchant gọi
/issue/checkvớitracking_codeđể xác nhận kết quả phát hành hóa đơn. -
Lấy chi tiết hóa đơn Khi hóa đơn đã phát hành thành công, merchant có thể truy vấn
GET v1/invoices/{reference_code}để nhận thông tin và file hóa đơn (PDF, XML,…). -
Kiểm tra hạn ngạch Merchant có thể gọi
GET v1/usageđể theo dõi số lượt phát hành/xuất hóa đơn còn lại nhằm tối ưu kế hoạch sử dụng dịch vụ. -
Danh sách hóa đơn Merchant có thể gọi
GET v1/invoicesđể lấy danh sách các hóa đơn đã tạo/phát hành kèm phân trang phục vụ quản lý và đối soát.
Các bước Create và Issue được xử lý bất đồng bộ. Merchant cần gọi API /check tương ứng để xác nhận trạng thái trước khi thực hiện bước tiếp theo.
Endpoint chính
v1/token- Lấy access token.
v1/provider-accounts- Danh sách tài khoản
v1/provider-accounts/{id}- Chi tiết tài khoản
v1/invoices/create- Tạo hóa đơn (nháp/phát hành tùy
is_draft).
v1/invoices/create/check/{tracking_code}- Kiểm tra trạng thái tạo hóa đơn.
v1/invoices/issue- Gửi yêu cầu phát hành từ hóa đơn nháp đã tạo.
v1/invoices/issue/check/{tracking_code}- Theo dõi trạng thái phát hành.
v1/invoices/{reference_code}- Chi tiết hóa đơn.
v1/usage- Kiểm tra hạn ngạch
v1/invoices- Danh sách hóa đơn (phân trang).
Cấu trúc phản hồi chung
{
"success": true,
"data": "object"
}{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Thông điệp lỗi"
}
}Bước tiếp theo
Để bắt đầu sử dụng eInvoice API, bạn cần thực hiện theo thứ tự sau:
- Tạo Access Token - Lấy Bearer token để xác thực các API tiếp theo
- Danh sách tài khoản - Xem các tài khoản nhà cung cấp hóa đơn điện tử khả dụng
- Xuất hóa đơn điện tử - Bắt đầu tạo hóa đơn đầu tiên
Nếu bạn mới bắt đầu, hãy sử dụng môi trường Sandbox để thử nghiệm trước khi chuyển sang Production.