Problema API REST

AI-generated summary

Problema nell’aggiornamento dello stock prodotti via REST Admin API di Shopify. Viene eseguita prima una chiamata a inventory_levels/set.json per impostare la quantità disponibile, poi una PUT su products/{id}.json per aggiornare il prodotto/variante.

Il comportamento segnalato è intermittente: nella maggior parte dei casi le chiamate funzionano, ma talvolta sul prodotto vengono azzerati stock e prezzi. L’effetto osservato fa pensare che la variante venga eliminata e ricreata, anche perché si perde anche lo storico delle modifiche di magazzino. È stato anche ammesso che in alcuni casi potrebbe essere stato inviato l’ID variante sbagliato, ma resta il dubbio che ciò basti a causare questo effetto.

La risposta del supporto non conferma né smentisce un bug noto. Vengono indicati documentazione e forum tecnici, e viene chiarito che Shopify può investigare errori delle API, ma non l’implementazione fatta da terzi.

Esito attuale: nessuna risoluzione tecnica nel thread. Come passo successivo, viene richiesto di aprire un ticket con dettagli completi della richiesta HTTP, versione API, app, client usato e risposta ricevuta.

Stiamo riscontrando un problema quando cerchiamo di aggiornare lo stock di un prodotto tramite le API REST.
Chiamiamo:
POST /admin/api/#APIVersion/inventory_levels/set.json
Passando:
{
‘inventory_item_id’ : #inventory_item_id,
‘location_id’ : #location_id,
‘available’ : #available
}
Successivamente chiamiamo:
PUT /admin/api/#APIVersion/products/#id.json

Passando:
{“published_scope”:“global”,“options”:[{“name”:“Title”}],“variants”:[{“sku”:“OB21-19”,“id”:#id,“inventory_management”:“shopify”}]},“product id”:#product_id,“sku”:“OB21-19”}

Le chiamate funzionano correttamente la maggior parte delle volte, però in alcuni casi sul prodotto vengono annullati sia stock che prezzi. E’ come se la variante venisse eliminata e ricreata nuovamente, anche perché il log delle variazioni stock viene cancellato.

C’è qualche bug o comportamento noto che potrebbe esserne la causa?

Alcune volte abbiamo inviato erroneamente l’id sbagliato in aggiornamento sulle varianti, ma ciò non dovrebbe causare questo comportamento. Oppure ci sfugge qualcosa?

Buongiorno @bindCommerce ,

La ringrazio di essersi messo in contatto con noi. Sono Alessio del supporto italiano qui a Shopify ed oggi sarò io ad incaricarmi di rispondere al suo quesito. Da quanto riesco a capire sta riscontrando delle problematiche con l’aggiornamento dei prodotto tramite le API Rest.

Come prima cosa è mia preoccupazione condividerle alcune risorse che potranno esserle utili per ulteriori sviluppi e anomalie, tenendo a mente che al momento sono disponibili solamente in inglese:

Ci tengo a precisare che Shopify le offre supporto con le proprie API, ma non su come le API sono poi implementate da sviluppatori esterni. Ciò significa che, potremo investigare solamente nei casi in cui si presentino errori con le API stesse, tuttavia non viene offerto supporto per verificare se le API siano state utilizzate correttamente.

Detto questo, se non fosse riuscito a risolvere consultando le risorse condivise poco sopra, a questo punto sarà possibile inoltrare una richiesta al nostro dipartimento tecnico interno. In questo caso, dovrò chiederle di inviare una nuova richiesta all’assistenza da questa pagina e fornirci le risposte ai punti seguenti:

  1. Qual è il nome dell’app in questione? Quest’ultima ha già funzionato in passato?

  2. Qual è la problematica riscontrata e qual è il comportamento previsto?

  3. Confermare gli API dell’applicazione, il suo linguaggio e il client utilizzato per le modifiche (es. Postman)

  4. Confermare quale versione degli API è utilizzata (es. 2021-06)

  5. Qual è la richiesta e il metodo utilizzato dall’app? (es. Evasione: richiesta, POST: metodo)

  6. Per confermare il punto #5, dovrà rispondere con queste informazioni in Formato raw HTTP (le immagini non saranno accettate):

  • La chiave API dell’app (la prego di non includere la password, né il X-Shopify-Access-Token)
  • La richiesta completa - corpo e intestazioni della richiesta che non funziona come previsto
  • La risposta completa con le intestazioni. Se non dispone dell’intestazione X-Request-Id, avremo bisogno di un intervallo di tempo approssimativo (Mese, giorno, anno, fuso orario) in cui è stata effettuata la richiesta

A parte questo, posso chiederle come sta trovando la sua esperienza sulla nostra piattaforma? Si occupa principalmente dello sviluppo di applicazioni per i suoi clienti o ha un negozio online tramite il quale vende?

Per qualsiasi altro quesito che possa avere relativo all’utilizzo di Shopify, non esiti a farmelo sapere. Sarà un mio piacere poterla aiutare ulteriormente.

La ringrazio in anticipo della sua collaborazione e le auguro un buon fine settimana,

Alessio