Python ve webhook kullanarak WhatsApp mesajları nasıl alınır

Tanıtım

Bu eğitimde, python kullanarak gelen WhatsApp mesajlarını işlemek için basit bir uygulama oluşturacağız.

bağımlılıklar

ngrok’u yükle

yerel kalkınma amaçları için bir tünel açma hizmeti gereklidir. Bu örnekte ngrok kullanılmıştır, ngrok’u buradan indirebilirsiniz.

FLASK’ı kurun

pip install flask

FLASK çerçevesini kullanarak sunucuyu dağıtmamız gerekiyor.
FLASK, gelen isteklere uygun şekilde yanıt verilmesini ve bunları işlemesini sağlar.

1. adım : Yeni şişe uygulaması oluşturun

Dosyayı oluşturacağız: app.py Ve içine aşağıdaki kodu yazıyoruz

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. adım : Gelen mesaj işleme

Dosyayı oluşturacağız: test.py Ve içine aşağıdaki kodu yazıyoruz

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. adım : Projeyi çalıştırın

Şişeyi başlat:

flask run

ngrok’u başlat

Pencereler için :

ngrok http 80

Mac için :

./ngrok http 5000

Bundan sonra, bir örneğin görmelisiniz:

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

URL’nizi Örnek ayarlarına yapıştırın ، Aşağıdaki resimdeki gibi

Python ve webhook-ultramsg kullanarak WhatsApp mesajları alın

ÖRNEK JSON YANIT

{
  "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 : Proje Testi ve WhatsApp mesajlarını ilk mesaj alın

Şimdi örneği bağladığınız numaraya bir WhatsApp mesajı gönderin.
Gönderenin numarası ve gönderilen mesaj yazdırılacaktır.

Tebrikler. İlk WhatsApp mesajınızı aldınız.

Artık WhatsApp mesajlarını aldıktan sonra Python ve Ultramsg API kullanarak kolayca bir sohbet robotu oluşturabilirsiniz.

WhatsApp API ve Ultramsg ile kullanılacak web kancası türleri

  • webhook_message_received : mesaj alındığında webhook’lardaki bildirimler.
  • webhook_message_create : mesaj oluşturulduğunda web kancalarındaki bildirimler .
  • webhook_message_ack : webhook’larda ack (mesaj teslim edildi ve mesaj görüntülendi) bildirimleri.

Tam Whatsapp API Belgelerini ve SSS’yi görebilirsiniz.