Puoi clonare la nostra app di callback di esempio usando Glitch per creare un URL di callback pubblico sui server di Glitch da usare per testare i webhook. Lo scopo della creazione del progetto Glitch è che scrive payload webhook su un file di registro che puoi visualizzare in tempo reale quando i webhook vengono attivati.
Questa guida fa parte di un processo a più passaggi e devi averne completato alcuni prima di iniziare a configurare l'endpoint della tua app di esempio usando Glitch. Devi avere completato i passaggi di seguito:
Per le istruzioni complete per iniziare con l'API WhatsApp Business Cloud in modo da poter inviare il tuo primo messaggio consulta Primi passi con l'API WhatsApp Business Cloud.
.env
, aggiorna il valore di WEBHOOK_VERIFY_TOKEN
con una stringa casuale a tua scelta. Se lo desideri, puoi copiare il valore del tuo token d'accesso temporaneo/permanente da WhatsApp > Configurazione API nella Dashboard gestione app e incollare quel valore per GRAPH_API_TOKEN
.
/webhook
alla fine dell'URL per ottenere l'URL di callback completo. Sarà simile a https://<project-name>.glitch.me/webhook
.Ora che il tuo endpoint è pronto, devi tornare alla Dashboard gestione app.
https://<project-name>.glitch.me/webhook
) per l'URL di callback URL e ("HAPPY") per il token di verifica.
Per confermare che è stata attivata una notifica webhook, torna su Glitch e seleziona LOGS, l'output dovrebbe essere simile alla seguente immagine.
Il payload completo delle notifiche webhook dovrebbe essere simile al seguente:{ "object": "whatsapp_business_account", "entry": [ { "id": "0", "changes": [ { "field": "messages", "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "16505551111", "phone_number_id": "123456123" }, "contacts": [ { "profile": { "name": "test user name" }, "wa_id": "16315551181" } ], "messages": [ { "from": "16315551181", "id": "ABGGFlA5Fpa", "timestamp": "1504902988", "type": "text", "text": { "body": "this is a text message" } } ] } } ] } ] }
server.js
nel riquadro di navigazione a sinistra per l'implementazione dell'endpoint del webhook.
https://<project-name.glitch.me/webhook
.
Incoming webhook: {"messages":[{"from":"1234567890","id":"ABGGhSkIc2B_Ago-sDy5BNm-1gI5","text":{"body":"Hi"},"timestamp":"1529381066","type":"text"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"sent","timestamp":"1529381072"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"delivered","timestamp":"1529381072"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"read","timestamp":"1529381076"}]}