修改商店資料
透過 API,你可以修改商店資料,例如商品描述或價格。
修改指定欄位
修改商品描述時,無須傳送商品的全部資料。在 PATCH 請求中,提供要修改的欄位及該操作要求的其他必填欄位。其餘資料保持不變。
- 省略欄位
- 其值維持不變。
- null
- 如果欄位允許,傳送 null 會清除其值。請查看該操作的說明。
- 空字串
- "" 表示空字串。它與 null 不同,並非所有欄位都接受它。
此範例會刪除商品的德語描述。商品名稱和其他語言的描述保持不變。
PATCH
/api/v1/products/example?locale=decURL 請求
curl --disable --globoff --fail-with-body --silent --show-error \
--proto '=https' --connect-timeout 5 --max-time 30 \
--request PATCH \
--url 'https://shop.onshopently.com/api/v1/products/example?locale=de' \
--header 'Authorization: Bearer EXAMPLE_ACCESS_TOKEN' \
--header 'Idempotency-Key: example-product-clear-translation' \
--header 'Content-Type: application/json' \
--data-raw '{"description":null,"expected_version":1}'
回應
{
"data": {
"deleted": false,
"id": "example",
"version": 2
},
"meta": {
"request_id": "example"
}
}
未收到回應時
未收到回應不一定表示修改未儲存。連線可能是在修改完成後中斷的。
儲存資料時,請加入具有唯一值的 Idempotency-Key 標頭。如果沒有收到回應,需要重試同一次修改,請保持相同的金鑰、位址、方法及請求內容。
如果 API 已儲存該請求的結果,就會直接回傳,不會再次執行修改。其他修改需要使用新的金鑰。
同一金鑰用於不同請求會產生 idempotency.key_reused。
其他人修改了相同資料時
修改前先取得最新資料。如果操作要求提供 expected_version,請在該欄位填寫收到的版本。
如果其他人在此期間修改了資料,API 會拒絕儲存。請重新取得資料,確認原定修改仍然合適,再使用目前版本傳送新請求。
修改價格時,可能還需要價格、規格或價目表的版本。所需欄位請查看個別操作的說明。