Vai al contenuto
All articles
Impostazioni

Webhook in uscita

Avvisa un altro sistema nell'istante in cui succede qualcosa nel CRM. Registri un indirizzo, spunti gli eventi che ti interessano e SellioCRM invia un POST con JSON firmato ogni volta che uno di essi accade. Serve a integrare strumenti di automazione, un back-end tuo oppure l'ERP aziendale.

L'integrazione a interrogazione periodica è lenta e costosa: qualcuno chiede ogni minuto se è cambiato qualcosa. Il webhook fa il contrario: è il CRM ad avvisare. Quando viene creato un record, quando un'approvazione viene decisa o quando qualcuno risponde a una cadenza, il sistema invia una richiesta all'indirizzo che hai indicato, con i dati dell'evento.

Come si registra

  1. Apri Impostazioni e vai al gruppo Canali e comunicazione.
  2. Clicca su Webhook.
  3. In URL di destinazione indica l'indirizzo che riceverà le chiamate, che deve iniziare per https.
  4. In Eventi spunta quelli che ti interessano. Arrivano già spuntati record.created e record.updated.
  5. Clicca su Crea webhook.
  6. Copia il segreto mostrato nel riquadro Segreto del webhook. Compare una volta sola.

Eventi disponibili

  • Record: record.created e record.updated, generati alla creazione e all'aggiornamento di qualsiasi record dei tuoi oggetti.
  • Cadenze e flussi: flow.enrolled, flow.message_sent, flow.replied, flow.step_completed e flow.completed.
  • Approvazioni: approval.requested, approval.approved e approval.rejected.

Come verificare che la chiamata arrivi da SellioCRM

Ogni chiamata porta due intestazioni oltre al tipo di contenuto: x-sellio-event, con il nome dell'evento, e x-sellio-signature, nel formato sha256 seguito dal codice di autenticazione calcolato sul corpo esatto della richiesta con il tuo segreto. Sul tuo server ricalcola quel codice a partire dal corpo ricevuto e confronta. Se non coincide, scarta la chiamata: l'origine non è il tuo CRM.

POST https://tuo-sistema.com/webhook
x-sellio-event: record.created
x-sellio-signature: sha256=<codice calcolato con il tuo segreto>
content-type: application/json

{
  "event": "record.created",
  "tenantId": "...",
  "objectApiName": "opportunity",
  "recordId": "...",
  "data": { "name": "Metalmeccanica Andrade", "amount": 48000 },
  "timestamp": "2026-03-12T15:42:10.000Z"
}
Example: Un distributore vuole aprire un ordine nell'ERP appena l'opportunità viene vinta. Registra l'indirizzo dell'integratore, spunta record.updated, conserva il segreto e, nell'integratore stesso, verifica la firma, guarda il campo della fase dentro data e crea l'ordine soltanto quando la fase è quella di vittoria.

Consegne recenti

Sotto l'elenco dei webhook, la tabella Consegne recenti mostra gli ultimi tentativi di invio con l'orario, l'evento e l'esito: un segno verde con il codice di risposta quando è andata a buon fine, un segno rosso con l'errore quando non è andata. È da lì che si scopre un indirizzo irraggiungibile o un server che restituisce errore.

Limiti e comportamento

  • L'invio avviene sul momento, con un'attesa massima di quattro secondi, e non blocca l'operazione di chi ha salvato il record.
  • Non c'è alcun nuovo tentativo automatico. Se il tuo server è irraggiungibile, l'evento compare come fallito nella tabella delle consegne e non viene rispedito. Progetta il tuo lato per tollerarlo.
  • Sono accettati soltanto indirizzi http e https che puntano alla rete pubblica. Gli indirizzi interni, di rete locale o dei servizi di metadati cloud vengono rifiutati per sicurezza.
  • L'interruttore Attivo e In pausa accanto a ogni webhook interrompe gli invii senza cancellare la configurazione.
  • Il segreto non può essere mostrato di nuovo. Se lo hai perso, elimina il webhook e creane un altro.

Chi può farlo

Creare, mettere in pausa ed eliminare webhook richiede il permesso di amministrare le impostazioni, perché l'operazione manda fuori dal CRM i dati dei tuoi record. L'elenco delle consegne è limitato alla tua organizzazione.

Domande frequenti

  • Ricevo l'evento ma il corpo sembra incompleto: ogni evento porta il proprio insieme di campi. Quelli dei record portano oggetto, identificativo del record e i dati; quelli dei flussi portano il flusso, l'iscrizione e il record; quelli delle approvazioni portano la richiesta, l'oggetto della richiesta e lo stato.
  • Posso ricevere eventi di cancellazione? L'elenco degli eventi disponibili è quello che vedi sulla schermata.
  • La firma non coincide mai: calcola il codice sul corpo grezzo ricevuto, senza riserializzare il JSON, perché qualsiasi cambiamento di spaziatura altera il risultato.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Crea un account gratuito
Webhook in uscita · Sellio