Преминете към съдържанието
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 отказва записа. Изтеглете ги отново и проверете дали планираната промяна все още е подходяща. Едва тогава изпратете нова заявка с текущата версия.

Промяната на цена може да изисква и версията на цената, варианта или ценовата листа. Нужните полета са описани при съответната операция.