Introducción
En este tutorial, crearemos una aplicación simple para manejar los mensajes entrantes de WhatsApp usando python.
dependencias
instalar ngrok
para fines de desarrollo local, se requiere un servicio de túneles. Este ejemplo usa ngrok , puede descargar ngrok desde aquí .
instalar FRASCO
pip install flask
necesitamos implementar el servidor utilizando el marco FLASK.
El FLASK permite responder convenientemente a las solicitudes entrantes y procesarlas.
paso 1: crear una nueva aplicación de matraz
Crearemos el archivo: app.py y dentro de él escribimos el siguiente código
from flask import Flask, request, jsonify
from test import Ultrawebhook
import json
app = Flask(__name__)
@app.route('/', methods=['POST'])
def home():
if request.method == 'POST':
bot = Ultrawebhook(request.json)
return bot.processing()
if(__name__) == '__main__':
app.run()
paso 2: Procesamiento de mensajes entrantes
Crearemos el archivo: test.py Y dentro de él escribimos el siguiente código
import json
import requests
class Ultrawebhook():
def __init__(self, json):
self.json = json
self.dict_messages = json['data']
def processing(self):
if self.dict_messages != []:
message = self.dict_messages
msg_from = message['from'].split()
msg_text = message['body'].split()
print("sender phone number : " + msg_from[0])
print("message : " + msg_text[0])
return ''
paso 3: ejecutar el proyecto
Frasco de inicio:
flask run
Iniciar ngrok
Para ventanas :
ngrok http 80
Para Mac :
./ngrok http 5000
Después de esto, debería ver un ejemplo:
https://7647-115-83-121-164.ngrok.io
pegue su URL en la configuración de instancia, como en la siguiente imagen
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
}
}
Finley: prueba de proyecto y recibe mensajes de WhatsApp el primer mensaje
Ahora envíe un mensaje de WhatsApp al número al que está vinculando la instancia.
Se imprimirá el número del remitente y el mensaje enviado.
Felicidades. Has recibido tu primer mensaje de WhatsApp.
Ahora, después de recibir mensajes de WhatsApp, puede crear un chatbot fácilmente usando Python y la API de Ultramsg.
Tipos de webhooks para usar con la API de WhatsApp y Ultramsg
- webhook_message_received : notificaciones en webhooks cuando se recibe un mensaje.
- webhook_message_create : notificaciones en webhooks cuando se crea un mensaje.
- webhook_message_ack : notificaciones de acuse de recibo (mensaje entregado y mensaje visto) en webhooks.
Puede ver la documentación completa de la API de Whatsapp y las preguntas frecuentes .