建立規格

View as Markdown
建立單一規格。`outerSysCode` 為必填,省略回傳 400 outerSysCode is required to create a SKU;`productId` 也是必填且必須指向既有商品,省略或帶入非正整數回傳 400 productId is required to create a SKU。 若 `productId` 指向的是一筆組合商品,本端點回傳 400 bundle product cannot receive SKUs through this API——一個組合品商品固定只有一個 SKU,只能透過組合商品專屬端點建立與維護,不得再透過本端點於其底下新建規格。 庫存不能在這裡設定——新建規格的在庫數固定為 0,之後要用庫存的專屬端點寫入(見「庫存」)。 未帶 id 且 `outerSysCode` 未對應到同一商品底下的既有規格時新增;`outerSysCode` 已存在於同一商品底下時改為更新該筆(去重比對限定在同一個 `productId` 之內,不同商品下的相同代碼不會互相匹配),重送同一份資料不會產生重複規格。若去重命中的是組合商品的規格,本端點回傳 400 bundle SKU cannot be updated through this API,且絕不會改為新增。

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 排查步驟,請參閱[「驗證與簽章」](/authentication)。

Request

This endpoint expects an object.
idlong or nullOptional

規格序號。帶 id 時一律視為更新該筆規格,不會再比對 outerSysCode;省略時改依 productId 與 outerSysCode 判斷新增或更新。PUT /v1/skus/{id} 會忽略這裡的值,一律以路徑上的 id 為準。

productIdlong or nullOptional

對應的商品序號,必須指向既有商品,且不可以是組合商品——一個組合品商品固定只有一個 SKU,由組合商品專屬端點建立與維護;帶入組合商品的商品序號一律回傳 400 bundle product cannot receive SKUs through this API,新增與更新(改指到另一個商品)皆適用。

新增時為必填,省略或帶入非正整數回傳 400 productId is required to create a SKU;更新時省略會保留規格目前所屬的商品,帶新值則會把規格改到另一個商品底下。outerSysCode 的去重比對也是以這個欄位限定範圍,同一組 outerSysCode 換一個 productId 視為完全不同的比對對象。

outerSysCodestring or nullOptional

ERP 端的規格代碼,用來在同一個 productId 底下與既有規格比對、去重,不同商品下的相同代碼不會互相匹配。新增時為必填,省略回傳 400 outerSysCode is required to create a SKU;更新時省略保留現有值。長度上限 50 字元,超過回傳 400 outer_sys_code_too_long。

namestring or nullOptional

名稱。新增時省略視為空字串;更新時省略保留現有值。長度上限 100 字元,超過回傳 400 name_too_long。

barcodestring or nullOptional

條碼。查詢時是精確比對,與 outerSysCode、name 的子字串比對不同,詳見 listSkus 端點說明。新增時省略視為空字串;更新時省略保留現有值。長度上限 50 字元,超過回傳 400 barcode_too_long。

warehousestring or nullOptional

倉別。新增時省略視為空字串;更新時省略保留現有值。長度上限 50 字元,超過回傳 400 warehouse_too_long。

unitstring or nullOptional

商品單位。新增時省略視為空字串;更新時省略保留現有值。長度上限 50 字元,超過回傳 400 unit_too_long。

specstring or nullOptional

規格內容(例如「12入」「500g」)。新增時省略視為空字串;更新時省略保留現有值。長度上限 100 字元,超過回傳 400 spec_too_long。

pricedouble or nullOptional

價格。新增時省略視為 0;更新時省略保留現有值。

sellPricedouble or nullOptional

賣價。新增時省略視為 0;更新時省略保留現有值。

quantityPrecisioninteger or nullOptional

數量精度(0 為整數,1 至 4 為小數位數)。新增時省略視為 0;更新時省略保留現有值。

Response

OK
idlongOptional

新增或更新成功後,該筆資料的 id。

Errors

401
Unauthorized Error
403
Forbidden Error
500
Internal Server Error