Введение
В этом уроке мы создадим простое приложение для обработки входящих сообщений WhatsApp с использованием Python.
Зависимости
установить нгрок
для целей локальной разработки требуется служба туннелирования. В этом примере используется ngrok. Вы можете скачать ngrok отсюда .
установить колбу
pip install flask
нам нужно развернуть сервер с помощью фреймворка FLASK.
FLASK позволяет удобно отвечать на входящие запросы и обрабатывать их.
Шаг 1: Создайте новое фляжное приложение
Мы создадим файл: app.py и пишем в нем следующий код
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()
Шаг 2: Обработка входящего сообщения
Мы создадим файл: test.py и пишем в нем следующий код
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 ''
Шаг 3: Запустите проект
Стартовая колба:
flask run
Начать нгрок
Для Windows:
ngrok http 80
Для Mac:
./ngrok http 5000
После этого вы должны увидеть, например:
https://7647-115-83-121-164.ngrok.io
вставьте свой URL-адрес в настройки экземпляра, как показано на следующем рисунке.
ПРИМЕР ОТВЕТА В 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
}
}
Финли: тест проекта и получение сообщений WhatsApp первое сообщение
Теперь отправьте сообщение WhatsApp на номер, к которому вы привязываете экземпляр.
Будет распечатан номер отправителя и отправленное сообщение.
Поздравляем. Вы получили первое сообщение WhatsApp.
Теперь, получив сообщения WhatsApp, вы можете легко создать чат-бота, используя Python и Ultramsg API.
Типы веб-перехватчиков для использования с WhatsApp API и Ultramsg
- webhook_message_received : уведомления в веб-перехватчиках при получении сообщения.
- webhook_message_create : уведомления в веб-перехватчиках при создании сообщения.
- webhook_message_ack : подтверждение (сообщение доставлено и просмотрено) уведомления в веб-перехватчиках.
вы можете ознакомиться с полной документацией по Whatsapp API и часто задаваемыми вопросами.