Промяна на данните в магазина
Чрез API можете да променяте данни в магазина, например описанието или цената на продукт.
Промяна на избрани полета
За да промените описанието на продукт, не е нужно да изпращате всичките му данни. В заявката PATCH посочете полетата за промяна и останалите задължителни полета за операцията. Другите данни остават непроменени.
- Пропуснато поле
- Стойността му остава непроменена.
- null
- Изпращането на null изтрива стойността, ако полето го позволява. Проверете описанието на операцията.
- Празен низ
- "" означава празен текст. Той се различава от null и не всяко поле го приема.
В този пример премахваме описанието на продукта на немски. Името и описанията на другите езици остават непроменени.
/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 отказва записа. Изтеглете ги отново и проверете дали планираната промяна все още е подходяща. Едва тогава изпратете нова заявка с текущата версия.
Промяната на цена може да изисква и версията на цената, варианта или ценовата листа. Нужните полета са описани при съответната операция.