Configurazione del Webhook
I Webhook sono il modo in cui Meta consegna a Switchbord ogni messaggio in entrata, stato di consegna e aggiornamento dei template. Senza un Webhook configurato correttamente, la tua inbox non riceverà messaggi. Questa guida illustra i passaggi esatti per configurare i Webhook di Meta — sia che tu stia utilizzando la piattaforma hosted suapp.switchbord.ai, sia un’istanza self-hosted.
Come Funziona
Quando un utente invia un messaggio al tuo numero WhatsApp, Meta chiama il tuo Webhook URL con il payload dell’evento. Switchbord:- Verifica la firma usando il tuo App Secret
- Archivia l’envelope raw in Supabase
- Instrada l’evento all’inbox dell’operatore in tempo reale
?w= sul Webhook URL indica a Switchbord a quale workspace appartiene l’evento. È così che funziona il multi-tenancy — ogni workspace ha un callback URL univoco.
Configurazione Passo Dopo Passo
1
Trova il tuo Workspace ID
In Switchbord, vai su Settings → General. Copia il tuo Workspace ID — è uno UUID simile a
a1b2c3d4-....Lo aggiungerai al callback URL del Webhook nel passaggio successivo.2
Configura il callback URL in Meta
In Meta for Developers, apri la tua app e vai su:WhatsApp → Configuration → WebhookClicca su Edit e imposta:
-
Callback URL:
Sostituisci
{your-workspace-id}con lo UUID del passaggio precedente. Per le istanze self-hosted, sostituisciapi.switchbord.aicon il tuo domain API. -
Verify token: Una stringa a tua scelta. La inserirai anche nelle Settings di Switchbord. Usa una stringa casuale — ad esempio,
openssl rand -hex 20in un terminale.
3
Sottoscrivi i campi del Webhook
Dopo aver salvato il callback URL, scorri fino a Webhook fields e clicca su Manage.Sottoscrivi i seguenti campi:
Clicca su Done.
Ti serve solo
messages per il funzionamento base dell’inbox. Campi aggiuntivi come message_template_status_update
possono essere aggiunti in seguito per le notifiche di sincronizzazione dei template.4
Imposta il verify token in Switchbord
In Switchbord, vai su Settings → Provider → Channel.Inserisci il Verify token — la stessa stringa usata nella configurazione del Webhook Meta.Salva le impostazioni.
5
Imposta il signing secret del Webhook
Il signing secret è il tuo Meta App Secret. Switchbord lo usa per verificare l’header
X-Hub-Signature-256 su ogni Webhook in entrata — se la firma non corrisponde, il payload viene rifiutato.Trova il tuo App Secret:In Meta for Developers, apri la tua app → App Settings → Basic.Clicca su Show vicino a App secret e copia il valore.In Switchbord, vai su Settings → Provider → Channel e inserisci l’App Secret come Webhook signing secret.6
Verifica che la configurazione funzioni
Invia un messaggio di test al tuo numero WhatsApp da un telefono reale. Poi:
- Apri Switchbord → Inbox — il messaggio dovrebbe apparire in pochi secondi
- Apri Switchbord → Operations — cerca una voce Webhook recente con stato
verified
- Controlla la pagina Operations per Webhook rifiutati (uno stato rosso indica che la verifica della firma è fallita)
- Conferma che l’App Secret nelle Settings corrisponda a quello in Meta App Settings → Basic
- Conferma che il tuo numero WhatsApp sia in Live mode (non Development) — la modalità Development riceve messaggi solo dai tester
Perché il Parametro ?w= è Importante
Switchbord è multi-tenant. Più workspace possono condividere un unico deployment API, ognuno con il proprio numero WhatsApp e le proprie credenziali.
Il parametro ?w= è il modo in cui Switchbord instrada il Webhook in entrata al workspace corretto. Senza di esso, l’ingress del Webhook non può determinare a quale workspace assegnare l’evento e rifiuterà il payload.
Ogni workspace ottiene il proprio callback URL:
api.switchbord.ai.
Riferimento Credenziali
Risoluzione dei Problemi
La verifica del Webhook fallisce immediatamente- Assicurati che l’API sia raggiungibile pubblicamente.
localhostnon funzionerà — usa un tunnel (ngrok, Cloudflare Tunnel) per lo sviluppo locale. - Il callback URL deve includere il parametro
?w=con un workspace UUID valido. - Il verify token in Meta deve corrispondere esattamente a quello nelle Settings di Switchbord.
- Controlla Operations per i rifiuti del Webhook. Un errore
signature_mismatchsignifica che l’App Secret in Switchbord non corrisponde a quello in Meta. - Assicurati che il campo
messagessia sottoscritto nel field manager del Webhook di Meta. - Conferma che il numero di telefono sia in Live mode, non in Development mode.
- Meta ritenta i Webhook falliti. Se la tua API era temporaneamente irraggiungibile, gli eventi verranno replicati automaticamente.
- Controlla la pagina Operations per una coda di replay in attesa.
- Consulta il Runbook Operations per le procedure di escalation.
Guide Collegate
- Connetti WhatsApp — configurazione completa delle credenziali, incluso WABA ID, numero di telefono e System User token
- Configurazione delle Credenziali Meta — guida dettagliata per i System User token e la configurazione del Business Portfolio
- Operazioni sui Webhook — modello interno del Webhook, schema dell’envelope e strumenti di replay