Přejít na obsah
ShopentlyLearn

Změna dat obchodu

Přes API můžete měnit data obchodu, například popis nebo cenu produktu.

Změna vybraných polí

Při změně popisu produktu nemusíte posílat všechna jeho data. V požadavku PATCH uveďte měněná pole a další pole, která operace vyžaduje. Ostatní data produktu zůstanou beze změny.

Vynechané pole
Jeho hodnota zůstane beze změny.
null
Odesláním null hodnotu smažete, pokud to pole umožňuje. Ověřte si to v popisu operace.
Prázdný řetězec
"" znamená prázdný text. Liší se od null a ne každé pole ho přijímá.

V tomto příkladu odstraňujeme německý popis produktu. Název produktu a popisy v ostatních jazycích zůstanou beze změny.

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

Požadavek 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}'

Odpověď

{
  "data": {
    "deleted": false,
    "id": "example",
    "version": 2
  },
  "meta": {
    "request_id": "example"
  }
}

Když nepřijde odpověď

Chybějící odpověď nemusí znamenat, že se změna neuložila. Spojení mohlo být přerušeno až po jejím provedení.

Při ukládání dat přidejte hlavičku Idempotency-Key s jedinečnou hodnotou. Pokud nedostanete odpověď a opakujete stejnou změnu, použijte stejný klíč, adresu, metodu i tělo požadavku.

Pokud už API uložilo výsledek tohoto požadavku, vrátí ho bez opětovného provedení změny. Pro jinou změnu použijte nový klíč.

Použití stejného klíče pro jiný požadavek vrátí idempotency.key_reused.

Když někdo změní stejná data

Před změnou načtěte aktuální data. Pokud operace vyžaduje expected_version, zadejte do tohoto pole získanou verzi.

Pokud někdo data mezitím změnil, API zápis odmítne. Načtěte je znovu a ověřte, zda je plánovaná změna stále vhodná. Teprve potom odešlete nový požadavek s aktuální verzí.

Změna ceny může vyžadovat také verzi ceny, varianty nebo ceníku. Potřebná pole najdete v popisu operace.