Bangun bot whatsapp ai dengan ular python murni
Panduan ini akan memandu Anda melalui proses pembuatan bot WhatsApp menggunakan meta (sebelumnya Facebook) cloud API dengan ular python murni, dan flask khusus. Kami juga akan mengintegrasikan acara WebHook untuk menerima pesan secara real-time dan menggunakan OpenAI untuk menghasilkan respons AI. Untuk informasi lebih lanjut tentang struktur aplikasi Flask, Anda dapat merujuk pada dokumentasi ini.
Prasyarat
- Akun Meta Pengembang - Jika Anda tidak memilikinya, Anda dapat membuat akun Meta Developer di sini.
- Aplikasi Bisnis - Jika Anda tidak memilikinya, Anda dapat belajar membuat aplikasi bisnis di sini. Jika Anda tidak melihat opsi untuk membuat aplikasi bisnis, pilih Other > Next > Business .
- Keakraban dengan Python untuk mengikuti tutorial.
Daftar isi
- Bangun bot whatsapp ai dengan ular python murni
- Prasyarat
- Daftar isi
- Mulai
- Langkah 1: Pilih Nomor Telepon
- Langkah 2: Kirim pesan dengan API
- Langkah 3: Mengkonfigurasi Webhooks untuk Menerima Pesan
- Mulai aplikasi Anda
- Luncurkan Ngrok
- Mengintegrasikan whatsapp
- Menguji integrasi
- Langkah 4: Memahami Keamanan Webhook
- Permintaan verifikasi
- Memvalidasi permintaan verifikasi
- Memvalidasi muatan
- Langkah 5: Pelajari tentang API dan bangun aplikasi Anda
- Langkah 6: Mengintegrasikan AI ke dalam aplikasi
- Langkah 7: Tambahkan nomor telepon
- Datalumina
- Tutorial
Mulai
- Tinjauan & Pengaturan : Mulailah perjalanan Anda di sini.
- Temukan bot Anda : bot Anda dapat ditemukan di sini.
- Dokumentasi API WhatsApp : Biasakan diri Anda dengan dokumentasi resmi.
- Panduan Bermanfaat : Berikut panduan berbasis Python untuk mengirim pesan.
- API Documents untuk mengirim pesan : Lihat dokumentasi ini.
Langkah 1: Pilih Nomor Telepon
- Pastikan WhatsApp ditambahkan ke aplikasi Anda.
- Anda mulai dengan nomor tes yang dapat Anda gunakan untuk mengirim pesan hingga 5 nomor.
- Pergi ke pengaturan API dan cari nomor tes tempat Anda akan mengirim pesan.
- Di sini, Anda juga dapat menambahkan nomor untuk mengirim pesan ke. Masukkan nomor whatsapp Anda sendiri .
- Anda akan menerima kode di ponsel Anda melalui WhatsApp untuk memverifikasi nomor Anda.
Langkah 2: Kirim pesan dengan API
- Dapatkan token akses 24 jam dari bagian akses API.
- Ini akan menunjukkan contoh cara mengirim pesan menggunakan perintah
curl yang dapat dikirim dari terminal atau dengan alat seperti tukang pos. - Mari kita ubah menjadi fungsi Python dengan Perpustakaan Permintaan.
- Buat file
.env berdasarkan example.env dan perbarui variabel yang diperlukan. Contoh video di sini. - Anda akan menerima pesan "Hello World" (harapkan penundaan 60-120 detik untuk pesan tersebut).
Membuat akses yang berfungsi lebih lama dari 24 jam
- Buat pengguna sistem di tingkat akun bisnis meta.
- Pada halaman Sistem Pengguna, konfigurasikan aset untuk pengguna sistem Anda, menetapkan aplikasi WhatsApp Anda dengan kontrol penuh. Jangan lupa untuk mengklik tombol Simpan Perubahan.
- Lihat Langkah 1 Di Sini
- Lihat Langkah 2 Di Sini
- Sekarang klik
Generate new token dan pilih aplikasi, lalu pilih berapa lama token akses akan valid. Anda dapat memilih 60 hari atau tidak pernah kedaluwarsa. - Pilih semua izin, karena saya mengalami kesalahan ketika saya hanya memilih yang WhatsApp.
- Konfirmasikan dan salin token akses.
Sekarang kita harus menemukan informasi berikut di dasbor aplikasi :
- App_id : "<Anda-whatsapp-business-app_id>" (ditemukan di dasbor aplikasi)
- App_secret : "<-whatsapp-business-app_secret>" (ditemukan di dasbor aplikasi)
- Penerima_waid : "" (Ini adalah id whatsapp Anda, yaitu, nomor telepon. Pastikan itu ditambahkan ke akun seperti yang ditunjukkan pada pesan uji contoh.)
- Versi : "V18.0" (versi terbaru dari Meta Graph API)
- Access_token : "" (dibuat pada langkah sebelumnya)
Anda hanya dapat mengirim pesan jenis template sebagai pesan pertama Anda kepada pengguna. Itulah mengapa Anda harus mengirim balasan terlebih dahulu sebelum kami melanjutkan. Butuh waktu 2 jam untuk mencari tahu ini.
Langkah 3: Mengkonfigurasi Webhooks untuk Menerima Pesan
Harap dicatat, ini adalah bagian tersulit dari tutorial ini.
Mulai aplikasi Anda
- Membuat Anda memiliki instalasi atau lingkungan Python dan menginstal persyaratan:
pip install -r requirements.txt - Jalankan aplikasi Flask Anda secara lokal dengan mengeksekusi run.py
Luncurkan Ngrok
Langkah -langkah di bawah ini diambil dari dokumentasi Ngrok.
Anda memerlukan domain Ngrok statis karena Meta memvalidasi domain dan sertifikat Ngrok Anda!
Setelah aplikasi Anda berjalan dengan sukses di LocalHost, mari kita dapatkan di internet dengan aman menggunakan Ngrok!
- Jika Anda belum menjadi pengguna Ngrok, cukup daftar untuk Ngrok secara gratis.
- Unduh agen Ngrok.
- Buka dasbor Ngrok, klik AuthToken Anda, dan salin authToken Anda.
- Ikuti instruksi untuk mengotentikasi agen NGROK Anda. Anda hanya perlu melakukan ini sekali.
- Di menu kiri, ungkapkan tepi cloud dan kemudian klik domain.
- Pada halaman Domain, klik + Buat domain atau + domain baru. (Di sini semua orang dapat mulai dengan satu domain gratis)
- Mulai Ngrok dengan menjalankan perintah berikut di terminal di desktop lokal Anda:
ngrok http 8000 --domain your-domain.ngrok-free.app
- Ngrok akan menampilkan URL di mana aplikasi LocalHost Anda terpapar ke Internet (salin URL ini untuk digunakan dengan meta).
Mengintegrasikan whatsapp
Di dasbor aplikasi meta, buka WhatsApp> Configuration, lalu klik tombol Edit.
- Dalam popup URL callback edit Webhook, masukkan URL yang disediakan oleh agen NGROK untuk mengekspos aplikasi Anda ke internet di bidang URL Callback, dengan/Webhook di akhir (yaitu https://myexample.ngrok-free.app/webhook ).
- Masukkan token verifikasi. String ini diatur oleh Anda saat Anda membuat titik akhir webhook Anda. Anda dapat memilih string apa pun yang Anda suka. Pastikan untuk memperbarui ini di variabel lingkungan
VERIFY_TOKEN Anda. - Setelah Anda menambahkan webhook ke WhatsApp, WhatsApp akan mengirimkan permintaan pos validasi ke aplikasi Anda melalui NGROK. Konfirmasikan aplikasi LocalHost Anda menerima permintaan Validasi Dapatkan dan Log
WEBHOOK_VERIFIED di terminal. - Kembali ke halaman konfigurasi, klik Kelola.
- Pada popup Webhook Fields, klik berlangganan bidang pesan . Kiat: Anda dapat berlangganan beberapa bidang.
- Jika aplikasi Flask dan Ngrok Anda berjalan, Anda dapat mengklik "Tes" di sebelah pesan untuk menguji langganan. Anda menerima pesan tes di huruf besar. Jika itu masalahnya, webhook Anda diatur dengan benar.
Menguji integrasi
Gunakan nomor telepon yang terkait dengan produk WhatsApp Anda atau gunakan nomor uji yang Anda salin sebelumnya.
- Tambahkan nomor ini ke kontak aplikasi WhatsApp Anda dan kemudian kirim pesan ke nomor ini.
- Konfirmasi aplikasi LocalHost Anda menerima pesan dan mencatat baik header dan tubuh di terminal.
- Uji jika bot membalas kembali kepada Anda dalam huruf besar.
- Anda sekarang berhasil mengintegrasikan bot! ?
- Sekarang saatnya untuk membangun hal -hal keren dengan ini.
Langkah 4: Memahami Keamanan Webhook
Di bawah ini adalah beberapa informasi dari Meta Webhooks API Docs tentang verifikasi dan keamanan. Itu sudah diimplementasikan dalam kode, tetapi Anda dapat merujuknya untuk mendapatkan pemahaman yang lebih baik tentang apa yang terjadi di keamanan.py
Permintaan verifikasi
Sumber
Setiap kali Anda mengonfigurasi produk WebHooks di dasbor aplikasi Anda, kami akan mengirimkan permintaan GET ke URL titik akhir Anda. Permintaan verifikasi termasuk parameter string kueri berikut, ditambahkan ke akhir URL titik akhir Anda. Mereka akan terlihat seperti ini:
GET https://www.your-clever-domain-name.com/webhook?
hub.mode=subscribe&
hub.challenge=1158201444&
hub.verify_token=meatyhamhock
Verifikasi_Token, meatyhamhock dalam kasus contoh ini, adalah tali yang dapat Anda pilih. Tidak masalah apa itu selama Anda menyimpan di variabel lingkungan VERIFY_TOKEN .
Memvalidasi permintaan verifikasi
Sumber
Setiap kali titik akhir Anda menerima permintaan verifikasi, itu harus:
- Verifikasi bahwa nilai hub.verify_token cocok dengan string yang Anda atur di bidang verifikasi ketika Anda mengkonfigurasi produk webhooks di dasbor aplikasi Anda (Anda belum mengatur string token ini).
- Tanggapi dengan nilai hub.
Memvalidasi muatan
Sumber
WhatsApp menandatangani semua muatan pemberitahuan acara dengan tanda tangan SHA256 dan menyertakan tanda tangan dalam header X-Hub-Signature-256 permintaan, didahului dengan SHA256 =. Anda tidak perlu memvalidasi muatan, tetapi Anda harus melakukannya.
Untuk memvalidasi muatan:
- Hasilkan tanda tangan SHA256 menggunakan payload dan rahasia aplikasi aplikasi Anda.
- Bandingkan tanda tangan Anda dengan tanda tangan di header X-Hub-Signature-256 (semuanya setelah SHA256 =). Jika tanda tangan cocok, muatannya asli.
Langkah 5: Pelajari tentang API dan bangun aplikasi Anda
Tinjau dokumentasi pengembang untuk mempelajari cara membangun aplikasi Anda dan mulai mengirim pesan. Lihat dokumentasi.
Langkah 6: Mengintegrasikan AI ke dalam aplikasi
Sekarang setelah kita memiliki koneksi ujung ke ujung, kita dapat membuat bot sedikit lebih pintar daripada hanya meneriakkan kita di Upper Case. Yang harus Anda lakukan adalah membuat fungsi generate_response() Anda sendiri di whatsapp_utils.py.
Jika Anda ingin contoh pemotong cookie untuk mengintegrasikan Openai Assistans API dengan alat pengambilan, maka ikuti langkah -langkah ini.
- Tonton Video Ini: Tutorial Asisten Openai
- Buat asisten Anda sendiri dengan openai dan perbarui
OPENAI_API_KEY dan OPENAI_ASSISTANT_ID Anda dalam variabel lingkungan. - Berikan asisten Anda dengan data dan instruksi
- Perbarui openai_service.py untuk kasus penggunaan Anda.
- Impor
generate_reponse ke whatsapp_utils.py - Perbarui
process_whatsapp_message() dengan fungsi generate_reponse() yang baru.
Langkah 7: Tambahkan nomor telepon
Saat Anda siap menggunakan aplikasi Anda untuk kasus penggunaan produksi, Anda perlu menggunakan nomor telepon Anda sendiri untuk mengirim pesan kepada pengguna Anda.
Untuk mulai mengirim pesan ke nomor WhatsApp apa pun, tambahkan nomor telepon. Untuk mengelola informasi akun dan nomor telepon Anda, lihat halaman Ikhtisar. dan dokumen whatsapp.
Jika Anda ingin menggunakan nomor yang sudah digunakan dalam pelanggan atau aplikasi bisnis WhatsApp, Anda harus sepenuhnya memigrasi nomor itu ke platform bisnis. Setelah nomor dimigrasi, Anda akan kehilangan akses ke pelanggan atau aplikasi bisnis WhatsApp. Lihat Migrasi Nomor WhatsApp yang ada ke akun bisnis untuk informasi.
Setelah Anda memilih nomor telepon Anda, Anda harus menambahkannya ke akun bisnis WhatsApp Anda. Lihat Tambahkan nomor telepon.
Saat berhadapan dengan WhatsApp Business API dan ingin bereksperimen tanpa mempengaruhi nomor pribadi Anda, Anda memiliki beberapa opsi:
- Beli Kartu Sim Baru
- Nomor telepon virtual
- Ponsel SIM ganda
- Gunakan perangkat yang berbeda
- Layanan nomor sementara
- Perangkat khusus untuk pengembangan
Rekomendasi : Jika ini untuk tujuan yang lebih lama atau profesional, menggunakan layanan nomor telepon virtual atau membeli kartu SIM baru untuk perangkat khusus disarankan. Untuk tes cepat, jumlah sementara mungkin cukup, tetapi selalu berhati -hati tentang keamanan dan privasi. Ingatlah bahwa begitu nomor dikaitkan dengan WhatsApp Business API, itu tidak dapat digunakan dengan WhatsApp biasa pada perangkat kecuali Anda menonaktifkannya dari API bisnis dan menghormatinya di perangkat.
Datalumina
Dokumen ini diberikan kepada Anda oleh Datalumina. Kami membantu analis data, insinyur, dan ilmuwan meluncurkan dan skala bisnis lepas yang sukses - $ 100k+ /tahun, proyek menyenangkan, klien yang bahagia. Jika Anda ingin mempelajari lebih lanjut tentang apa yang kami lakukan, Anda dapat mengunjungi situs web kami dan berlangganan buletin kami. Jangan ragu untuk membagikan dokumen ini dengan teman dan kolega data Anda.
Tutorial
Untuk tutorial video, kunjungi saluran YouTube: youtube.com/@daveebbelaar.