Promena podataka prodavnice
Putem API-ja možete menjati podatke prodavnice, na primer opis ili cenu proizvoda.
Promena izabranih polja
Da biste promenili opis proizvoda, ne morate slati sve njegove podatke. U zahtevu PATCH navedite polja koja menjate i ostala obavezna polja za tu operaciju. Drugi podaci ostaju nepromenjeni.
- Izostavljeno polje
- Njegova vrednost ostaje nepromenjena.
- null
- Slanje vrednosti null briše vrednost ako polje to dozvoljava. Proverite opis operacije.
- Prazan string
- "" označava prazan tekst. Razlikuje se od null i ne prihvata ga svako polje.
U ovom primeru uklanjamo opis proizvoda na nemačkom. Naziv i opisi na drugim jezicima ostaju nepromenjeni.
/api/v1/products/example?locale=decURL zahtev
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 promena nije sačuvana. Veza je mogla da se prekine nakon čuvanja.
Pri čuvanju podataka dodajte zaglavlje Idempotency-Key sa jedinstvenom vrednošću. Ako ne dobijete odgovor i ponavljate istu promenu, koristite isti ključ, adresu, metodu i sadržaj zahteva.
Ako API već ima sačuvan rezultat tog zahteva, vratiće ga bez ponovnog izvršavanja promene. Za drugu promenu koristite novi ključ.
Ponovna upotreba ključa za drugi zahtev vraća idempotency.key_reused.
Ako neko promeni iste podatke
Pre promene preuzmite aktuelne podatke. Ako operacija zahteva expected_version, u to polje unesite dobijenu verziju.
Ako je neko u međuvremenu promenio podatke, API će odbiti upis. Preuzmite ih ponovo i proverite da li je planirana promena i dalje odgovarajuća. Tek tada pošaljite novi zahtev sa aktuelnom verzijom.
Promena cene može zahtevati i verziju cene, varijante ili cenovnika. Potrebna polja navedena su u opisu operacije.