Promjena podataka trgovine
Putem API-ja možete promijeniti podatke trgovine, primjerice opis ili cijenu proizvoda.
Promjena odabranih polja
Za promjenu opisa proizvoda ne morate slati sve njegove podatke. U zahtjevu PATCH navedite polja koja mijenjate i druga polja obavezna za tu operaciju. Ostali podaci ostaju nepromijenjeni.
- Izostavljeno polje
- Njegova vrijednost ostaje nepromijenjena.
- null
- Slanje vrijednosti null briše vrijednost ako polje to dopušta. Provjerite opis operacije.
- Prazan niz
- "" označava prazan tekst. Razlikuje se od null i ne prihvaća ga svako polje.
U ovom primjeru uklanjamo opis proizvoda na njemačkom. Naziv i opisi na drugim jezicima ostaju nepromijenjeni.
/api/v1/products/example?locale=decURL zahtjev
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}'
Odgovor
{
"data": {
"deleted": false,
"id": "example",
"version": 2
},
"meta": {
"request_id": "example"
}
}
Ako ne dobijete odgovor
Izostanak odgovora ne mora značiti da promjena nije spremljena. Veza se mogla prekinuti nakon spremanja.
Pri spremanju podataka dodajte zaglavlje Idempotency-Key s jedinstvenom vrijednošću. Ako ne dobijete odgovor i ponavljate istu promjenu, koristite isti ključ, adresu, metodu i sadržaj zahtjeva.
Ako API već ima spremljen rezultat tog zahtjeva, vratit će ga bez ponovnog izvršavanja promjene. Za drugu promjenu koristite novi ključ.
Ponovna uporaba ključa za drugi zahtjev vraća idempotency.key_reused.
Ako netko promijeni iste podatke
Prije promjene dohvatite aktualne podatke. Ako operacija zahtijeva expected_version, u to polje upišite primljenu verziju.
Ako je netko u međuvremenu promijenio podatke, API će odbiti spremanje. Dohvatite ih ponovno i provjerite je li planirana promjena i dalje prikladna. Tek tada pošaljite novi zahtjev s aktualnom verzijom.
Promjena cijene može zahtijevati i verziju cijene, varijante ili cjenika. Potrebna polja navedena su u opisu operacije.