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