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.
/api/v1/products/example?locale=dePož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.