Dokumen ini memberikan informasi untuk menyiapkan jaringan Anda dan men-debug potensi masalah.
Klien API WhatsApp Business memiliki persyaratan jaringan tertentu untuk terhubung ke server WhatsApp. Jika bisnis Anda tidak dapat melakukan hal di bawah ini, sayangnya kami tidak dapat mendukung integrasi WhatsApp Anda.
Kami memahami bahwa bisnis yang berbeda memiliki konfigurasi jaringan dan masalah keamanan yang berbeda. Hubungi Dukungan Langsung jika dokumen ini tidak cukup untuk penyiapan Anda karena konektivitas khusus atau persyaratan keamanan yang mungkin Anda miliki.
Klien API WhatsApp Business membutuhkan koneksi TCP yang berdurasi panjang. Permintaan sesekali akan dibuat agar koneksi tidak tetap diam. Namun, Anda harus memastikan bahwa firewall, router, keamanan, dll. Anda tidak menghentikan koneksi TCP yang berdurasi panjang.
Ada dua port yang digunakan untuk traffic keluar:
5222
443
Tidak mendengarkan atau digunakan untuk traffic masuk. Firewall bisnis Anda masih dapat melindungi dari traffic masuk seperti normalnya.
Port default untuk klien API WhatsApp Business adalah 5222
. Jika port itu tidak tersedia, aplikasi akan kembali ke port 443
. Port 443
harus dibuka untuk HTTPS
minimal untuk pendaftaran aplikasi dan memulai ulang. Anda dapat membiarkan port 5222
ditutup dan port 443
dibuka, tetapi Anda tidak dapat membuka port 5222
dan bukan port 443
.
Direkomendasikan Anda membuka kedua port dan mengizinkan semua traffic keluar.
Klien API WhatsApp Business menggunakan dua jenis protokol:
chatd
HTTPS
Protokol obrolan milik WhatsApp, disebut chatd
, digunakan untuk mengirim pesan dan informasi terenkripsi ke dan dari server WhatsApp. Karena ini adalah hak milik, kami meminta agar port yang Anda buka berada dalam daftar diizinkan untuk semua traffic keluar. Beberapa firewall dan proksi menghentikan koneksi non-SSL, yang akan mengganggu kemampuan aplikasi untuk terhubung ke server WhatsApp.
WhatsApp menggunakan HTTPS
selama pendaftaran dan itu perlu untuk mulai ulang. Kami tidak merekomendasikan memblokir HTTPS
setelah pendaftaran karena Anda tidak pernah tahu kapan Anda harus mendaftar ulang atau memulai ulang aplikasi Anda.
WhatsApp menggunakan berbagai alamat IP untuk servernya. Anda dapat mencoba mengizinkan semua alamat IP. Namun, yang terbaik adalah mengizinkan semua traffic keluar dan koneksi dari port di atas.
Alamat dan rentang IP server WhatsApp (.zip file)Daftar ini mungkin akan sering berubah. Jadi direkomendasikan Anda mengizinkan traffic keluar dari port 5222
atau 443
, untuk menghindari memperbarui daftar diizinkan ini di jaringan Anda setiap kali ada perubahan.
Anda dapat menambahkan server WhatsApp ke daftar diizinkan dengan nama host daripada alamat IP.
Nama host server WhatsApp yang memerlukan konektivitas oleh klien API WhatsApp Business adalah:
.*.cdn.whatsapp.net
g.whatsapp.net
graph.facebook.com
graph.whatsapp.com
media-.*.cdn.whatsapp.net
media..*.fna.whatsapp.net
mmg.whatsapp.net
pps.whatsapp.net
static.whatsapp.net
v.whatsapp.net
Anda juga harus mengizinkan akses ke repositori kami di JFrog, tempat kami meng-hosting gambar kontainer Docker untuk mengunduhnya.
Anda harus menggunakan nama host dalam daftar diizinkan untuk JFrog karena alamat IP tidak dapat disediakan.
Nama host JFrog yang diperlukan adalah:
docker.whatsapp.biz
dl.bintray.com
akamai.bintray.com
Bergantung pada firewall Anda dan bagaimana fungsinya, menambahkan nama host ke daftar diizinkan mungkin tidak berfungsi dan Anda harus menambahkan semua alamat IP ke daftar diizinkan.
Contoh perilaku firewall yang tidak akan berfungsi hanya dengan nama host pada daftar diizinkan adalah:
HTTP
/HTTPS
.Jika firewall Anda menunjukkan salah satu perilaku berikut, lanjutkan untuk menggunakan alamat IP dalam daftar diizinkan.
Konfigurasikan proksi jaringan dengan mengatur variabel lingkungan berikut ke proksi yang Anda gunakan, lalu teruskan ke Coreapp:
http_proxy
https_proxy
Fitur WADebug dapat membantu untuk memeriksa dengan cepat apakah kontainer Coreapp memiliki akses ke semua server WhatsApp yang diperlukan. Dengan WADebug terinstal, cukup jalankan:
wadebug partial check_network