Ændring af butikkens data
Med API'et kan du ændre butikkens data, for eksempel et produkts beskrivelse eller pris.
Ændr udvalgte felter
Du behøver ikke sende alle produktets data for at ændre beskrivelsen. Medtag de felter, du ændrer, og de øvrige obligatoriske felter i PATCH-anmodningen. Resten af dataene forbliver uændrede.
- Udeladt felt
- Værdien forbliver uændret.
- null
- Hvis du sender null, fjernes værdien, hvis feltet tillader det. Se beskrivelsen af handlingen.
- Tom streng
- "" betyder en tom tekststreng. Den er forskellig fra null og accepteres ikke af alle felter.
I dette eksempel fjerner vi produktets tyske beskrivelse. Navnet og beskrivelserne på andre sprog forbliver uændrede.
/api/v1/products/example?locale=decURL-anmodning
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}'
Svar
{
"data": {
"deleted": false,
"id": "example",
"version": 2
},
"meta": {
"request_id": "example"
}
}
Hvis du ikke får et svar
Et manglende svar betyder ikke nødvendigvis, at ændringen ikke blev gemt. Forbindelsen kan være afbrudt, efter at ændringen blev udført.
Tilføj headeren Idempotency-Key med en unik værdi, når du gemmer data. Hvis du ikke får et svar og gentager den samme ændring, skal du bruge samme nøgle, URL, metode og indhold.
Hvis API’et allerede har gemt resultatet af forespørgslen, returneres det uden at udføre ændringen igen. Brug en ny nøgle til en anden ændring.
Genbrug af en nøgle til en anden forespørgsel giver idempotency.key_reused.
Hvis andre ændrer de samme data
Hent de aktuelle data, før du ændrer dem. Hvis handlingen kræver expected_version, skal du angive den modtagne version i feltet.
Hvis nogen har ændret dataene i mellemtiden, afviser API’et ændringen. Hent dem igen, og kontrollér, om den planlagte ændring stadig passer. Send først derefter en ny forespørgsel med den aktuelle version.
Når du ændrer en pris, kan du også få brug for prisens, variantens eller prislistens version. De nødvendige felter står i beskrivelsen af handlingen.