Dove si trova e quando parte
Dove si trova il pulsante Sincronizza prodotti?
Apri Shopify › Configurazione › Negozi (Shopify › Configuration › Stores) ed entra nella scheda del negozio, nella schermata Istanze Shopify (Shopify Instances): lì c'è il pulsante. Per arrivare al menu servono dei permessi: il tratto Configurazione (Configuration) richiede Operatore (Operator) e il tratto Shopify richiede Visualizzatore (Viewer); se te ne manca uno, non vedi quel tratto. Il pulsante non ha condizioni di visibilità ed esiste in Odoo 17, 18, 19 e 20.

Sincronizza prodotti, per Odoo 17, 18, 19 e 20.Bisogna premerlo a mano?
Esiste un percorso automatico: l'attività pianificata Sincronizza prodotti Shopify (Shopify Sync Products) arriva alla stessa azione ogni ora, ma all'installazione è disattivata; finché resta così, non parte da sola. A parte, l'attività Elabora webhook Shopify (Shopify Process Webhooks), che gira ogni minuto ed è attiva all'installazione, arriva a un altro metodo del modulo: uno che chiede a Shopify prodotti specifici tramite il loro identificatore, uno alla volta, e non scorre il catalogo per pagine. Premere Sincronizza prodotti è il modo di lanciare il passaggio per pagine quando vuoi, senza aspettare l'attività.
Come si chiama il pulsante con Odoo in un'altra lingua?
Con Odoo in italiano si chiama Sincronizza prodotti. Lo schema seguente riporta anche la traduzione in spagnolo, tedesco, francese e portoghese.


Cosa controlla e cosa cambia
In Odoo 20, il modulo fa questo quando premi il pulsante:
Cosa fa appena parte?
Apre una voce nel registro di sincronizzazione, di tipo prodotti e in corso, e prepara una richiesta a Shopify. Per ogni prodotto, la richiesta chiede titolo, vendor, tipo di prodotto, stato, handle, descrizione, tag, data di aggiornamento, immagine in evidenza, opzioni e varianti (SKU, titolo, prezzo, prezzo di confronto, codice a barre, quantità di inventario, opzioni scelte, articolo di inventario e immagine). I prodotti arrivano ordinati per data di aggiornamento. Prima di salvare ciascuno, il modulo si assicura che abbia tutte le sue varianti.
Porta tutto il catalogo ogni volta?
Dipende dal campo Ultima sincronizzazione dei prodotti (Last Product Sync), che si vede nella scheda del negozio e nell'elenco di Istanze Shopify, in sola lettura: lo compila il codice, non tu. Se è vuoto, la richiesta va senza filtro di data. Se ha un valore, il modulo chiede solo i prodotti aggiornati da quella data (inclusa). Quando il passaggio termina per intero, il campo passa all'ora attuale.
Cosa succede se i prodotti sono più delle pagine?
Due impostazioni definiscono la dimensione del passaggio, nella scheda del negozio, scheda Operazioni (Operations), gruppo Impostazioni sincronizzazione (Sync Settings). Dimensione pagina (Page Size) vale 50 per impostazione predefinita; il suo aiuto avverte che oltre 100 Shopify rifiuta la richiesta e che una pagina grande in una richiesta con molte informazioni può superare il limite di costo, e il pulsante non chiede mai più di 100 per pagina. Pagine max (Max Pages) vale 20 per impostazione predefinita. Il passaggio si ferma quando Shopify non ha più pagine o quando raggiunge quel massimo.
Se si interrompe con pagine in sospeso, il modulo lascia nella scheda del negozio un messaggio che indica che il passaggio si è fermato al limite di pagine e da quale data riprenderà il successivo. Il campo Ultima sincronizzazione dei prodotti passa allora alla data di aggiornamento dell'ultimo prodotto letto, purché quella data sia successiva a quella salvata (o non ce ne fosse nessuna salvata); se non lo è, passa all'ora attuale.
Un prodotto che fallisce blocca la sincronizzazione?
No. Ogni prodotto viene salvato in modo isolato: se uno fallisce, il modulo lo salta, lascia un avviso nel registro del server e prosegue con il successivo. Alla fine, la voce del registro di sincronizzazione annota come aggiornati solo i prodotti salvati; quelli saltati non vengono contati come errori, quindi una voce corretta non esclude che qualcuno sia stato saltato. Per questo c'è l'avviso nel registro del server.
Quando si ferma con un errore
Cosa succede se la chiamata a Shopify fallisce?
Ogni chiamata ammette fino a tre tentativi. Se Shopify risponde con un 401 (il token non è più valido) e il negozio può rinnovarlo, il modulo lo rinnova e riprova ancora una volta. Se risponde con un 429 (limite di frequenza), attende in base all'intestazione Retry-After e riprova, con un'attesa massima di trenta secondi. Qualsiasi risposta con codice 400 o superiore che non si risolva così interrompe la chiamata con un errore. Quando il guasto esce dal ciclo dei prodotti, la voce del registro risulta fallita con il testo dell'errore (troncato a un massimo di 2000 caratteri), l'errore viene rilanciato perché l'azione si fermi e Ultima sincronizzazione dei prodotti non viene aggiornata.
E se FlexigoTech Cloud mette in pausa la connessione?
Se la connessione del negozio passa per FlexigoTech Cloud, le chiamate vanno attraverso il suo relay e Odoo non si collega direttamente al negozio. Se il servizio la mette in pausa, l'intero passaggio si ferma, nessun prodotto viene saltato e la voce del registro viene eliminata invece di risultare fallita.
Cosa serve per usarlo
Il modulo è a pagamento unico per versione di Odoo ed è pubblicato per 17, 18, 19 e 20; il prezzo di ogni versione è nella scheda e nella pagina del modulo. Serve inoltre l'abbonamento a FlexigoTech Cloud, piano Connettore: 49 €/mese o 490 €/anno IVA esclusa, fino a 3 account della piattaforma (piano Pro: 98 €/mese o 980 €/anno, fino a 10). La connessione conserva le credenziali cifrate, sorveglia la sincronizzazione e avvisa via e-mail se fallisce. Senza abbonamento, o con il servizio sospeso, si ferma ciò che l'abbonamento fornisce; i dati restano nel tuo Odoo. Se acquisti nell'Odoo App Store, ogni versione di Odoo si acquista lì. Se hai bisogno di implementare Odoo o di adattare l'integrazione al tuo catalogo, FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura.
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 (03641761): views/shopify_instance_views.xml
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (03641761): models/shopify_instance.py
- Codice del modulo: flexigobe_shopify_seller_connector 20.0 (03641761): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
