Introducción
En este tutorial, crearemos una página para manejar los mensajes de WhatsApp entrantes usando PHP.
dependencias
para fines de desarrollo local, se requiere un servicio de túneles. Este ejemplo usa ngrok , puede descargar ngrok desde aquí .
Ejemplo
Este es un ejemplo muy simple, con el servidor registrando el cuerpo de la solicitud en el archivo log.txt.
El cuerpo contiene la información completa del webhook enviada desde la instancia de WhatsApp de la API de 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);
}
Sobre el uso del servidor
Guarde el archivo de ejemplo anterior como test.php y cárguelo en su servidor. La URL del Webhook será:
http://your-server/test.php
Sobre uso local con ngrok
Guarde el archivo de ejemplo anterior como test.php en su host local y la URL será:
http://localhost/test.php
Iniciar ngrok:
ngrok http 80
Después de esto, deberías ver un
URL *.ngrok.io.
por ejemplo :
https://7647-115-83-121-164.ngrok.io
reemplazar host local con
URL de ngrok.io
la URL será:
https://7647-115-83-121-164.ngrok.io/webhook.php
¿Que sigue?
pegue su URL en la configuración de la instancia.
Debería poder recibir webhooks ahora y puede verlos en el archivo log.txt.
EJEMPLO DE RESPUESTA 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
}
}
Enlaces útiles
- Documentación completa de la API de Whatsapp .
- enviar mensajes de la API de WhatsApp usando PHP.