Gå til innhold
ShopentlyLearn

Endre butikkens data

Med API-et kan du endre butikkens data, for eksempel beskrivelsen eller prisen til et produkt.

Endre utvalgte felt

Du trenger ikke sende alle produktdataene for å endre beskrivelsen. Ta med feltene du endrer og de andre obligatoriske feltene i PATCH-forespørselen. Resten av dataene forblir uendret.

Utelatt felt
Verdien forblir uendret.
null
Hvis du sender null, fjernes verdien dersom feltet tillater det. Sjekk beskrivelsen av operasjonen.
Tom streng
"" betyr en tom tekststreng. Den er forskjellig fra null og godtas ikke av alle felt.

I dette eksemplet fjerner vi produktets tyske beskrivelse. Navnet og beskrivelsene på andre språk forblir uendret.

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

cURL-forespørsel

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 svar

Manglende svar betyr ikke nødvendigvis at endringen ikke ble lagret. Forbindelsen kan ha blitt brutt etter at endringen ble utført.

Legg til headeren Idempotency-Key med en unik verdi når du lagrer data. Hvis du ikke får svar og prøver den samme endringen igjen, bruker du samme nøkkel, URL, metode og innhold.

Hvis API-et allerede har lagret resultatet av forespørselen, returnerer det resultatet uten å utføre endringen på nytt. Bruk en ny nøkkel for en annen endring.

Gjenbruk av en nøkkel til en annen forespørsel gir idempotency.key_reused.

Hvis noen endrer de samme dataene

Hent gjeldende data før du endrer dem. Hvis operasjonen krever expected_version, oppgir du den mottatte versjonen i feltet.

Hvis noen har endret dataene i mellomtiden, avviser API-et lagringen. Hent dem på nytt og kontroller at den planlagte endringen fortsatt passer. Først da sender du en ny forespørsel med gjeldende versjon.

Når du endrer en pris, kan du også trenge versjonen av prisen, varianten eller prislisten. Du finner feltene du trenger i beskrivelsen av operasjonen.