跳至内容
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 会拒绝保存。请重新获取数据,确认原定修改仍然合适,再使用当前版本发送新请求。

修改价格时,可能还需要价格、规格或价目表的版本。所需字段请查看具体操作的说明。