Cara Menerima mesej WhatsApp menggunakan python dan webhook

pengenalan

Dalam tutorial ini, kami akan mencipta aplikasi mudah untuk mengendalikan mesej WhatsApp masuk menggunakan python.

Kebergantungan

pasang ngrok

untuk tujuan pembangunan tempatan, perkhidmatan terowong diperlukan. Contoh ini menggunakan ngrok , Anda boleh memuat turun ngrok dari sini .

pasang FLASK

pip install flask

kita perlu menggunakan pelayan menggunakan rangka kerja FLASK.
FLASK membolehkan anda bertindak balas dengan mudah kepada permintaan masuk dan memprosesnya.

langkah 1 : Cipta aplikasi kelalang baharu

Kami akan mencipta fail: app.py Dan kami menulis kod berikut di dalamnya

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()

langkah 2 : Pemprosesan mesej masuk

Kami akan mencipta fail: test.py Dan kami menulis kod berikut di dalamnya

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 ''

langkah 3 : Jalankan projek

Kelalang permulaan:

flask run

Mula ngrok

Untuk Windows:

ngrok http 80

Untuk Mac:

./ngrok http 5000

Selepas ini, anda akan melihat sebagai contoh:

https://7647-115-83-121-164.ngrok.io

tampal URL anda dalam tetapan Instance ، Seperti gambar berikut

Terima mesej WhatsApp menggunakan python dan webhook-ultramsg

CONTOH JSON RESPONS

{
  "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 : Projek Uji dan Terima mesej WhatsApp mesej pertama

Sekarang hantar mesej WhatsApp ke nombor yang anda pautkan contoh itu.
Nombor pengirim dan mesej yang dihantar akan dicetak.

tahniah. Anda telah menerima mesej WhatsApp pertama anda.

Kini selepas menerima mesej WhatsApp anda boleh membina chatbot dengan mudah menggunakan Python dan Ultramsg API.

Jenis webhooks untuk digunakan dengan WhatsApp API & Ultramsg

  • webhook_message_received : pemberitahuan dalam webhooks apabila mesej diterima.
  • webhook_message_create : pemberitahuan dalam webhooks apabila mesej dibuat .
  • webhook_message_ack : pemberitahuan ack (mesej dihantar dan mesej dilihat) dalam webhooks.

anda boleh melihat Dokumentasi dan Soalan Lazim API Whatsapp Penuh.