Winkelgegevens wijzigen
Met de API kun je winkelgegevens wijzigen, bijvoorbeeld de beschrijving of prijs van een product.
Bepaalde velden wijzigen
Om een productbeschrijving te wijzigen hoef je niet alle productgegevens te versturen. Geef in het PATCH-verzoek de velden op die je wilt wijzigen en de overige verplichte velden voor deze bewerking. De andere gegevens blijven ongewijzigd.
- Weggelaten veld
- De waarde blijft ongewijzigd.
- null
- Met null wis je de waarde als het veld dit toestaat. Controleer de beschrijving van de bewerking.
- Lege tekenreeks
- "" staat voor lege tekst. Dat is iets anders dan null en niet elk veld accepteert het.
In dit voorbeeld verwijderen we de Duitse productbeschrijving. De naam en beschrijvingen in andere talen blijven ongewijzigd.
/api/v1/products/example?locale=decURL-aanvraag
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}'
Antwoord
{
"data": {
"deleted": false,
"id": "example",
"version": 2
},
"meta": {
"request_id": "example"
}
}
Als je geen antwoord krijgt
Geen antwoord betekent niet altijd dat de wijziging niet is opgeslagen. De verbinding kan na het opslaan zijn verbroken.
Voeg bij het opslaan van gegevens de header Idempotency-Key met een unieke waarde toe. Ontvang je geen antwoord en probeer je dezelfde wijziging opnieuw, gebruik dan dezelfde sleutel, URL, methode en verzoekinhoud.
Heeft de API al een resultaat voor dat verzoek opgeslagen, dan geeft ze dat terug zonder de wijziging opnieuw uit te voeren. Gebruik een nieuwe sleutel voor een andere wijziging.
Dezelfde sleutel voor een ander verzoek geeft idempotency.key_reused.
Als iemand dezelfde gegevens wijzigt
Haal vóór een wijziging de huidige gegevens op. Vereist de bewerking expected_version, vul dan de ontvangen versie in dat veld in.
Heeft iemand de gegevens intussen gewijzigd, dan weigert de API de wijziging. Haal de gegevens opnieuw op en controleer of je geplande wijziging nog passend is. Verstuur pas daarna een nieuw verzoek met de huidige versie.
Bij een prijswijziging kan ook de versie van de prijs, variant of prijslijst nodig zijn. De benodigde velden staan bij de bewerking beschreven.