OVIRO LogoOVIRO
Quản lý nhóm sản phẩmGiá biến thể

Cập nhật giá theo lô

Cập nhật/Tạo mới giá cho các biến thể của một sản phẩm thuộc một chính sách giá cụ thể.

Endpoint

PUT /v1/productvariantprices/product/{product_id}/policy/{price_policy_id}

Path Parameters

TênKiểuBắt buộcMô tả
product_idintID sản phẩm
price_policy_idintID chính sách giá

Request Body

Gửi danh sách các biến thể và giá tương ứng của chúng. Hệ thống sẽ:

  1. Tạo mới: Nếu giá cho biến thể đó chưa có.
  2. Cập nhật: Nếu giá đã tồn tại và có thay đổi.
  3. Xóa: Nếu price_by_uom trống, bản ghi giá sẽ bị xóa.
TrườngKiểuBắt buộcMô tả
company_idintID công ty
creator_idintID người thao tác
itemsarrayDanh sách giá biến thể. Tối đa 1000 items.

Cấu trúc Item trong mảng items

TrườngKiểuBắt buộcMô tả
product_idintID sản phẩm
product_variant_idintID biến thể
price_by_uomarrayMảng giá theo đơn vị tính (xem Object Schema). Nếu rỗng [], giá cũ sẽ bị xóa.
price_policy_idintID chính sách giá (phải trùng với URL)
priceintKhông(Legacy field, thường không dùng, nên gửi 0)

Ví dụ JSON

{
    "company_id": 1,
    "creator_id": 10,
    "items": [
        {
            "product_id": 123,
            "product_variant_id": 101,
            "price_policy_id": 1,
            "price": 0,
            "price_by_uom": [
                { "uom_id": 0, "value": 150000, "min_quantity": 0 },
                { "uom_id": 5, "value": 3000000, "min_quantity": 1 }
            ]
        },
        {
            "product_id": 123,
            "product_variant_id": 102,
            "price_policy_id": 1,
            "price": 0,
            "price_by_uom": []
        }
    ]
}

Response Schema

HTTP 200 - OK

Trả về danh sách các giá đã được xử lý (Tạo mới/Cập nhật). Các giá bị xóa sẽ không xuất hiện trong danh sách trả về.

{
    "currentpage": 1,
    "limit": 200,
    "total": 1,
    "items": [
        {
            "company_id": 1,
            "creator_id": 10,
            "id": 501,
            "product_id": 123,
            "product_variant_id": 101,
            "price_policy_id": 1,
            "price_by_uom": [
                { "uom_id": 0, "value": 150000, "min_quantity": 0 },
                { "uom_id": 5, "value": 3000000, "min_quantity": 1 }
            ],
            "source": 1,
            "note": "",
            "date_created": 1710748200,
            "date_modified": 1710748200
        }
    ],
    "__count_ignore_changed": 0
}

Error Codes

Lỗi dữ liệu đầu vào. Trả về mảng các mã lỗi:

Mã lỗiMô tả
error_items_property_is_requiredTrường items không được để trống
error_items_count_max_1000Số lượng items tối đa là 1000
error_company_id_requiredID công ty không được để trống
error_company_id_notfoundID công ty không tìm thấy
error_user1_id_requiredID người tạo không được để trống
error_user_id_notfoundID người tạo không tìm thấy
error_create_product_variant_price_failed(Variant ID #ID)Lỗi khi tạo giá cho biến thể cụ thể
error_update_product_variant_price_failed(Variant ID #ID)Lỗi khi cập nhật giá cho biến thể cụ thể
error_delete_product_variant_price_failed(Variant ID #ID)Lỗi khi xóa giá cho biến thể cụ thể

On this page