Vai al contenuto principale
Shopify

Attività «Elabora webhook Shopify»: cosa fa a ogni passata

L'azione pianificata Elabora webhook Shopify (Shopify Process Webhooks) gira ogni minuto: prende fino a 50 eventi in sospeso, li elabora uno a uno e poi prova a confermare gli ordini di vendita in bozza. Qui trovi cosa succede a ogni passata e cosa controllare quando sembra che non faccia nulla.

FlexigoTech · Responsabile: Víctor Gómez · Aggiornato il 5 novembre 2026

In breve

Modulo
Shopify
Versioni
Odoo 17, 18, 19 e 20
Verificato
nel codice del connettore, versione 17.0 e 20.0 · nelle fonti collegate in fondo
Lettura
5 min

Cos'è questa attività e quando gira

Shopify Connector for Odoo include un'azione pianificata chiamata Elabora webhook Shopify (Shopify Process Webhooks). Appartiene al modello dei negozi Shopify ed esegue il metodo che elabora gli eventi webhook ricevuti. Gira ogni minuto ed è attiva all'installazione del modulo. Esiste in tutti i rami pubblicati (17.0, 18.0, 19.0 e 20.0); in Odoo 17.0, inoltre, è configurata per ripetersi senza fine.

Schema con l'azione pianificata che gira ogni minuto ed è attiva all'installazione, e il menu dei negozi, con le etichette in inglese del codice
Schema realizzato con codice a partire dal codice pubblicato del modulo (non è una schermata di Odoo): l'azione pianificata e il menu Shopify › Configurazione › Negozi.

Con Odoo in italiano l'attività si chiama Elabora webhook Shopify; questo schema riporta il suo nome in altre lingue:

Schema con il nome dell'attività in varie lingue: in italiano, Elabora webhook Shopify
Schema realizzato con codice a partire dalle traduzioni pubblicate (non è una schermata di Odoo): in italiano, Elabora webhook Shopify; in spagnolo, Procesar webhooks de Shopify; in tedesco, Shopify-Webhooks verarbeiten; in francese, Traiter les webhooks Shopify; in portoghese, Processar webhooks Shopify.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify? (video in inglese)

Cronologia di una passata

In Odoo 20.0, una passata segue quest'ordine:

  1. Ogni minuto Odoo avvia l'attività. La prima cosa che fa è verificare che chi la esegue sia amministratore di sistema; se non lo è, può fermarsi con Only an administrator can run this scheduled action. e non elabora nulla.
  1. All'inizio Cerca gli eventi webhook in sospeso. Li ordina dal più vecchio al più recente in base alla data di ricezione (e, a parità, per ordine di creazione) e ne prende al massimo 50 a ogni passata.
  1. Evento senza negozio Se un evento non ha un negozio associato, l'attività lo segna come fallito, imposta l'ora di elaborazione e un messaggio di errore, e passa al successivo.
  1. Evento con negozio L'attività chiede al negozio di elaborare quell'evento in base al suo tema (più sotto, tema per tema). Se tutto va bene, l'evento risulta elaborato, con la sua ora di elaborazione, il risultato salvato e senza messaggio di errore. Dopo ogni evento, l'attività salva le modifiche nel database.
  1. Se l'elaborazione fallisce L'evento risulta fallito, con l'ora di elaborazione, il testo dell'errore e il risultato parziale (i contatori di ordini, prodotti e giacenza). L'attività non si ferma: prosegue con l'evento successivo.
  1. Se fallisce qualcos'altro Se un'eccezione sfugge all'elaborazione di un evento, l'attività la annota nel log del server, annulla le modifiche in sospeso di quel giro e continua con il resto.
  1. Finiti gli eventi Cerca ordini Shopify che abbiano un ordine di vendita associato in bozza o inviato, il cui negozio abbia attivata la conferma automatica delle vendite e che non riportino il contrassegno di ordine di vendita manuale. Li prende dai più recentemente aggiornati ai più vecchi, fino a 50, e ne chiede la conferma; se questa parte fallisce, l'errore viene annotato e l'attività non si ferma.
  1. Alla fine Se è stato confermato qualche ordine di vendita, il codice lo annota nel log del server. Se quest'ultima parte fallisce, l'errore viene annotato e viene annullato solo quel passaggio: quanto già salvato degli eventi resta.

Cosa fa con ogni evento in base al tema

Il tema dell'evento viene letto in maiuscolo e decide cosa succede:

  • APP_UNINSTALLED: il negozio viene disattivato e si svuotano il suo token di accesso, il suo token di aggiornamento e la data di scadenza del token.
  • Temi che iniziano con ORDERS_: se il negozio ha attivata la sincronizzazione degli ordini via webhook, l'attività passa l'ordine dell'evento al processo di sincronizzazione degli ordini e salva nel risultato quanti ne sono stati trattati.
  • Temi che iniziano con PRODUCTS_: se il negozio ha attivata la sincronizzazione dei prodotti via webhook, l'attività passa il prodotto dell'evento al processo di sincronizzazione dei prodotti e salva nel risultato quanti ne sono stati trattati.
  • Temi che iniziano con INVENTORY_LEVELS: solo se il negozio ha attivata la sincronizzazione della giacenza via webhook e, in più, la sincronizzazione della giacenza in generale, l'attività passa la variazione di inventario al processo che la applica; se quel processo lo conferma, il risultato annota un aggiornamento di giacenza.

Un dettaglio che conta: se il tema non è nessuno di questi, o se l'impostazione corrispondente del negozio è disattivata, l'attività non passa nulla da sincronizzare, ma l'evento risulta comunque elaborato, con i contatori a zero. Un evento elaborato non significa quindi che sia stato toccato un ordine, un prodotto o la giacenza.

Cosa controllare se non fa nulla

  • L'attività deve essere attiva. È attiva all'installazione e gira ogni minuto.
  • Chi la esegue. Se la avvia qualcuno che non è amministratore di sistema, può fermarsi con Only an administrator can run this scheduled action.
  • Prende solo eventi in sospeso. Un evento segnato come fallito non rientra più in questa attività. Se ce ne sono molti in sospeso, a ogni passata si elaborano i più vecchi, fino a 50, e gli altri aspettano le passate successive.
  • Risultato con contatori a zero. Succede quando il tema dell'evento non è tra quelli che l'attività tratta o quando il negozio non ha attivata la sincronizzazione via webhook di quel tipo (per la giacenza, anche la sincronizzazione della giacenza in generale). L'evento viene segnato come elaborato senza passare nulla da sincronizzare.
  • Negozio disattivato. Un evento APP_UNINSTALLED disattiva il negozio e cancella i suoi token.
  • Ordini di vendita che restano in bozza. La conferma automatica richiede che il negozio la abbia attivata, che l'ordine di vendita sia in bozza o inviato e che l'ordine Shopify non riporti il contrassegno di ordine di vendita manuale. Guarda solo fino a 50 ordini per passata.

I negozi si aprono da Shopify › Configurazione › Negozi. Per vedere quel menu ti serve il permesso Operatore (Operator) nel blocco Configurazione (Configuration) e Visualizzatore (Viewer) nel blocco Shopify.

Prezzo e assistenza

Il modulo è a pagamento unico per versione e richiede l'abbonamento a FlexigoTech Cloud, piano Connettore: 49 €/mese o 490 €/anno, IVA esclusa. È pubblicato per Odoo 17, 18, 19 e 20. La connessione passa da FlexigoTech Cloud, che conserva cifrate le credenziali, sorveglia la sincronizzazione e avvisa via e-mail se fallisce.

Se stai implementando Odoo con Shopify o ti serve un'integrazione su misura, FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori. Trovi più dettagli nella pagina del modulo e nella sua scheda su Odoo Apps.

Continua a leggere

Cosa fa il pulsante «Recupera stock» del connettore Shopify per OdooCosa fa il pulsante Recupera stock del connettore Shopify per Odoo: quando compare, cosa controlla, cosa cambia nelle tue giacenze e quale errore può dare.Avviso «è ora l'ubicazione principale» del connettore Shopify per OdooCosa significa l'avviso «è ora l'ubicazione principale per …» del connettore Shopify per Odoo, quando compare e come cambiare l'ubicazione principale.Errore nella creazione dell'ordine di vendita: mancano i dati di ShopifyCosa significa l'avviso di Shopify Connector for Odoo quando premi «Crea ordine di vendita» senza dati dell'ordine, quando compare e come risolverlo.
Verificato nel codice del connettore (versione 17.0 e 20.0) e nelle fonti collegate

Fonti