Danh sách tồn kho

  • Tính năng này dùng để lấy danh sách tồn kho. Chú ý:

    • Khi gọi API lấy danh sách sản phẩm cũng có trả về tồn kho rồi kèm theo toàn bộ thông tin chi tiết của sản phẩm.

    • Nếu bạn chỉ muốn cập nhật riêng tồn kho, thì nên dùng API này thay vì dùng API lấy danh sách sản phẩm. Ưu điểm:

      • Dữ liệu nhẹ hơn, tốc độ nhanh hơn.

      • Có hỗ trợ lọc theo thời gian thay đổi số tồn, để chỉ cần quét các sản phẩm có thay đổi tồn, thay vì quét toàn bộ sản phẩm.

  • Dữ liệu sẽ được phân trang, mỗi trang tối đa không quá 100 sản phẩm.

  • Bạn nên lưu giá trị thời gian lần cuối cùng quét toàn bộ, sau đó dùng 2 request params là updatedAtFrom và updatedAtTo để chỉ lấy về các sản phẩm có cập nhật mới, không cần gọi lại toàn bộ dữ liệu cũ không có thay đổi gì.

    • Chú ý: updatedAt sẽ chỉ bao gồm thông tin sản phẩm (tên, giá bán...) bị thay đổi, không bao gồm thông tin tồn kho của sản phẩm. Để cập nhật tồn kho, bạn nên đăng ký webhooks tồn kho

Request

curl --location --globoff 'https://pos.open.nhanh.vn/v3.0/product/inventory?appId={{appId}}&businessId={{businessId}}' \
--header 'Authorization: {{accessToken}}' \
--header 'Content-Type: application/json' \
--data '{
    "filters": {
    },
    "paginator": {
        "size": 50,
        "sort": {"id": "desc"},
        "next": {"id": 100}
    }
}'

Filters

Key
Type
Description

ids

array

Mảng ID sản phẩm, tối đa 100

name

string

Tên, mã, mã vạch sản phẩm

depotIds

array

Id cửa hàng

categoryId

int

Id danh mục sản phẩm

brandIds

array

ID thương hiệu

updatedAtFrom

int

Cập nhật sản phẩm từ ngày (định dạng timestamp)

updatedAtTo

int

Cập nhật sản phẩm đến ngày (định dạng timestamp)

Paginator

sort

Value
Description
Sort

id

ID sản phẩm

desc: giảm dần, asc: tăng dần

Response

Failed response

Successful response

{
	"code": 1,
	"paginator": {
		"next": "Dùng để lấy dũ liệu trang tiếp theo"
	},
	"data": [
		{
			"productId": "(int) Id sản phẩm",
			"barcode": "(string) Mã vạch",
			"name": "(string) Tên sản phẩm",
			"prices": {
				"retail": "(double) Giá bán",
				"wholesale": "(double) Giá sỉ",
				"import": "(double) Giá nhập",
				"avgCost": "(double) Giá vốn"
			},
			"inventory": {
				"remain": "(double) Số lượng tồn kho tất cả các kho",
				"shipping": "(double) Số lượng đang chuyển tất cả các kho",
				"damaged": "(double) Số lượng lỗi tất cả các kho",
				"holding": "(double) Số lượng tạm giữ tất cả các kho",
				"available": "(double) Số lượng có thể bán tất cả các kho",
				"warranty": {
					"remain": "(double) Số lượng bảo hành tất cả các kho",
					"holding": "(double) Số lượng tạm giữ bảo hành tất cả các kho"
				},
				"depots": [
					{
						"id": "(int) ID kho hàng",
						"remain": "(double) Số lượng tồn kho",
						"shipping": "(double) Số lượng đang chuyển",
						"damaged": "(double) Số lượng lỗi",
						"holding": "(double) Số lượng tạm giữ",
						"available": "(double) Số lượng có thể bán",
						"warranty": {
							"remain": "(double) Số lượng bảo hành",
							"holding": "(double) Số lượng tạm giữ bảo hành"
						}
					}
				]
			}
		}
	]
}

Last updated