Vai al contenuto
ShopentlyLearn

Modificare i dati del negozio

Puoi usare l’API per modificare i dati del negozio, ad esempio la descrizione o il prezzo di un prodotto.

Modificare alcuni campi

Per cambiare la descrizione di un prodotto non devi inviare tutti i suoi dati. Nella richiesta PATCH, includi i campi da modificare e gli altri campi obbligatori per l’operazione. Gli altri dati rimangono invariati.

Campo omesso
Il suo valore resta invariato.
null
Inviare null cancella il valore, se il campo lo consente. Controlla la descrizione dell’operazione.
Stringa vuota
"" indica una stringa vuota. È diversa da null e non tutti i campi la accettano.

In questo esempio eliminiamo la descrizione del prodotto in tedesco. Il nome e le descrizioni nelle altre lingue rimangono invariati.

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

Richiesta cURL

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

Risposta

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

Se non ricevi una risposta

La mancanza di una risposta non significa necessariamente che la modifica non sia stata salvata. La connessione potrebbe essersi interrotta dopo il salvataggio.

Quando salvi dati, aggiungi l’header Idempotency-Key con un valore univoco. Se non ricevi una risposta e ripeti la stessa modifica, usa la stessa chiave, lo stesso URL, metodo e contenuto della richiesta.

Se l’API ha già salvato il risultato di quella richiesta, lo restituisce senza eseguire di nuovo la modifica. Usa una nuova chiave per una modifica diversa.

Riutilizzare la chiave per una richiesta diversa produce idempotency.key_reused.

Se qualcuno modifica gli stessi dati

Prima di modificare i dati, recupera la versione attuale. Se l’operazione richiede expected_version, inserisci in quel campo la versione ricevuta.

Se nel frattempo qualcuno ha modificato i dati, l’API rifiuta il salvataggio. Recuperali di nuovo e verifica se la modifica prevista è ancora appropriata. Solo allora invia una nuova richiesta con la versione attuale.

Per cambiare un prezzo potrebbe servire anche la versione del prezzo, della variante o del listino. Trovi i campi necessari nella descrizione dell’operazione.