Chuyển tới nội dung chính

Báo cáo tồn kho

API trả về tồn kho theo sản phẩm tại thời điểm (hoặc theo một kho cụ thể). Dữ liệu domain InventoryReport.


1. Báo cáo tồn tổng hợp (theo thời điểm)

1.1. Thông tin API

  • Endpoint: /api/v6/inventory_reports
  • Method: GET
  • Authentication: X-API-KEY

1.2. Tham số Request

Filtering (bắt buộc / thường dùng)

TrườngBắt buộcHỗ trợKiểuMô tả
store_ideq, inintegerID kho (có thể truyền một kho hoặc nhiều kho tùy cấu hình lọc)
dateKhôngstringThời điểm tồn: YYYY-MM-DD hoặc YYYY-MM-DD HH:MM:SS (filtering[date])

Filtering (tùy chọn — domain)

TrườngHỗ trợKiểuMô tả
product_ideqintegerID sản phẩm
product_nameeq, containsstringTên sản phẩm
product_codeeqstringMã sản phẩm
category_ideqintegerDanh mục
quantityeq, ne, gte, lte, gt, ltnumberLọc theo số lượng (theo logic báo cáo)

Có thể có thêm custom fields gắn module sản phẩm — merge vào bộ lọc như các API public khác.

  • search — phạm vi domain: product_name, product_code.

Sorting

TrườngHướng
idasc, desc

Mặc định: id DESC.

Fields

  • Định dạng: fields=id,product_code,product_name,... (CSV). Cú pháp tổng quát: Thông tin cần thiết.
  • Mặc định nếu không gửi fields: chỉ trả id.

Các trường có thể yêu cầu (domain defineRetrievableFields):

TrườngGhi chú
idID dòng báo cáo / sản phẩm trong ngữ cảnh báo cáo
product_nameTên sản phẩm
product_codeMã sản phẩm
product_featured_imageẢnh đại diện
category_idID danh mục
category_nameTên danh mục
unit_idID đơn vị
unit_nameTên đơn vị
inventoriesTrường mở rộng: tồn theo từng kho (store_id, inventory, available_inventory, …). Bắt buộc có trong fields nếu cần số lượng từng kho.
variantsBiến thể theo tồn — nếu dùng variants thì bắt buộc kèm inventories trong fields (validation domain).

Pagination

Tham sốKiểuMô tả
limitintegerGiới hạn bản ghi
offsetintegerPhân trang

1.3. Response mẫu

{
"data": [
{
"id": 501,
"product_code": "SP001",
"product_name": "Sản phẩm mẫu",
"unit_name": "Cái",
"inventories": [
{
"store_id": 1,
"inventory": 120,
"available_inventory": 118
}
]
}
],
"has_more": true,
"offset": 0,
"limited": 100,
"sorted": { "id": "DESC" }
}

1.4. Ví dụ curl

curl -g --location 'https://example.getflycrm.com/api/v6/inventory_reports?filtering[store_id]=1&filtering[date]=2026-03-31&fields=id,product_code,product_name,unit_name,inventories&limit=100' \
--header 'X-API-KEY: <your_api_key>'

2. Tồn kho chi tiết theo một kho

2.1. Thông tin API

  • Endpoint: /api/v6/inventory_reports/by_warehouse
  • Method: GET

2.2. Tham số Request

TrườngBắt buộcMô tả
filtering[warehouse_id]ID kho (số nguyên dương). Backend map sang điều kiện store_id tương ứng.
filtering[date]KhôngGiống mục 1.
fields, search, sort, direction, limit, offsetKhôngGiống mục 1.

2.3. Response mẫu

Cấu trúc giống mục 1.3 (danh sách InventoryReport).

2.4. Ví dụ curl

curl -g --location 'https://example.getflycrm.com/api/v6/inventory_reports/by_warehouse?filtering[warehouse_id]=2&filtering[date]=2026-03-31&fields=id,product_code,product_name,inventories' \
--header 'X-API-KEY: <your_api_key>'

3. Ghi chú nghiệp vụ

  • Một request báo cáo gắn với bối cảnh kho qua store_id / warehouse_id; để có snapshot nhiều kho, cần gọi lần lượt từng kho (hoặc dùng store_id với in nếu được backend cho phép) và gom dữ liệu phía tích hợp.
  • Luôn gửi fields đủ (product_* + inventories) nếu không muốn chỉ nhận id mặc định.
  • Bản v6.1 cùng nghiệp vụ với URL /api/v6.1/...: Báo cáo tồn kho v6.1.