Введение
В этом руководстве мы создадим страницу для обработки входящих сообщений WhatsApp с использованием PHP.
Зависимости
для целей локальной разработки требуется служба туннелирования. В этом примере используется ngrok. Вы можете скачать ngrok отсюда .
Пример
Это очень простой пример, когда сервер записывает тело запроса в файл log.txt.
Тело содержит полную информацию о веб-перехватчике, отправленную из экземпляра WhatsApp Ultramsg API.
$data = file_get_contents("php://input");
$event = json_decode($data, true);
if(isset($event)){
//Here, you now have event and can process them how you like e.g Add to the database or generate a response
$file = 'log.txt';
$data =json_encode($event)."\n";
file_put_contents($file, $data, FILE_APPEND | LOCK_EX);
}
Об использовании сервера
Сохраните приведенный выше файл примера как test.php и загрузите его на свой сервер. URL-адрес Webhook будет:
http://your-server/test.php
О локальном использовании с ngrok
Сохраните приведенный выше файл примера как test.php на вашем локальном хосте, и URL-адрес будет следующим:
http://localhost/test.php
Запускаем нгрок:
ngrok http 80
После этого вы должны увидеть
*.ngrok.io URL-адрес.
Например :
https://7647-115-83-121-164.ngrok.io
заменить локальный хост на
URL-адрес ngrok.io
URL будет:
https://7647-115-83-121-164.ngrok.io/webhook.php
Что дальше?
вставьте свой URL-адрес в настройки экземпляра.
Теперь вы сможете получать веб-хуки, и вы можете увидеть их в файле log.txt.
ПРИМЕР ОТВЕТА В JSON
{
"event_type": "message_received",
"instanceId": "90",
"data": {
"id": "[email protected]_7ECAED9EB68D3474BE591443134C2E3F",
"from": "[email protected]",
"to": "[email protected]",
"ack": "pending",
"type": "chat",
"body": "I can't send a message using php code\nCan you help me",
"fromMe": false,
"isForwarded": false,
"time": 1643311467
}
}
Полезные ссылки
- Полная документация по API Whatsapp .
- отправлять сообщения API WhatsApp с помощью PHP.