Odoo Webhooks

I vantaggi di automatizzare e sincronizzare dati tra Odoo e altre app in tempo reale!

Contesti aziendali dinamici come quelli di oggi, richiedono l’adozione di strumenti e tecnologie ad hoc per mantenere la coerenza e l’efficienza delle informazioni e dei dati.

In questo contesto, si inserisce il discorso delle regole di automazione progettate per attivarsi in base a determinate azioni e/o condizioni predefinite: perfette per migliorare la produttività aziendale.

Come poter raggiungere un’automazione dei diversi processi e operazioni aziendali? Con un’integrazione del webhook con Odoo, così come spiegheremo nel corso dell’articolo.

Cos’è un Webhook?

Partiamo dal principio con una semplice definizione di webhook; strumenti particolarmente efficaci perché consentono di risparmiare tempo e lavoro.

Un webhook è un meccanismo di comunicazione tra applicazioni che consente l’invio automatico di dati da una piattaforma all’altra in risposta a determinati eventi e/o azioni.

Attenzione a non confondere un webhook con le API! Sebbene siano abbastanza simili tra loro, le API operano su un modello di richiesta e risposta (client e server).

In più, adottano un processo noto come polling che si verifica periodicamente per controllare se ci sono nuovi dati o aggiornamenti.

D’altra parte, i webhook sono progettati per inviare dati automaticamente quando si verifica un evento specifico, operando su un modello di push.

Questo ci fa comprendere che i webhook eliminano la necessità del processo di polling descritto in precedenza, poiché i dati vengono inviati solo quando necessario, ottimizzando la comunicazione tra i sistemi.

Come funziona un webhook?

Un webhook con uno specifico evento che si verifica nell’applicazione sorgente. Per evento, intendiamo qualsiasi cambiamento di stato o di azione che necessita di essere notificato ad altre applicazioni (ad esempio, la creazione di un nuovo ordine in un e-commerce, o l’aggiornamento di un nuovo record in un database CRM).

Per ricevere i dati c’è bisogno di configurare un endpoint: un URL specifico che rappresenta il punto di accesso del server destinatario che deve essere pronto a ricevere e gestire le richieste in arrivo.

Inoltre, è altresì necessario configurare il webhook nell’applicazione sorgente per specificare gli eventi che dovrebbero attivare l’invio dei dati all’endpoint.

  • definire gli eventi (creazione o aggiornamento di un nuovo record, ad esempio) che dovrebbero attivare il webhook;
  • configurare l’URL dell’endpoint dove i dati devono essere inviati

Configurazione webhook con Odoo

Con Odoo 17, è possibile configurare i webhook direttamente dalle regole di automazione, semplificando la creazione di flussi di lavoro automatizzati che si integrano con sistemi esterni.

Ma come è possibile ricevere dati in Odoo utilizzando Webhooks?

Ecco una spiegazione semplice, partendo dalla creazione di una regola di automazione:

  • Vai su Impostazioni > Funzioni tecniche > Automazione > Regole di automazione;
  • Raggiungi la voce 'Nuova automazione',definisci titolo e modello (il modulo con cui deve interagire la regola);
  • Vai sul campo attivazione e clicca su esterno > webhook (trigger: seleziona “su webhook” come trigger);
  • URL: inserisci l’URL del tuo endpoint webhook, che sarà quello a cui Odoo invierà la richiesta non appena l’evento selezionato si verifica;
  • Payload: infine, configura il payload, ovvero i dati che verranno inviati nell'HTTP POST. Puoi includere informazioni come l'ID del record, il nome del modello e altri dati.

Successivamente, bisognerà:

  • Creare un endpoint: nell’applicazione esterna, crea un endpoint che riceverà le richieste HTTP da Odoo;
  • elaborare i dati: scriverai del codice per elaborare i dati ricevuti nel payload. In questo caso, ad esempio, potrai configurare l’invio di una notifica.

Integrazione di Odoo con Webhooks: caso d’uso frontend

Qui proponiamo un caso pratico: l’uso di Odoo con Webhooks per l’integrazione di un’interfaccia web.

Mostriamo come modificare un campo senza accedere all’UI, riducendo costi ed effort!

La prima parte mostra nel pratico come creare una nuova regola di automazione su Odoo, riprendendo quanto spiegato nel paragrafo precedente.

descrizione della gif

Successivamente, è possibile vedere come, configurando correttamente il payload e il record di destinazione, le modifiche al campo interessato avvengono senza troppa difficoltà.

Per testare il webhook abbiamo utilizzato, come ambiente di sviluppo, Postman.

Da qui, si visualizza il payload configurato in precedenza su Odoo, dove appaiono i seguenti campi:

  • l’ID di riferimento;
  • email, ovvero il campo da modificare.

Aggiornando semplicemente la pagina Odoo, avviene la modifica al campo scelto (email: unitiva@gmail.com).

descrizione della gif

Essendo una versione di test, specifichiamo nuovamente che abbiamo utilizzato Postman per simulare e testare l’invio dei dati.

Nel pratico, invece, il flusso avverrebbe così:

  • modifiche ai campi dal backend Odoo;
  • l'endpoint del Webhook (configurato con uno specifico URL) riceve i dati e agisce sugli stessi;
  • il sito web, tramite il suo backend, può ricevere i dati tramite l'endpoint del Webhook e aggiornare il suo frontend in base a queste informazioni.

Webhook e Odoo: quali sono i vantaggi?

Ti proponiamo qui, per concludere, i reali vantaggi legati all’integrazione tra Odoo e i Webhook:

  • automazione in tempo reale;
  • riduzione del carico di lavoro;
  • sincronizzazione ottimizzata tra i sistemi;
  • risposta immediata a eventi critici;
  • flessibilità e personalizzazione.

Insomma, l'uso di webhooks con Odoo consente alle aziende di beneficiare di integrazioni fluide, automatizzate e in tempo reale tra vari sistemi, migliorando l'efficienza e la tempestività delle operazioni.

Contattaci subito per scoprire come puoi trarre beneficio da questa integrazione adottando una soluzione leggera, scalabile e reattiva!

Autoreadmin
Potrebbero interessarti...