Pereiti prie turinio
ShopentlyLearn

Parduotuvės duomenų keitimas

Per API galite keisti parduotuvės duomenis, pavyzdžiui, prekės aprašymą ar kainą.

Keiskite pasirinktus laukus

Norint pakeisti prekės aprašymą, nereikia siųsti visų jos duomenų. Į PATCH užklausą įtraukite keičiamus laukus ir kitus šiam veiksmui privalomus laukus. Kiti duomenys nesikeičia.

Praleistas laukas
Jo reikšmė lieka nepakitusi.
null
Siunčiant null reikšmė pašalinama, jei laukas tai leidžia. Patikrinkite operacijos aprašymą.
Tuščia eilutė
"" reiškia tuščią tekstą. Jis skiriasi nuo null ir priimamas ne visuose laukuose.

Šiame pavyzdyje pašaliname prekės aprašymą vokiečių kalba. Pavadinimas ir aprašymai kitomis kalbomis nesikeičia.

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

cURL užklausa

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}'

Atsakymas

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

Jei negaunate atsakymo

Jei atsakymo nėra, tai dar nereiškia, kad pakeitimas nebuvo išsaugotas. Ryšys galėjo nutrūkti jau po pakeitimo.

Išsaugodami duomenis pridėkite antraštę Idempotency-Key su unikalia reikšme. Jei negaunate atsakymo ir kartojate tą patį pakeitimą, naudokite tą patį raktą, adresą, metodą ir užklausos turinį.

Jei API jau išsaugojo šios užklausos rezultatą, jį grąžina neatlikdama pakeitimo dar kartą. Kitam pakeitimui naudokite naują raktą.

Tas pats raktas kitai užklausai sukelia idempotency.key_reused.

Jei kas nors pakeičia tuos pačius duomenis

Prieš keisdami gaukite naujausius duomenis. Jei operacijai reikia expected_version, šiame lauke nurodykite gautą versiją.

Jei kas nors tuo metu pakeitė duomenis, API atmes įrašymą. Gaukite juos dar kartą ir patikrinkite, ar numatytas pakeitimas vis dar tinkamas. Tik tada siųskite naują užklausą su dabartine versija.

Keičiant kainą gali reikėti ir kainos, varianto ar kainoraščio versijos. Reikiami laukai nurodyti operacijos aprašyme.