跳至內容
ShopentlyLearn

修改商店資料

透過 API,你可以修改商店資料,例如商品描述或價格。

修改指定欄位

修改商品描述時,無須傳送商品的全部資料。在 PATCH 請求中,提供要修改的欄位及該操作要求的其他必填欄位。其餘資料保持不變。

省略欄位
其值維持不變。
null
如果欄位允許,傳送 null 會清除其值。請查看該操作的說明。
空字串
"" 表示空字串。它與 null 不同,並非所有欄位都接受它。

此範例會刪除商品的德語描述。商品名稱和其他語言的描述保持不變。

PATCH/api/v1/products/example?locale=de

cURL 請求

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 會拒絕儲存。請重新取得資料,確認原定修改仍然合適,再使用目前版本傳送新請求。

修改價格時,可能還需要價格、規格或價目表的版本。所需欄位請查看個別操作的說明。