修改商店数据
通过 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 会拒绝保存。请重新获取数据,确认原定修改仍然合适,再使用当前版本发送新请求。
修改价格时,可能还需要价格、规格或价目表的版本。所需字段请查看具体操作的说明。