批次更新規格價格

View as Markdown
批次更新多筆規格的牌價與對外售價,逐筆結果互不影響。這是真正的部分更新:price、sellPrice 各自可省略,省略(null)保留該規格現有的值,不會被歸零;兩者若有帶值,必須介於 0 到 9999999.99 之間,超出範圍該筆失敗並帶 invalid_price。skuId 必填,指向不存在、屬於其他租戶,或組合商品(Bundle)的規格時,該筆失敗並帶 not_found——本端點只處理一般規格,組合商品的價格請改用 PUT /v1/bundle-prices/batch。⚠️ 逐筆狀態一律是 updated,不會是 created:價格是 sku 上既有的欄位,這支端點只會更新既有的列,不會建立新規格。送出空陣列或沒有 body 會在受理前被拒絕,回傳 400 empty_batch;已受理的請求一律回傳 HTTP 200,逐筆的處理結果放在回應 body 的 items 裡(見 BatchUpsertResult / BatchItemResult),單筆失敗不會讓其他筆一起失敗。

Authentication

X-Signaturestring

每個 /v1 請求都必須帶 X-Client-Id、X-Timestamp、X-Nonce 與 X-Signature 四個標頭。X-Signature 是以 client secret 對 canonical string 做 HMAC-SHA256 後的 Base64。canonical string 的組成、可複製的簽章範例與 401 排查步驟,請參閱「驗證與簽章」。

Request

This endpoint expects a list of objects.
skuIdlongOptional

要更新價格的規格序號,必填;指向不存在、屬於其他租戶,或組合商品(Bundle)的規格時,這一筆會在逐筆結果中回報 failed,不影響其他筆。

pricedouble or nullOptional

牌價。省略(null)保留現值;若有帶值,必須介於 0 到 9999999.99 之間,超出範圍該筆失敗並帶 invalid_price。

sellPricedouble or nullOptional

對外售價。省略(null)保留現值;範圍規則與 price 相同。

Response

OK
itemslist of objects or nullOptional

逐筆的處理結果,順序與送出的陣列相同,一筆對一筆。

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
500
Internal Server Error