Cara Menerima pesan WhatsApp menggunakan python dan webhook

pengantar

Dalam tutorial ini, kami akan membuat aplikasi sederhana untuk menangani pesan WhatsApp yang masuk menggunakan python.

Ketergantungan

instal ngrok

untuk tujuan pembangunan lokal, layanan tunneling diperlukan. Contoh ini menggunakan ngrok , Anda dapat mengunduh ngrok dari sini .

instal FLASK

pip install flask

kita perlu menggunakan server menggunakan kerangka FLASK.
FLASK memungkinkan untuk dengan mudah menanggapi permintaan yang masuk dan memprosesnya.

langkah 1: Buat aplikasi labu baru

Kami akan membuat file: app.py Dan kami menulis kode 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: Pemrosesan pesan masuk

Kami akan membuat file: test.py Dan kami menulis kode 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 proyek

Mulai labu:

flask run

Mulai ngrok

Untuk Windows:

ngrok http 80

Untuk Mac :

./ngrok http 5000

Setelah ini, Anda akan melihat contoh:

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

rekatkan URL Anda di pengaturan Instance Seperti gambar berikut

Terima pesan 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: Uji Proyek dan Terima pesan WhatsApp pesan pertama

Sekarang kirim pesan WhatsApp ke nomor yang Anda tautkan ke instance.
Nomor pengirim dan pesan terkirim akan dicetak.

Selamat. Anda telah menerima pesan WhatsApp pertama Anda.

Sekarang setelah menerima pesan WhatsApp, Anda dapat membuat chatbot dengan mudah menggunakan Python dan Ultramsg API.

Jenis webhook untuk digunakan dengan WhatsApp API & Ultramsg

  • webhook_message_received : pemberitahuan di webhook saat pesan diterima .
  • webhook_message_create : pemberitahuan di webhook saat pesan dibuat.
  • webhook_message_ack : pemberitahuan ack (pesan terkirim dan pesan dilihat) di webhook.

Anda dapat melihat Dokumentasi dan FAQ API Whatsapp Lengkap.