Sản phẩm & kho

Sản phẩm

15 endpoint · https://pos.pages.fm/api/v1

Xem Markdown

Tạo sản phẩm

POST/shops/{SHOP_ID}/products

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin sản phẩm cần tạo

object
productProductbắt buộc

Thông tin sản phẩm

Phản hồi

object
successboolean

Trạng thái thành công

Yêu cầu
curl -X POST "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/products?api_key=API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "product": {
    "name": "Ao so mi nam",
    "type": "product",
    "category_ids": [
      1290021044,
      201250699
    ],
    "note_product": "Ghi chú sản phẩm",
    "product_attributes": [
      {
        "name": "Màu",
        "values": [
          "Đen",
          "Trắng",
          "Đỏ"
        ]
      },
      {
        "name": "Size",
        "values": [
          "S",
          "M",
          "L"
        ]
      }
    ],
    "tags": [
      193,
      51
    ],
    "variations": [
      {
        "fields": [
          {
            "name": "Màu",
            "value": "Trắng"
          },
          {
            "name": "Size",
            "value": "M"
          }
        ],
        "images": [
          "https://statics.pancake.vn/user-content.pancake.vn/2021/8/5/fccd6.jpg"
        ],
        "last_imported_price": 30000,
        "retail_price": 140000,
        "price_at_counter": 123000,
        "retail_price_by_currency": [
          {
            "currency": "VND",
            "retailPriceByCurrency": 140000
          },
          {
            "currency": "USD",
            "retailPriceByCurrency": 6
          }
        ],
        "weight": 0,
        "barcode": "BARCODE123",
        "custom_id": "VCUSTOMID",
        "is_hidden": false,
        "variations_warehouses": [
          {
            "remain_quantity": 10,
            "warehouse_id": "c52e67ad-d9d0-4276-abe4-e0c9f1f7d2da",
            "batch_position": "lô 1",
            "shelf_position": "1.2"
          }
        ],
        "wholesale_price2": [
          {
            "levelProduct": "1",
            "wholesalePrices": "100000"
          },
          {
            "levelProduct": "2",
            "wholesalePrices": "200000"
          }
        ]
      }
    ],
    "weight": 1,
    "custom_id": "PCUSTOMID",
    "is_published": true,
    "materials": [
      182,
      193
    ],
    "bonus_products": [
      {
        "quantity": 1,
        "variation_id": "61fb5d14-107d-4b78-908d-8dc04f59d2d6",
        "price_original": 11000,
        "images": [
          "https://statics.pancake.vn/user-content.pancake.vn/2021/8/5/fccd6.jpg"
        ],
        "variation_info": {
          "id": "1",
          "measure_group_id": "2220",
          "measure_info": {
            "exchange_value": 100000,
            "measure_id": 2252
          },
          "name": "Combo 10 cây giống Cải nhún",
          "product_id": "RAL10.2675",
          "weight": 1000
        }
      }
    ],
    "keyword": "vai|cao cấp",
    "brand_id": "c52e67ad-d9d0-4276-abe4-e0c9f1f7d2da"
  }
}'
Phản hồi 200
{
  "success": true
}

Cập nhật thông tin sản phẩm

PUT/shops/{SHOP_ID}/products/{PRODUCT_ID}

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4
PRODUCT_IDstringbắt buộc

Mã sản phẩm

Ví dụ: "3487e126-b0d9-4dae-89a9-ee60bef2f4e9"

Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin sản phẩm cần cập nhật

object
productProductbắt buộc

Thông tin sản phẩm

Phản hồi

object
successboolean

Trạng thái thành công

Yêu cầu
curl -X PUT "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/products/{PRODUCT_ID}?api_key=API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "product": {
    "name": "Ao so mi nam",
    "type": "product",
    "category_ids": [
      1290021044,
      201250699
    ],
    "note_product": "Ghi chú sản phẩm",
    "product_attributes": [
      {
        "name": "Màu",
        "values": [
          "Đen",
          "Trắng",
          "Đỏ"
        ]
      },
      {
        "name": "Size",
        "values": [
          "S",
          "M",
          "L"
        ]
      }
    ],
    "variations": [
      {
        "id": "3c3aca82-030e-4708-a75b-b2eaf538a2f5",
        "fields": [
          {
            "name": "Màu",
            "value": "Trắng"
          },
          {
            "name": "Size",
            "value": "M"
          }
        ],
        "images": [],
        "last_imported_price": 30000,
        "retail_price": 140000,
        "price_at_counter": 123000,
        "retail_price_by_currency": [
          {
            "currency": "VND",
            "retailPriceByCurrency": 140000
          },
          {
            "currency": "USD",
            "retailPriceByCurrency": 6
          }
        ],
        "weight": 0,
        "barcode": "BARCODE123",
        "custom_id": "VCUSTOMID",
        "is_hidden": false,
        "variations_warehouses": [
          {
            "remain_quantity": 10,
            "warehouse_id": "c52e67ad-d9d0-4276-abe4-e0c9f1f7d2da",
            "batch_position": "lô 1",
            "shelf_position": "1.2"
          }
        ],
        "wholesale_price2": [
          {
            "levelProduct": "1",
            "wholesalePrices": "100000"
          },
          {
            "levelProduct": "2",
            "wholesalePrices": "200000"
          }
        ]
      },
      {
        "fields": [
          {
            "name": "Màu",
            "value": "Đỏ"
          },
          {
            "name": "Size",
            "value": "L"
          }
        ],
        "images": [
          "https://statics.pancake.vn/user-content.pancake.vn/2021/8/5/fccd6.jpg"
        ],
        "last_imported_price": 30000,
        "retail_price": 140000,
        "price_at_counter": 123000,
        "retail_price_by_currency": [
          {
            "currency": "VND",
            "retailPriceByCurrency": 140000
          },
          {
            "currency": "USD",
            "retailPriceByCurrency": 6
          }
        ],
        "weight": 0,
        "barcode": "BARCODE123",
        "custom_id": "VCUSTOMID2",
        "is_hidden": false,
        "variations_warehouses": [
          {
            "remain_quantity": 10,
            "warehouse_id": "c52e67ad-d9d0-4276-abe4-e0c9f1f7d2da",
            "batch_position": "lô 1",
            "shelf_position": "1.2"
          }
        ],
        "wholesale_price2": [
          {
            "levelProduct": "1",
            "wholesalePrices": "100000"
          },
          {
            "levelProduct": "2",
            "wholesalePrices": "200000"
          }
        ]
      }
    ],
    "weight": 1,
    "custom_id": "PCUSTOMID",
    "is_published": true,
    "tags": [
      193,
      51
    ],
    "materials": [
      182,
      193
    ],
    "bonus_products": [
      {
        "quantity": 1,
        "variation_id": "61fb5d14-107d-4b78-908d-8dc04f59d2d6",
        "price_original": 11000,
        "images": [
          "https://statics.pancake.vn/user-content.pancake.vn/2021/8/5/fccd6.jpg"
        ],
        "variation_info": {
          "id": "1",
          "measure_group_id": "2220",
          "measure_info": {
            "exchange_value": 100000,
            "measure_id": 2252
          },
          "name": "Combo 10 cây giống Cải nhún",
          "product_id": "RAL10.2675",
          "weight": 1000
        }
      }
    ],
    "keyword": "vai|cao cấp"
  }
}'
Phản hồi 200
{
  "success": true
}

Cập nhật tồn kho

POST/shops/{SHOP_ID}/variations/{VARIATION_ID}/update_quantity

Cập nhật số lượng tồn kho cho mẫu mã

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4
VARIATION_IDstringbắt buộc

Mã mẫu mã

Ví dụ: "415040f4-ab63-465e-8699-e9ebfff4c6c7"

Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin cập nhật tồn kho cho mẫu mã

object
variations_warehousesarray<object>bắt buộc

Thông tin kho

Phản hồi

object
successboolean

Trạng thái thành công

Yêu cầu
curl -X POST "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/variations/{VARIATION_ID}/update_quantity?api_key=API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "variations_warehouses": [
    {
      "remain_quantity": 20,
      "warehouse_id": "a41b5d73-9236-4a5d-9954-4db6d93242d1"
    },
    {
      "remain_quantity": 20,
      "warehouse_id": "a41b5d73-9236-4a5d-9954-4db6d93242d4"
    },
    {
      "remain_quantity": 20,
      "warehouse_id": "a41b5d73-9236-4a5d-9954-4db6d93242d5"
    }
  ]
}'
Phản hồi 200
{
  "success": true
}

Cập nhật tồn kho nhiều mẫu mã

POST/shops/{SHOP_ID}/variations/update_quantity

Cập nhật số lượng tồn kho cho nhiều mẫu mã

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin cập nhật tồn kho cho nhiều mẫu mã

object
variations_warehousesarray<object>bắt buộc

Thông tin tồn kho

is_actual_remain_quantityboolean

true: Cập nhật tồn kho, false: Cập nhật có thể bán

Phản hồi

object
successboolean

Trạng thái thành công

Yêu cầu
curl -X POST "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/variations/update_quantity?api_key=API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "is_actual_remain_quantity": true,
  "variations_warehouses": [
    {
      "variation_id": "20e7d183-c70c-445e-8ce2-4d7e3a378e34",
      "remain_quantity": 15,
      "warehouse_id": "229102e4-39c3-4523-bd57-4ed0a45a85ba"
    },
    {
      "variation_id": "5f0cfb8d-aee9-4ec0-9ff0-b5668d3143d2",
      "remain_quantity": 15,
      "warehouse_id": "24c4447e-c35f-4acc-affa-70e49eb354d1"
    }
  ]
}'
Phản hồi 200
{
  "success": true
}

Cập nhật sản phẩm cấu thành

POST/shops/{SHOP_ID}/variations/update_composite_product

Cập nhật thông tin sản phẩm cấu thành

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin cập nhật sản phẩm cấu thành

object
variation_idstringbắt buộc

Mã mẫu mã

composite_productsarray<object>bắt buộc

Danh sách sản phẩm cấu thành

Phản hồi

object
successboolean

Trạng thái thành công

Yêu cầu
curl -X POST "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/variations/update_composite_product?api_key=API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "variation_id": "79aecce9-3b1e-4ad3-afe1-2ee658720687",
  "composite_products": [
    {
      "quantity": 1,
      "component_id": "67b19856-3226-457e-a746-df26e4ec1360"
    }
  ]
}'
Phản hồi 200
{
  "success": true
}

Danh sách sản phẩm

GET/shops/{SHOP_ID}/products/variations

Lấy danh sách sản phẩm và mẫu mã, kèm thông tin tồn kho theo từng kho, tốc độ bán (để phát hiện sản phẩm sắp hết hàng) và nhà cung cấp.

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Tham số truy vấn

page_sizeinteger

Kích thước trang

Mặc định: 30 · Ví dụ: 30
page_numberinteger

Số trang

Mặc định: 1 · Ví dụ: 1
searchstring

Từ khóa tìm kiếm

Ví dụ: "áo sơ mi"
selling_statusstring

Tốc độ bán

Giá trị"none"Thử nghiệm"bad"Bán chậm"normal"Bình thường"star"Bán nhanh
Ví dụ: "normal"
product_statusstring

Trạng thái sản phẩm

Giá trị"locked"Không hoạt động"not_locked"Hoạt động
Ví dụ: "not_locked"
category_id[]array<integer>

Danh sách mã danh mục

is_filter_categories_by_orboolean

Lọc danh mục theo điều kiện or

Mặc định: true
filter_exclude_categoriesboolean

Lọc loại trừ danh mục

Mặc định: false
warehouse_untilstring · date-time

Lấy thông tin tồn kho tại 1 thời điểm

promotion_advance[]array<string>

ID khuyến mãi nâng cao

manipulationWarehouse[]array<string>

Mã kho thao tác

startDateinteger

Thời điểm đầu tạo sản phẩm

endDateinteger

Thời điểm cuối tạo sản phẩm

start_time_updateinteger

Thời điểm đầu cập nhật sản phẩm

end_time_updateinteger

Thời điểm cuối cập nhật sản phẩm

included_compositestring

Lọc sản phẩm cấu thành

Giá trị"parent"Sản phẩm được cấu thành từ sản phẩm khác"children"Sản phẩm cấu thành cho sản phẩm khácfalseKhông lọc
variation_ids[]array<string>

Lọc theo mã sản phẩm

product_attributes[]array<string>

Lọc theo thuộc tính sản phẩm

remainQuantitystring

Lọc theo số tồn có thể bán (remain_quantity). Truyền JSON dưới dạng chuỗi:

  • type: "greaterOrEqual" | "smallerOrEqual" | "between"
  • value: ngưỡng so sánh khi type là greaterOrEqual / smallerOrEqual
  • minValue, maxValue: khoảng dùng khi type là between
  • warehouseId: "all" | UUID kho | mảng UUID — giới hạn các kho tham gia lọc
  • isFilterTotal: false (mặc định) so sánh từng kho; true so sánh TỔNG qua các kho được chọn Khi bất kỳ filter số lượng nào (remainQuantity / actualQuantity / waittingQuantity / returningQuantity / pendingQuantity / totalQuantity) được set, mỗi variation trong response sẽ có thêm trường warehouse_ids liệt kê các kho match điều kiện.
Ví dụ: "{\"type\":\"smallerOrEqual\",\"value\":5,\"warehouseId\":\"all\"}"
actualQuantitystring

Lọc theo số tồn thực có trong kho (actual_remain_quantity). Cùng cấu trúc JSON với remainQuantity.

Ví dụ: "{\"type\":\"greaterOrEqual\",\"value\":10,\"warehouseId\":\"all\"}"
waittingQuantitystring

Lọc theo số lượng đang chờ giao (waitting_quantity). Cùng cấu trúc JSON với remainQuantity. (Lưu ý: tên param giữ nguyên cách viết waitt- để tương thích với client hiện hữu.)

Ví dụ: "{\"type\":\"greaterOrEqual\",\"value\":1,\"warehouseId\":\"all\"}"
returningQuantitystring

Lọc theo số lượng đang trả về kho (returning_quantity). Cùng cấu trúc JSON với remainQuantity.

Ví dụ: "{\"type\":\"greaterOrEqual\",\"value\":1,\"warehouseId\":\"all\"}"
pendingQuantitystring

Lọc theo số lượng đang giữ chỗ (pending_quantity). Cùng cấu trúc JSON với remainQuantity.

Ví dụ: "{\"type\":\"greaterOrEqual\",\"value\":1,\"warehouseId\":\"all\"}"
totalQuantitystring

Lọc theo tổng số lượng (total_quantity). Cùng cấu trúc JSON với remainQuantity.

Ví dụ: "{\"type\":\"between\",\"minValue\":1,\"maxValue\":100,\"warehouseId\":\"all\"}"
limit_quantity_to_warnboolean

Khi true, chỉ trả về sản phẩm có tồn kho đã chạm ngưỡng cảnh báo — tức sản phẩm sắp hết hàng. Ngưỡng được cấu hình theo từng sản phẩm (limit_quantity_to_warn trên Sản phẩm hoặc Mẫu mã, tùy theo cờ warning_by_variation của sản phẩm đó).

Ví dụ: true
defectQuantityboolean

Khi true, chỉ trả về mẫu mã có hàng lỗi/hỏng (defect_quantity > 0 ở ít nhất một kho).

Ví dụ: true
nearly_outboolean

Khi true, chỉ trả về mẫu mã được đánh dấu sắp hết hàng ở ít nhất một kho (cờ nearly_out đã tính sẵn trên row kho). Tương tự limit_quantity_to_warn nhưng đọc cờ đã lưu theo từng kho thay vì tính lại ngưỡng lúc query.

Ví dụ: true

Phản hồi

object
dataarray<object>

Danh sách sản phẩm và mẫu mã

page_numberinteger

Số trang

page_sizeinteger

Kích thước trang

successboolean

Trạng thái thành công

total_entriesinteger

Tổng số bản ghi

total_pagesinteger

Tổng số trang

Yêu cầu
curl "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/products/variations?api_key=API_KEY"
Phản hồi 200
{
  "success": true,
  "data": [
    {
      "average_imported_price": 50000,
      "barcode": null,
      "display_id": "ADXL",
      "is_hidden": false,
      "is_locked": false,
      "is_sell_negative_variation": true,
      "fields": [
        {
          "id": "b032c515-3f71-4a1b-8e1d-77721ae72f37",
          "name": "màu",
          "value": "nâu"
        },
        {
          "id": "677c14b5-458f-4af6-8d73-08bcb2245547",
          "name": "size",
          "value": "s"
        }
      ],
      "id": "e190db2b-1163-4cc3-b956-7a9528fbf5ef",
      "images": [
        "https://cf.shopee.vn/file/03e670d02803fcfbb17b2b719762ee17",
        "https://cf.shopee.vn/file/9070bb1b0e6fcc84b46b6e5057544023"
      ],
      "inserted_at": "2024-01-10T14:34:44.000000",
      "last_imported_price": 55000,
      "price_at_counter": 123000,
      "product_id": "3b98a639-9d40-4faa-a692-6662f20e128d",
      "product": {
        "note": "Dễ vỡ",
        "note_product": "Ghi chú sản phẩm",
        "categories": [],
        "display_id": "ADXL",
        "image": "https://content.pancake.vn/user-content-dev2.pancake.vn/2024/11/7/1fdf82943574017240257bf9c88bc70a06a8813a.png",
        "inserted_at": "2024-01-10T14:34:44",
        "measure_group_id": 58,
        "name": "ASOS đen XL",
        "supplier_product_ids": [
          270
        ],
        "tags": [
          {
            "id": 51,
            "note": "the 3"
          },
          {
            "id": 193,
            "note": "thẻ 1"
          }
        ],
        "is_published": true,
        "manipulation_warehouses": [
          "c52e67ad-d9d0-4276-abe4-e0c9f1f7d2da"
        ],
        "product_attributes": [
          {
            "name": "Color",
            "values": [
              "black",
              "white"
            ]
          },
          {
            "name": "Size",
            "values": [
              "S",
              "M"
            ]
          }
        ],
        "bonus_products": [
          {
            "quantity": 1,
            "variation_id": "61fb5d14-107d-4b78-908d-8dc04f59d2d6",
            "price_original": 11000,
            "images": [
              "https://statics.pancake.vn/user-content.pancake.vn/2021/8/5/fccd6.jpg"
            ],
            "variation_info": {
              "id": "1",
              "measure_group_id": "2220",
              "measure_info": {
                "exchange_value": 100000,
                "measure_id": 2252
              },
              "name": "Combo 10 cây giống Cải nhún",
              "product_id": "RAL10.2675",
              "weight": 1000
            }
          }
        ]
      },
      "remain_quantity": 20,
      "retail_price": 140000,
      "retail_price_by_currency": [
        {
          "currency": "VND",
          "retailPriceByCurrency": "140000"
        },
        {
          "currency": "USD",
          "retailPriceByCurrency": "6"
        }
      ],
      "size": {
        "length": 10,
        "width": 10,
        "height": 10
      },
      "total_purchase_price": 4500000,
      "variations_warehouses": [
        {
          "actual_remain_quantity": 100,
          "pending_quantity": 0,
          "remain_quantity": 20,
          "returning_quantity": 0,
          "selling_avg": 0.23,
          "total_quantity": 102,
          "warehouse_id": "a41b5d73-9236-4a5d-9954-4db6d93242d1"
        }
      ],
      "wholesale_price": [],
      "price_table": [
        {
          "id": "a07c-3f7b-2db0-8002-6a88-7d4c-e7c3",
          "name": "Giá bán sỉ",
          "price": 200000
        },
        {
          "id": "2251-43fa-9de5-765f-89ab-7246-c67b",
          "name": "Giá bán lẻ",
          "price": 150000
        }
      ],
      "keyword": "ANPR",
      "updated_at": "2026-03-09T01:45:58.013616"
    }
  ],
  "page_number": 1,
  "page_size": 30,
  "total_entries": 751,
  "total_pages": 26
}

Lấy thông tin 1 sản phẩm

GET/shops/{SHOP_ID}/products/{PRODUCT_SKU}

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4
PRODUCT_SKUstringbắt buộc

Mã SKU hoặc ID sản phẩm

Ví dụ: "3487e126-b0d9-4dae-89a9-ee60bef2f4e9"

Phản hồi

ProductThông tin sản phẩm
namestringbắt buộc

Tên sản phẩm

weightintegerbắt buộc

Trọng lượng sản phẩm

measure_group_idinteger

Mã nhóm đơn vị tính

Ví dụ: 58
typestring

Loại hình sản phẩm. product: Sản phẩm (mặc định). accessory: Phụ kiện, đi kèm đơn hàng, không có giá bán (giá bán được đưa về 0) và không tính vào số lượng hàng bán được trong báo cáo. service: Dịch vụ, không cần quản lý tồn kho. LOT: Sản phẩm có HSD, quản lý tồn kho theo lô hạn sử dụng, bắt buộc chọn lô khi nhập/xuất kho (shop cần bật quản lý lô).

Giá trị"product""accessory""service""LOT"
Ví dụ: "product"
category_idsarray<integer>

Danh sách mã danh mục

notestring

Ghi chú nội bộ

note_productstring

Ghi chú sản phẩm

product_attributesarray<object>

Thuộc tính sản phẩm

tagsarray<integer>

Thẻ sản phẩm

custom_idstring

Mã tùy chỉnh sản phẩm

is_publishedboolean

Trạng thái Store cake

variationsarray<Variation>

Danh sách mẫu mã

Yêu cầu
curl "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/products/{PRODUCT_SKU}?api_key=API_KEY"
Phản hồi 200
{
  "measure_group_id": 58,
  "name": "Ao so mi nam",
  "category_ids": [
    1290021044,
    201250699
  ],
  "note": "dễ vỡ",
  "note_product": "Ghi chú sản phẩm",
  "product_attributes": [
    {
      "name": "Color",
      "values": [
        "black",
        "white"
      ]
    },
    {
      "name": "Size",
      "values": [
        "s",
        "m"
      ]
    }
  ],
  "tags": [
    193,
    51
  ],
  "weight": 1,
  "custom_id": "PCUSTOMID",
  "is_published": true,
  "variations": [
    {
      "id": null,
      "fields": [
        {
          "name": "Màu",
          "value": "Trắng"
        },
        {
          "name": "Size",
          "value": "M"
        }
      ],
      "images": [
        "https://statics.pancake.vn/user-content.pancake.vn/2021/8/5/fccd6.jpg"
      ],
      "last_imported_price": 30000,
      "retail_price": 140000,
      "retail_price_by_currency": [
        {
          "currency": "VND",
          "retailPriceByCurrency": "140000"
        },
        {
          "currency": "USD",
          "retailPriceByCurrency": "6"
        }
      ],
      "price_at_counter": 123000,
      "weight": 0,
      "size": {
        "length": 10,
        "width": 10,
        "height": 10
      },
      "barcode": "BARCODE123",
      "custom_id": "VCUSTOMID",
      "is_hidden": false,
      "variations_warehouses": [
        {
          "remain_quantity": 10,
          "warehouse_id": "c52e67ad-d9d0-4276-abe4-e0c9f1f7d2da",
          "batch_position": "lô 1",
          "shelf_position": "1.2"
        }
      ],
      "is_removed": false,
      "keyword": "VCUSTOMID"
    }
  ],
  "variations_warehouses": [
    {
      "remain_quantity": 10,
      "warehouse_id": "c52e67ad-d9d0-4276-abe4-e0c9f1f7d2da",
      "batch_position": "lô 1",
      "shelf_position": "1.2"
    }
  ],
  "materials": [
    182,
    193
  ],
  "bonus_products": [
    {
      "quantity": 1,
      "variation_id": "61fb5d14-107d-4b78-908d-8dc04f59d2d6",
      "price_original": 11000,
      "images": [
        "https://statics.pancake.vn/user-content.pancake.vn/2021/8/5/fccd6.jpg"
      ],
      "variation_info": {
        "id": "1",
        "measure_group_id": "2220",
        "measure_info": {
          "exchange_value": 100000,
          "measure_id": 2252
        },
        "name": "Combo 10 cây giống Cải nhún",
        "product_id": "RAL10.2675",
        "weight": 1000
      }
    }
  ],
  "keyword": "vai|cao cấp"
}

Ẩn sản phẩm

PUT/shops/{SHOP_ID}/products/update_hide

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin ẩn/hiện sản phẩm

object
is_hidebooleanbắt buộc

Ẩn sản phẩm

product_idsarray<string>bắt buộc

Danh sách mã sản phẩm

Phản hồi

object
successboolean

Trạng thái thành công

Yêu cầu
curl -X PUT "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/products/update_hide?api_key=API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "is_hide": true,
  "product_ids": [
    "3cbf2227-0205-446e-8c0e-584995f3cb23",
    "36b1e64c-f1f7-4518-afeb-1f9d2edc0f3e"
  ]
}'
Phản hồi 200
{
  "success": true
}

Danh sách thẻ sản phẩm

GET/shops/{SHOP_ID}/tags_products

Lấy danh sách thẻ sản phẩm (không gồm thẻ đã xóa), sắp xếp theo thứ tự hiển thị tăng dần

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Phản hồi

object
dataarray<object>

Danh sách thẻ sản phẩm

successboolean

Trạng thái thành công

Yêu cầu
curl "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/tags_products?api_key=API_KEY"
Phản hồi 200
{
  "success": true,
  "data": [
    {
      "id": 358,
      "index": 0,
      "inserted_at": "2025-07-15T10:38:48",
      "updated_at": "2025-07-15T14:43:16",
      "note": "Hàng dễ vỡ",
      "shop_id": 224
    },
    {
      "id": 359,
      "index": 1,
      "inserted_at": "2025-07-15T11:05:21",
      "updated_at": "2025-07-15T14:43:16",
      "note": "Hàng mới về",
      "shop_id": 224
    }
  ]
}

Tạo thẻ sản phẩm

POST/shops/{SHOP_ID}/tags_products

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin thẻ sản phẩm cần tạo

object
namestringbắt buộc

Tên thẻ

Phản hồi

object
dataobject

Thông tin thẻ sản phẩm

successboolean

Trạng thái thành công

Yêu cầu
curl -X POST "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/tags_products?api_key=API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sản phẩm dễ vỡ"
}'
Phản hồi 200
{
  "success": true,
  "data": {
    "id": 368,
    "index": null,
    "inserted_at": "2025-09-19T10:26:38",
    "note": "Sản phẩm dễ vỡ",
    "shop_id": 20,
    "updated_at": "2025-09-19T10:26:38"
  }
}

Danh mục sản phẩm

GET/shops/{SHOP_ID}/categories

Lấy danh sách danh mục sản phẩm

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Phản hồi

object
dataarray<object>

Danh sách danh mục

successboolean

Trạng thái thành công

Yêu cầu
curl "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/categories?api_key=API_KEY"
Phản hồi 200
{
  "success": true,
  "data": [
    {
      "id": 865301,
      "nodes": [],
      "text": "AirSense Áo Khoác Siêu Nhẹ"
    },
    {
      "id": 30163,
      "nodes": [
        {
          "id": 30167,
          "nodes": [],
          "text": "Áo Thun"
        },
        {
          "id": 30169,
          "nodes": [
            {
              "id": 865293,
              "nodes": [],
              "text": "Áo Thun In Họa Tiết"
            }
          ],
          "text": "Áo Cardigan"
        },
        {
          "id": 865292,
          "nodes": [],
          "text": "Áo Nỉ & Áo Hoodie"
        }
      ],
      "text": "ÁO"
    }
  ]
}

Tạo danh mục sản phẩm

POST/shops/{SHOP_ID}/categories

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin danh mục sản phẩm cần tạo

object
namestringbắt buộc

Tên danh mục

parent_idstring

Mã danh mục cha

Phản hồi

Category
dataobject

Thông tin danh mục sản phẩm

successboolean

Trạng thái thành công

Yêu cầu
curl -X POST "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/categories?api_key=API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sản phẩm dễ vỡ",
  "parent_id": 30163
}'
Phản hồi 200
{
  "success": true,
  "data": {
    "id": 3299,
    "name": "Sản phẩm dễ vỡ"
  }
}

Danh sách thương hiệu sản phẩm

GET/shops/{SHOP_ID}/brand

Lấy danh sách thương hiệu sản phẩm

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Tham số truy vấn

pageinteger

Số trang

Ví dụ: 1
page_sizeinteger

Kích thước trang

Mặc định: 30 · Ví dụ: 30
searchstring

Tìm kiếm theo tên thương hiệu hoặc mã thương hiệu

Ví dụ: "Movado"

Phản hồi

object
dataarray<Brand>

Danh sách thương hiệu

Yêu cầu
curl "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/brand?api_key=API_KEY"
Phản hồi 200
{
  "data": [
    {
      "id": "921f6676-4103-4b63-8503-78737fa74d11",
      "name": "Movado",
      "description": "Brand of Viet Nam",
      "inserted_at": "2025-09-05T08:43:54",
      "updated_at": "2025-09-05T08:43:54",
      "shop_id": 2044252,
      "display_id": 170
    }
  ]
}

Chất liệu sản phẩm

GET/shops/{SHOP_ID}/materials_products

Lấy danh sách chất liệu sản phẩm

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Phản hồi

object
dataarray<object>

Danh sách chất liệu

successboolean

Trạng thái thành công

Yêu cầu
curl "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/materials_products?api_key=API_KEY"
Phản hồi 200
{
  "success": true,
  "data": [
    {
      "description": "cao cấp",
      "id": 180,
      "name": "vai",
      "nodes": [
        {
          "description": "chất liệu bò",
          "id": 181,
          "name": "vải bò",
          "nodes": []
        }
      ]
    }
  ]
}

Danh sách nhóm đơn vị tính

GET/shops/{SHOP_ID}/product_measurements/get_measure

Lấy danh sách nhóm đơn vị tính

Tham số đường dẫn

SHOP_IDintegerbắt buộc

Mã shop

Ví dụ: 4

Phản hồi

object
dataarray<object>

Danh sách nhóm đơn vị tính

successboolean

Trạng thái thành công

Yêu cầu
curl "https://pos.pages.fm/api/v1/shops/{SHOP_ID}/product_measurements/get_measure?api_key=API_KEY"
Phản hồi 200
{
  "success": true,
  "data": [
    {
      "id": 58,
      "name": "Nước hoa 1",
      "nodes": [
        {
          "exchange_value": 30,
          "id": 61,
          "is_default": false,
          "name": "30 ml",
          "parent_id": 58
        }
      ],
      "shop_id": 20
    }
  ]
}