Introdução
Neste tutorial, criaremos um aplicativo simples para lidar com mensagens recebidas do WhatsApp usando python.
Dependências
instalar ngrok
para fins de desenvolvimento local, é necessário um serviço de tunelamento. Este exemplo usa o ngrok , você pode baixar o ngrok aqui .
instalar FLASK
pip install flask
precisamos implantar o servidor usando o framework FLASH.
O FLASK permite responder convenientemente às solicitações recebidas e processá-las.
passo 1: Crie um novo aplicativo de frasco
Vamos criar o arquivo: app.py E escrever o seguinte código dentro dele
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()
passo 2: Processamento de mensagens recebidas
Vamos criar o arquivo: test.py E escrever o seguinte código dentro dele
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 ''
Passo 3: Execute o projeto
Comece o frasco:
flask run
Iniciar ngrok
Para Windows :
ngrok http 80
Para Mac:
./ngrok http 5000
Depois disso, você deve ver um por exemplo:
https://7647-115-83-121-164.ngrok.io
cole seu URL nas configurações da instância ، Como na imagem a seguir
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
}
}
Finley: Teste de projeto e receba mensagens do WhatsApp a primeira mensagem
Agora envie uma mensagem do WhatsApp para o número ao qual você está vinculando a instância.
O número do remetente e a mensagem enviada serão impressos.
Parabéns. Você recebeu sua primeira mensagem do WhatsApp.
Agora, depois de receber mensagens do WhatsApp, você pode criar um chatbot facilmente usando Python e API Ultramsg.
Tipos de webhooks para usar com a API do WhatsApp e Ultramsg
- webhook_message_received : notificações em webhooks quando a mensagem é recebida.
- webhook_message_create : notificações em webhooks quando a mensagem é criada.
- webhook_message_ack : notificações ack (mensagem entregue e mensagem visualizada) em webhooks.
você pode ver a documentação completa da API do Whatsapp e as perguntas frequentes .