Lấy danh sách hóa đơn
GET/api/integration/v1/receipts
Các hóa đơn kèm từng dòng, theo thứ tự cập nhật tăng dần. Hóa đơn đã huỷ hoặc hoàn trả vẫn được trả về, kèm status. Cần quyền receipts:read.
Tham số truy vấn
| Tham số | Mô tả |
|---|---|
updatedSincestring · date-timetuỳ chọn |
Chỉ lấy bản ghi có updatedAt từ thời điểm này trở đi, gồm cả đúng thời điểm này. ISO 8601 có múi giờ, ví dụ 2026-10-01T00:00:00.000Z. Cách dùng: Đồng bộ liên tục. |
cursorstringtuỳ chọn |
Giá trị nextCursor của trang trước, nguyên văn. Bỏ trống ở trang đầu. Xem Phân trang. |
limitintegertuỳ chọn |
Từ 1 đến 500. Mặc định 200. |
Phản hồi 200
Một trang hóa đơn: { requestId, receipts, nextCursor }. Mỗi phần tử của receipts có các trường của một hóa đơn, hoặc là một tombstone. nextCursor khác null nghĩa là còn trang sau.
Lỗi
| Mã lỗi | Khi nào |
|---|---|
INVALID_UPDATED_SINCE400 | updatedSince không phải thời điểm ISO 8601 có múi giờ, hoặc xuất hiện nhiều lần. |
INVALID_CURSOR400 | cursor không hợp lệ, hoặc do API khác cấp ra. |
INVALID_LIMIT400 | limit không phải số nguyên từ 1 đến 500. |
UNKNOWN_PARAMETER400 | Tham số không có trong bảng trên, kể cả gõ sai tên. |
INSUFFICIENT_SCOPE403 | Key không có quyền receipts:read. |
Mọi API còn có thể trả 401, 429 và 5xx, xem Mã lỗi.
curl -sS "https://iclinic.phongkhamhieploi.vn/api/integration/v1/receipts?limit=200" \
-H "Authorization: Bearer $ICLINIC_API_KEY"
{
"requestId": "req_7c1f3a",
"receipts": [
{
"id": "e7d3b1a4-52c8-4f19-a0b6-9c4d8e2f1a37",
"code": "HD-20261004-002",
"patientId": "5b0d6a38-3f5a-4a52-8f7c-1d2e9c4b7a10",
"encounterId": "3f0c9a52-6d1b-4e7a-9b1e-2a4c8d5e7f10",
"total": 350000,
"paidAmount": 350000,
"paymentMethod": "CASH",
"status": "PAID",
"receiptDate": "2026-10-04",
"lines": [
{
"name": "Khám chuyên khoa",
"quantity": 1,
"unitPrice": 200000,
"total": 200000,
"sourceType": "SERVICE"
},
{
"name": "Vitamin B1",
"quantity": 10,
"unitPrice": 15000,
"total": 150000,
"sourceType": "MEDICATION"
}
],
"createdAt": "2026-10-04T08:10:00.000Z",
"updatedAt": "2026-10-04T08:10:00.000Z",
"deletedAt": null
}
],
"nextCursor": null
}