OMSFlash Sale

Lấy Quota Usage (số lượng đã bán)

Truy vấn số lượng sản phẩm đã bán trong một chương trình Flash Sale hoặc Order Window để kiểm tra quota còn lại.

Endpoint

GET /site/orders/quota-usage

Headers

KeyValueBắt buộcMô tả
SiteTenantId{tenant_id}CóID của công ty/tenant.

Workflow & Logic

API này dùng để truy vấn số lượng sản phẩm đã bán (quota usage) trong một chương trình giá đặc biệt (Flash Sale hoặc Order Window). Dữ liệu được tính từ các đơn hàng chưa bị hủy.

Kết hợp với thông tin quota_total_quantity từ Flash Sale Detail, storefront có thể tính toán và hiển thị:

  • Số lượng còn lại có thể mua.
  • Thanh tiến trình "Đã bán X/Y sản phẩm".
  • Disable nút mua khi hết quota.

Cách tính

Hệ thống đếm tổng uom_quantity và item_quantity của các dòng sản phẩm trong đơn hàng của shop hiện tại với điều kiện:

  • Dòng sản phẩm được bán theo ngữ cảnh giá flash_sale (hoặc order_window) có ID = context_id.
  • Đơn hàng không bị hủy.
  • Nhóm theo product_id + product_variant_id.

Query Parameters

TênKiểuBắt buộcMô tả
context_typestringCóLoại chương trình: flash_sale hoặc order_window.
context_idintegerCóID chương trình (Flash Sale ID hoặc Order Window ID).
product_variant_idintegerKhôngLọc theo biến thể sản phẩm cụ thể (mặc định 0 = lấy tất cả).

Response Schema

HTTP 200 - Thành công

FieldKiểuMô tả
context_typestringLoại chương trình đã truyền vào (flash_sale hoặc order_window).
context_idintegerID chương trình đã truyền vào.
itemsarrayDanh sách quota usage theo từng sản phẩm/biến thể.

items[]

FieldKiểuMô tả
product_idintegerID sản phẩm.
product_variant_idintegerID biến thể sản phẩm.
total_uom_quantityintegerTổng số lượng theo UOM đã bán.
total_item_quantityintegerTổng số lượng item đã bán.
order_countintegerSố đơn hàng đã đặt (distinct).

Ví dụ Response

{
  "context_type": "flash_sale",
  "context_id": 5,
  "items": [
    {
      "product_id": 150,
      "product_variant_id": 301,
      "total_uom_quantity": 45,
      "total_item_quantity": 45,
      "order_count": 30
    },
    {
      "product_id": 150,
      "product_variant_id": 302,
      "total_uom_quantity": 20,
      "total_item_quantity": 20,
      "order_count": 15
    }
  ]
}

HTTP 422 - Lỗi dữ liệu

Mã lỗiMô tả
error_invalid_context_type_or_idcontext_type không hợp lệ (phải là flash_sale hoặc order_window) hoặc context_id <= 0.

On this page