Quando compare l'avviso e cosa significa
L'avviso compare quando premi il pulsante Aggiorna tracciamento Shopify su un prelievo. Quel pulsante chiama Shopify per aggiornare il tracciamento del fulfillment il cui ID è salvato nel prelievo. Se la chiamata a Shopify restituisce un errore, il modulo ne legge il testo. Quando quel testo contiene ACCESS_DENIED (così com'è, in maiuscolo) e inoltre la parola «fulfillment» (in maiuscolo o in minuscolo), il modulo sostituisce l'errore con questo avviso e l'azione si interrompe:
Shopify ha negato l'accesso all'aggiornamento del tracciamento. Aggiungi l'ambito write_merchant_managed_fulfillment_orders e riautorizza l'app. (Shopify denied tracking update access. Add scope write_merchant_managed_fulfillment_orders and re-authorize the app.)
Significa che Shopify ha negato l'accesso per aggiornare il tracciamento. L'avviso chiede due cose: aggiungere l'ambito write_merchant_managed_fulfillment_orders e riautorizzare l'app. Il testo è presente nel codice pubblicato di tutte le versioni (17.0, 18.0, 19.0 e 20.0). Il dettaglio del metodo descritto qui sotto è quello del codice di Odoo 20.0.


Passo dopo passo per risolverlo
- Apri il prelievo dell'ordine Shopify. Il pulsante
Aggiorna tracciamento Shopifyè nascosto se il prelievo non appartiene a un ordine Shopify (il campoÈ ordine Shopify(Is Shopify Order) non è visibile in nessuna vista), se il suo stato non èCompletato(Done) o se il campoEvasione Shopify(Shopify Fulfillment) è vuoto. Questa condizione è la stessa in Odoo 17.0, 18.0, 19.0 e 20.0. Se non vedi il pulsante, si verifica almeno una delle tre. - Premi
Aggiorna tracciamento Shopify. Se l'errore restituito da Shopify soddisfa la condizione descritta sopra, vedrai l'avviso e l'azione si interromperà. - Aggiungi l'ambito
write_merchant_managed_fulfillment_ordersall'app Shopify, come chiede la prima metà dell'avviso. - Riautorizza l'app, come chiede la seconda metà dell'avviso.
- Torna allo stesso prelievo e premi di nuovo il pulsante. Verifica se l'avviso compare ancora.
- Se ora compare un messaggio diverso, non è questo avviso: leggilo per intero e trattalo separatamente (più avanti spieghiamo perché).
Cosa fa il pulsante prima che l'avviso possa comparire
Conviene conoscere il percorso per capire in quale punto viene generato l'avviso. Secondo il codice, il modulo prende l'ID del fulfillment salvato nel prelievo. Se il prelievo non ha quell'ID, l'azione si interrompe senza chiamare Shopify. Poi costruisce i dati di tracciamento con quanto contiene il prelievo e, se non c'è alcun numero di tracciamento, l'azione si interrompe anche in questo caso prima di chiamare Shopify. Questi dati vengono composti così:
- Se c'è un solo numero di tracciamento, invia quel numero. Se ce ne sono più di uno, li invia tutti.
- Se c'è un vettore, ne invia il nome. Il modulo prende il vettore dall'ordine di vendita oppure, in mancanza, dal prelievo stesso.
- Invia l'URL di tracciamento solo quando c'è un unico numero.
La richiesta indica anche se Shopify deve avvisare il cliente, in base a un'impostazione dell'istanza Shopify. Con tutto questo viene eseguita la chiamata a Shopify.
L'avviso non dipende dal contenuto del prelievo: la condizione nel codice guarda solo il testo dell'errore che Shopify restituisce in quella chiamata. Un prelievo con un numero di tracciamento corretto e un vettore impostato bene può comunque generare questo avviso se l'errore di Shopify soddisfa le due condizioni.
Dove si trovano i negozi in Odoo
Le schede dei negozi si aprono dal menu Shopify › Configurazione › Negozi (Shopify › Configuration › Stores). I permessi contano: il livello Configurazione (Configuration) richiede il permesso Operatore (Operator) e il livello Shopify richiede Visualizzatore (Viewer). Se te ne manca uno, non vedrai quel livello del menu.
Se l'avviso continua a comparire o compare un altro messaggio
L'avviso viene generato solo quando l'errore di Shopify soddisfa entrambe le condizioni: ACCESS_DENIED e «fulfillment». Se l'errore restituito dalla chiamata non le soddisfa, il modulo non lo modifica e lo vedi così com'è, con il suo testo. Per questo, se dopo aver aggiunto l'ambito e riautorizzato continui a vedere un errore con parole diverse, non si tratta più di questo avviso.
Se continui a vedere esattamente questo avviso, ricontrolla i passaggi tre e quattro: l'avviso chiede insieme l'ambito e la nuova autorizzazione dell'app.
Con Odoo in spagnolo l'avviso appare come nella citazione sopra; lo schema riporta anche come si legge in tedesco, francese, italiano e portoghese:

Se stai controllando altri messaggi del modulo, trovi anche l'analisi di «No hay datos de Shopify disponibles para crear el pedido de venta», con la sua condizione nel codice e cosa fare.
Come ti aiuta FlexigoTech
FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura. Se lavori con il connettore e vuoi che qualcuno verifichi con te la connessione con il tuo negozio Shopify, scrivici dalla pagina del modulo.
Continua a leggere
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/stock_picking_views.xml
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
