Introdução
Neste tutorial, vamos criar uma página para lidar com mensagens recebidas do WhatsApp usando PHP.
Dependências
para fins de desenvolvimento local, é necessário um serviço de tunelamento. Este exemplo usa o ngrok , você pode baixar o ngrok aqui .
Exemplo
Este é um exemplo muito simples, com o servidor registrando o corpo da solicitação no arquivo log.txt.
O corpo contém as informações completas do webhook enviadas da instância do WhatsApp da API Ultramsg.
$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);
}
No uso do servidor
Salve o arquivo de exemplo acima como test.php e faça o upload para o seu servidor, a URL do Webhook será:
http://your-server/test.php
No uso local com ngrok
Salve o arquivo de exemplo acima como test.php em seu localhost e a URL será:
http://localhost/test.php
Iniciar ngrok:
ngrok http 80
Depois disso, você deve ver um
*.ngrok.io URL.
por exemplo :
https://7647-115-83-121-164.ngrok.io
substitua localhost por
URL do ngrok.io
a URL será:
https://7647-115-83-121-164.ngrok.io/webhook.php
Qual é o próximo?
cole seu URL nas configurações da instância.
Você deve poder receber webhooks agora e pode vê-los no arquivo log.txt.
EXEMPLO DE RESPOSTA 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
}
}
Links Úteis
- Documentação completa da API do Whatsapp .
- enviar mensagens da API do WhatsApp usando PHP.