Pređi na sadržaj
ShopentlyLearn

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.

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

cURL 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.