Вы можете клонировать наше тестовое приложение с обратным вызовом на Glitch, чтобы создать общедоступный URL обратного вызова на серверах Glitch для тестирования Webhooks. Цель создания проекта Glitch — запись полезной нагрузки Webhooks в файл журнала, который можно просматривать в режиме реального времени по мере срабатывания Webhooks.
Это руководство — часть многошагового процесса, который необходимо пройти, прежде чем приступать к настройке конечной точки вашего тестового приложения на Glitch. Необходимые действия:
Полные инструкции по началу работы с облачным API WhatsApp Business и отправке первого тестового сообщения см. в этом руководстве.
.env
замените значение WEBHOOK_VERIFY_TOKEN
любой произвольной строкой. Затем в качестве дополнительного варианта вы можете скопировать значение своего маркера доступа (временного или постоянного) из раздела WhatsApp > Настройка API в панели приложения и вставить это значение в поле GRAPH_API_TOKEN
.
/webhook
, чтобы получить полный URL обратного вызова. Он должен выглядеть примерно так: https://<project-name>.glitch.me/webhook
.Ваша конечная точка готова. Теперь нужно вернуться в панель приложения.
https://<project-name>.glitch.me/webhook
) для URL обратного вызова и ("HAPPY") для маркера подтверждения.
Чтобы подтвердить инициализацию уведомления Webhooks, вернитесь на Glitch и выберите LOGS (Журналы) — полученный результат должен иметь вид, подобный показанному на изображении ниже.
Полная полезная нагрузка уведомления Webhooks должна выглядеть следующим образом:{ "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
.
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"}]}