Du kannst unsere Beispiel-Rückruf-App mit Glitch klonen, um eine öffentliche Rückruf-URL auf den Glitch-Servern zu erstellen. Mit dieser kannst du Webhooks testen. Das Erstellen des Glitch-Projekts hat den Vorteil, dass Webhook-Payloads in eine Protokolldatei geschrieben werden, die du beim Auslösen von Webhooks in Echtzeit ansehen kannst.
Dieser Leitfaden gehört zu einem aus mehreren Schritten bestehenden Prozess. Du musst eine Reihe dieser Schritte ausgeführt haben, bevor du mit dem Konfigurieren deines Beispiel-App-Endpunkts mit Glitch beginnen kannst. Du muss folgende Aufgaben ausgeführt haben:
Ausführliche Anleitungen für die ersten Schritte mit WhatsApp Business Cloud API, damit du deine erste Testnachricht senden kannst, findest du unter Erste Schritte mit der WhatsApp Business Cloud API.
.env
-Datei den Wert von WEBHOOK_VERIFY_TOKEN
in einen zufälligen String deiner Wahl. Dann kannst du optional den Wert deines vorübergehenden/dauerhaften Zugriffsschlüssels aus WhatsApp > API-Setup in dein App-Dashboard kopieren und diesen Wert für GRAPH_API_TOKEN
einfügen.
/webhook
an, um deine vollständige Rückruf-URL zu erhalten. Diese sieht ungefähr so aus: https://<project-name>.glitch.me/webhook
.Dein Endpunkt ist nun fertig. Du musst zu deinem App-Dashboard zurückkehren.
https://<project-name>.glitch.me/webhook
) als Rückruf-URL und („HAPPY“) als Verifizierungstoken.
Um zu überprüfen, ob eine Webhook-Benachrichtigung ausgelöst wurde, kehre zu Glitch zurück und wähle PROTOKOLLE aus. Die Ausgabe sollte aussehen wie im folgenden Bild.
Die vollständige Payload der Webhook-Benachrichtigung sollte wie folgt aussehen:{ "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
, um die Implementierung des Webhook-Endpunkts vorzunehmen.
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"}]}