Kami akan menghentikan On-Premises API. Lihat Proses Penghentian On-Premises API dokumen untuk detailnya, dan untuk mempelajari cara bermigrasi ke Cloud API generasi berikutnya.

Pertanyaan Umum API Di Tempat

Kunjungi <halaman status Platform WhatsApp Business Bisnis untuk informasi terbaru tentang pemadaman platform.

Memulai

WhatsApp menganggap komunikasi dengan pengguna API Bisnis yang mengelola endpoint API di server yang mereka kontrol dienkripsi end-to-end karena tidak ada akses pihak ketiga ke konten di antara endpoint.

Beberapa organisasi mungkin memilih untuk mendelegasikan pengelolaan endpoint API WhatsApp Business mereka ke Penyedia Solusi Bisnis pihak ketiga. Dalam hal ini, komunikasi masih menggunakan enkripsi protokol Sinyal yang sama. Namun, karena pengguna API WhatsApp Business telah memilih pihak ketiga untuk mengelola endpoint mereka, WhatsApp tidak menganggap pesan-pesan ini dienkripsi end-to-end. Pada tahun 2021, ini juga akan berlaku untuk bisnis yang memilih untuk memanfaatkan versi berbasis cloud dari API yang di-hosting oleh Facebook.

Selain itu, jika Anda menggunakan HTTPS saat membuat panggilan ke klien API WhatsApp Business, data itu dienkripsi SSL (dari klien backend Anda ke klien API WhatsApp Business).

Lihat Laporan teknis Ringkasan Enkripsi WhatsApp untuk detail selengkapnya.

Tidak, Anda dapat menjalankan satu akun per instance. Jika Anda memerlukan akun pengujian kedua, pastikan untuk menggunakan nomor yang berbeda untuk instance kedua itu.

TIDAK! Kapan pun, Anda hanya dapat memiliki satu instance Klien API WhatsApp Business yang berjalan untuk satu nomor telepon. Begitu Anda mendaftarkan instance kedua, instance pertama Anda akan dinonaktifkan dan gagal. Kami sedang mengupayakan solusi yang efektif, yang memungkinkan Anda melakukan itu. Kami akan terus memberikan informasi terbaru kepada Anda.

Klien API di Tempat WhatsApp Business membutuhkan database untuk menyimpan kode pesan dekripsi yang dikirim antara bisnis dan pelanggan. Semua pesan di WhatsApp dienkripsi dengan kode pengirim dan penerima. Kode pelanggan disimpan di perangkat seluler mereka dan kode bisnis disimpan di database bisnis. Pelajari selengkapnya tentang Keamanan WhatsApp.

WhatsApp Business Cloud API adalah alternatif ketika Meta meng-hosting database bisnis. Cloud API memungkinkan Anda untuk menerapkan API WhatsApp Business tanpa biaya hosting server Anda sendiri. Pelajari selengkapnya.

Tidak. Saat ini tidak ada cara untuk menjalankan banyak nomor dalam penyiapan klien API WhatsApp Business yang sama. Kami sedang menggarap solusi yang tepat agar hal ini dapat dilakukan ke depannya.

Yes, Whatsapp Flows can be sent with On-Premises API. You can learn more about Whatsapp Flows here, or learn how to get started with Whatsapp Flows and On-Premises API here.

Instalasi

Ya! Secara default, Klien API WhatsApp Business mencoba untuk berkomunikasi menggunakan chatd melalui port 5222. Untuk pengalaman terbaik, buka port 5222 untuk semua traffic keluar. Ini tidak menimbulkan masalah keamanan karena traffic hanya keluar dari pusat data Anda.

Jika Anda tidak dapat membuka port 5222, Klien API WhatsApp Business mencoba menggunakan port 443. Jika firewall atau proxy Anda masih memutus koneksi, hubungi tim WhatsApp dengan mengirimkan pertanyaan melalui Dukungan Langsung untuk melakukan debug.

Tidak. Klien API WhatsApp Business membuka koneksi TCP keluar untuk port 5222 atau 443 pada server WhatsApp. Traffic TCP terjadi selama koneksi berjangka panjang ini. Biasanya firewall mengklasifikasikan ini sebagai mengizinkan “traffic keluar dan traffic yang sudah berjalan.” Tentu saja, paket akan mengalir ke dua arah setelah koneksi terjalin, tetapi awal koneksi berasal dari Klien API WhatsApp Business sehingga tidak perlu ada aturan yang mengizinkan koneksi masuk.

Persyaratan bergantung pada muatan dan situasi Anda. Solusinya akan berjalan di mesin yang terhubung ke internet yang menjalankan docker. Sebagai contoh, pengujian sederhana dapat dilakukan di laptop.

Untuk pengaturan server produksi instance tunggal, kami merekomendasikan setidaknya SSD 250 GB, RAM 16 GB, dan CPU 4 core. HDD tidak disarankan karena kecepatan I/O akan mengakibatkan kemacetan ketika terdapat muatan.

Untuk pengaturan server produksi Multikoneksi, kami merekomendasikan setidaknya SSD 50 GB, RAM 4 GB, dan CPU 2 core untuk setiap kontainer Coreapp/Master/Webapp.

Dalam sebagian besar kasus, Anda sebaiknya menjalankan database di server fisik yang terpisah dari kontainer core dan web. Latensi server database seharusnya hanya beberapa milidetik dari mesin komputasi.

Pengaturan ini mendukung pengiriman sekitar 20 pesan per detik.

MySQL 5.7.x, PostgreSQL 9.5.x, 9.6.x, 10.x diperlukan. Penggunaan versi sebelumnya akan menghasilkan kesalahan Unable to initialize config store.

Siapkan MySQL secara lokal menggunakan Docker dengan mengikuti panduan MySQL Docker.

Siapkan PostgreSQL secara lokal menggunakan Docker dengan mengikuti panduan PostgreSQL Docker.

Dalam kebanyakan kasus, Anda sebaiknya menjalankan database di server fisik yang terpisah dari container core dan web. Latensi server database seharusnya hanya beberapa milidetik dari mesin komputasi.

Daftar diizinkan dapat dibuat dengan nama host atau alamat IP.

Lihat bagian Nama host dalam dokumentasi Persyaratan Jaringan untuk informasi selengkapnya.

Ya, koneksi TCP diperlukan. Jika bisnis tidak dapat membuka port tambahan, Anda dapat menggunakan SSL yang dihentikan.

Lihat dokumentasi Persyaratan Jaringan untuk informasi selengkapnya.

Pengelolaan Data

Kami mendukung MySQL dan PostgreSQL. Jika Anda sendiri menjalankan Docker, Anda harus menyediakan database MySQL/PostgreSQL untuk disambungkan dengan container. Penggunaan template AWS secara default akan menyiapkan database MySQL.

Tidak. Saat ini, klien API WhatsApp Business tidak berfungsi di Docker for Windows. Untuk kebutuhan pengembangan, solusi yang disarankan adalah menggunakan mesin Virtual Linux dan menjalankan Docker di dalamnya. Untuk beban kerja produksi, kami sarankan Anda menggunakan Server Linux untuk menghindari masalah kompatibilitas dan kinerja.

Anda dapat memulai ulang container Docker dengan menjalankan kode berikut:

Container Docker Coreapp

docker restart wacore<Current_WABA_Version>

Container Docker Webapp

docker restart webapp<Current_WABA_Version>

Anda dapat memeriksa versi mana yang Anda jalankan

docker ps

Ya, rotasi log untuk container webapp dan container coreapp memiliki perilaku yang sedikit berbeda:

  • Webapp: 30 file log terakhir akan disimpan. File log dirotasi hanya jika ukurannya lebih besar dari 20 MB.
  • Coreapp: 30 file log terakhir akan disimpan. File log dirotasi hanya jika ukurannya lebih besar dari 15 MB. File yang dirotasi akan dikompresi.

Terdapat skrip yang dapat dipicu secara eksternal untuk menghapus log lama sebuah container:

docker exec CONTAINER_NAME /opt/whatsapp/bin/cleanup.sh

Skrip bekerja dengan container baik webapp maupun coreapp. Dengan menjalankan skrip, file log lama akan dihapus sehingga hanya tersisa 30 file log dari container itu.

Sistem Anda mungkin akan mulai berjalan lambat seiring dengan makin penuhnya penyimpanan. Ini dapat disebabkan oleh banyaknya jumlah file media, pesan, dan file log yang berukuran besar. File log otomatis dirotasi, tapi jika ukurannya mulai terlalu besar, Anda aman untuk menghapusnya.

Pesan disimpan di database. Anda dapat menghapus pesan jika perlu. Selain itu, jika pass_through diatur ke false dalam pengaturan aplikasi, semua pesan disimpan di database lokal hingga secara eksplisit dihapus.

File media yang dikirimkan pengguna kepada Anda diunduh ke volume media. Bisnis menentukan sendiri file media mana yang ingin dihapus, tapi pada umumnya file media aman untuk dihapus. Anda dapat menggunakan docker inspect your-container-id untuk memeriksa lokasi folder volume media.

Ya, database bisa digunakan dengan cara lain tanpa menyentuh tabel terkait WhatsApp.

Tabel database menyimpan informasi terkait dengan pengaturan aplikasi, utas obrolan, pesan, media, dsb., yang semuanya diperlukan oleh aplikasi untuk dapat bekerja.

v2.25.x meningkatkan kinerja keluar dan masuk dibandingkan rilis sebelumnya. Pengoptimalan ini mengandalkan pembuatan koneksi database tambahan. Untuk beberapa penerapan, ini dapat menyebabkan jumlah koneksi database meningkat dan mencapai batas yang dikonfigurasi. Agar kinerja terus meningkat, Anda bisa meningkatkan jumlah maksimum koneksi yang dapat diterima server database Anda. Jika itu tidak memungkinkan, Anda dapat mengubah parameter axolotl_context_striping_disabled untuk menonaktifkan perilaku ini. Lihat dokumentasi Pengaturan Aplikasi untuk informasi selengkapnya tentang cara melakukan perubahan ini.

Pengumpulan sampah database secara berkala membersihkan tabel messages dan messages_reciept_log untuk membantu pengelolaan database.

Pengumpul sampah menyimpan pesan tertentu agar penyampaian/pemrosesan berhasil. Contoh: mempertahankan pesan masuk selama jangka waktu tertentu untuk memungkinkan integrasi bisnis menandai pesan sebagai telah dibaca.

Coreapp melakukan pengumpulan sampah secara acak (yaitu, setiap beberapa jam). Ini untuk mencegah potensi penurunan kinerja di tumpukan Ketersediaan Tinggi karena pertentangan database.

Pengumpulan sampah tidak bergantung pada antrean panggilan balik. Contoh: jika server Webhooks tidak tersedia selama 4 hari, panggilan balik akan disimpan untuk dikirimkan saat konektivitas server Webhooks dipulihkan.

Gunakan pengumpulan sampah database endpoint API services untuk membersihkan pesan dan tanda terima pesan yang sesuai dari tabel messageStore.messages dan messageStore.messages_receipt_log.

Pendaftaran

Jika Anda mencadangkan penyiapan saat ini dan memulihkannya di komputer baru, informasi pendaftaran akan berpindah bersama penerapan Anda lainnya. Lihat dokumentasi Pengaturan Pencadangan dan Pemulihan untuk informasi selengkapnya.

Autentikasi

Membuat pengguna logout melalui endpoint users akan membuat semua token otorisasi yang ditetapkan ke akun itu menjadi tidak valid. Menghapus pengguna akan berakibat sama, walaupun itu terasa lebih drastis. Ingat bahwa membuat pengguna login melalui endpoint users akan menghasilkan token otorisasi baru, tapi ini tidak akan membuat token otorisasi yang sudah digunakan untuk pengguna itu menjadi tidak valid. Siapa pun yang memiliki token yang disediakan sebelumnya akan dapat terus menggunakannya sampai token itu kedaluwarsa atau dibuat tidak valid melalui salah satu cara tersebut di atas.

Mengirim Pesan

Catatan: Jangan kirimkan pesan yang sama berulang-ulang kepada penerima yang sama menggunakan WhatsApp Business API.

Ada beberapa kemungkinan alasan mengapa tingkat pengiriman tidak 100%. Beberapa kasus umum termasuk pengguna yang memiliki akses sporadis ke jaringan, tidak aktif selama jangka waktu tertentu, atau untuk menciptakan pengalaman pengguna berkualitas tinggi.

Pesan yang dapat tersampaikan dengan WhatsApp akan memiliki tingkat pengiriman yang sangat tinggi. Namun, ada banyak alasan mengapa pesan tidak tersampaikan. Anda akan memiliki akses ke status pesan yang tepat dengan memantau panggilan balik Anda. Hal ini berbeda dari pengiriman pesan melalui SMS, contohnya saat Anda tidak memiliki akses ke status tersampaikan yang terakhir. Pengiriman ulang pesan tersebut dapat memberikan hasil yang berbeda.

Pesan mungkin tetap tidak tersampaikan karena telepon pengguna tidak berfungsi, atau baterai habis, atau mereka kehilangan telepon dan menggunakan telepon yang baru serta menonaktifkan SIM-nya. Mungkin saja terdapat kesalahan pada kemampuan klien bisnis untuk terhubung ke jaringan. Mungkin juga panggilan balik (Webhooks) tidak tersampaikan. Anda dapat memantau situasi ini dengan menggunakan node health. Anda dapat mengaktifkan panggilan balik penerimaan server untuk mengetahui bahwa pesan berhasil masuk ke cloud server WhatsApp.

Jika dan ketika pengguna terhubung kembali ke jaringan, semua pesan yang Anda kirim akan tersampaikan kepada mereka. Menerima lebih dari satu pesan dengan isi yang sama akan menjadi pengalaman buruk bagi mereka. Mereka kemungkinan besar akan memblokir Anda atau menyampaikan keluhan. Kemungkinan besar Anda akan diblokir.

Jika Anda mengirim pesan dan menerima ID pesan dari API, Anda telah melakukan apa yang bisa Anda lakukan untuk mengirim pesan ini. Jangan mengirim ulang konten yang sama ke penerima yang sama.

Jika Anda melihat tingkat pengiriman yang rendah dalam jangka waktu yang lama, kirimkan tiket permintaan dukungan ke Dukungan Langsung.

Saat Anda mengirimkan pesan, ketika Anda mendapatkan kembali ID pesan, permintaan pesan berarti telah disimpan di database. Klien API WhatsApp Business akan terus mencoba mengirimkan pesan itu sampai diakui oleh server WhatsApp. Proses ini tidak memiliki linimasa akhir. Server WhatsApp kemudian akan mencoba mengirimkan pesan itu ke ponsel pengguna. Jika ponsel pengguna tidak online, pesan akan disimpan selama 30 hari sebelum dihapus oleh server WhatsApp.

Saat ini, tidak ada cara untuk mengetahui berapa atau siapa pengguna yang telah memblokir bisnis Anda. Indikator terbaik adalah callback status dan jika Anda tidak menerima status delivered, artinya pengguna telah memblokir bisnis Anda atau mereka tidak memiliki koneksi jaringan. Lihat dokumentasi Webhook untuk perincian selengkapnya.

Jika pengguna telah memblokir bisnis Anda, API Kontak akan terus menampilkan nomor teleponnya sebagai pengguna WhatsApp yang valid. Namun, saat Anda mengirimkan pesan, pesan tidak akan pernah terkirim. Jika itu pesan berbayar, Anda tidak akan dikenai biaya.

Dalam skenario konsumen normal, ini terjadi secara default saat pengirim belum tercantum di buku alamat Anda dan Anda belum pernah mengirimkan pesan kepada pengirim tersebut sebelumnya. Dalam skenario perusahaan, pelaku bisnis harus menggunakan Template Pesan saat pertama kali menghubungi pengguna untuk membangun "kepercayaan". Dalam melakukannya, Klien API WhatsApp Business akan mematuhi pengaturan pengunduhan otomatis dalam aplikasi.

Dalam skenario konsumen normal, ini terjadi secara default saat pengirim belum tercantum di buku alamat Anda dan Anda belum pernah mengirimkan pesan kepada pengirim tersebut sebelumnya. Dalam skenario perusahaan, pelaku bisnis harus menggunakan Template Pesan saat pertama kali menghubungi pengguna untuk membangun "kepercayaan". Dalam melakukannya, Klien API WhatsApp Business akan dapat merender tautan itu dan menjadikannya dapat diklik.

Tidak, urutan datangnya pesan tidak dijamin sama dengan saat pesan dikirimkan. Jika urutan penting untuk Anda, pendekatan yang disarankan adalah memperhatikan callback terkirim dari pesan pertama sebelum mengirimkan pesan kedua.

Saat menggunakan node messages, Anda perlu mengatur header Content-Type ke application/json agar Klien API WhatsApp Business dapat menguraikan isi pesan dengan benar. Terdapat pula header Authorization yang harus diatur dan harus berisi token akses yang tidak kedaluwarsa. Lihat dokumentasi Login dan Autentikasi untuk mengetahui informasi tentang cara mendapatkan token dan kapan token kedaluwarsa.

Ya, kirimkan panggilan API ke node contacts sebelum mengirimkan pesan. Informasi dari pemeriksaan contacts disimpan dalam container dan tidak melakukan ini mungkin akan menyebabkan kesalahan Unkown Contact. Lihat dokumentasi Periksa Kontak untuk informasi selengkapnya.

If there is a delay in a subset of numbers, then it is likely not an issue affecting the customers integration but rather an issue on the recipients end, these delays in delivery can happen for a number of reasons. See Send Message Performance, Delays for more information.

No this is not possible. Numbers that are registered under WABAs (WhatsApp Business Accounts) can only message regular WhatsApp accounts.

Media

Tidak ada mekanisme pembersihan baik untuk file media yang keluar maupun yang masuk. Anda dapat menghapus file media Anda secara manual dengan menemukan file tersebut di sistem file Anda.

Untuk menemukan titik pemasangan volume media Anda, jalankan perintah docker.

Permintaan

docker volume inspect whatsappMedia

Tanggapan

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/whatsappMedia/_data",
        "Name": "whatsappMedia",
        "Options": {},
        "Scope": "local"
    }
]

Kemudian, untuk melihat semua file media yang masuk, Anda dapat menjalankan perintah ls dengan jalur file Mountpoint yang diterima:

ls /var/lib/docker/volumes/whatsappMedia/_data/

Untuk penyiapan AWS, volume media dipasang ke jalur /mnt/wa/media pada host.

Ukuran unggahan file maksimum adalah 64 MB, yang berarti batas ini juga berlaku untuk gambar, dokumen, atau video apa pun yang Anda kirim dengan pesan.

Terserah Anda kapan harus menghapus media.

Setelah mengunggah media, Anda akan menerima ID media, yang dapat Anda gunakan untuk mengirim pesan yang menyertakan elemen media yang diunggah. Setelah mengirim pesan media, API WhatsApp Business akan mengenkripsi dan mengunggah media ke server WhatsApp yang akan tetap ada selama 14 hari. Setelah itu, Anda dapat memutuskan untuk menghapus media tersebut dengan memberikan ID media tersebut atau menyimpannya untuk digunakan nanti. Meskipun kami menyarankan menyimpan media selama 30 hari, terserah Anda untuk memutuskan kebijakan penyimpanan berdasarkan kebijakan atau kasus penggunaan bisnis Anda.

Untuk gambar, keterangan akan ditambahkan sebagai deskripsi. Teks keterangan muncul secara penuh untuk gambar di Android dan iPhone.

Untuk dokumen, keterangan menggantikan nama file. Ini tidak dimaksudkan untuk ditampilkan di perangkat pengguna sebagai teks deskripsi tetapi untuk menunjukkan nama file. iPhone menampilkan teks lengkap sementara Android memotong nama file; ini adalah batasan teknis dari penerapan WhatsApp saat ini di kedua perangkat.

Saat mengirimkan gambar sebagai album dari API WhatsApp Business, Anda akan harus mengirimkan setidaknya 4 gambar secara beruntun. Jika tampilan percakapan pengguna sedang aktif saat gambar-gambar itu diterima, tampilan album tidak akan tersedia hingga kunjungan berikutnya.

Album tidak akan dibuat jika salah satu kriteria berikut terpenuhi:

  1. Gambar dengan keterangan
  2. Pembagi belum dibaca - pengguna melihat beberapa gambar saja, tetapi tidak semuanya
  3. Header tanggal - hari baru di antara pengiriman

Tidak, saat ini kami harus menggunakan AWS EFS untuk berbagi volume media antara Coreapp dan Webapp.

Tidak, saat ini kami tidak mendukung pengubahan jalur default ke penyimpanan media (/usr/local/wamedia/). Semua penyimpanan media harus berada di lokasi default ini agar berfungsi dengan baik.

Template Pesan

Saat ini 7 hari. Jika belum diupdate selama lebih dari 7 hari, cache akan mengambil paket bahasa terbaru dari server tanpa mempertimbangkan apakah elemen-elemennya sudah ada di dalam paket atau belum.

Catatan: Kebijakan bahasa fallback dihentikan mulai dengan v2.27.8 dan kebijakan bahasa deterministic sekarang menjadi kebijakan default.

Jika Anda membuat terjemahan dalam bahasa baru, Anda perlu menerjemahkan semua elemen yang Anda gunakan ke dalam bahasa itu. Jika tidak, Anda mungkin akan mendapatkan kesalahan "struktur tidak tersedia" karena ponsel penerima tidak dapat menemukan elemen yang diharapkan dalam bahasa terkait. Kesalahan struktur tidak tersedia seperti ini muncul saat mengirimkan pesan template menggunakan kebijakan fallback.

Jika membuat terjemahan bahasa tidak dapat Anda lakukan pada saat ini, Anda dapat menggunakan kebijakan deterministik untuk menghindari kesalahan seperti ini.

Webhooks

Klien API WhatsApp Business mengirimkan callback Webhook kepada Anda melalui container Coreapp. Oleh karena itu, endpoint Webhook Anda perlu dikonfigurasi untuk menerima permintaan masuk dari Coreapp.

Jika Webhook gagal untuk mengirimkan callback, callback ditempatkan ke antrean percobaan ulang. Callback yang dikirimkan setelah kegagalan callback pertama tidak akan diambil. Hanya setelah callback pertama yang gagal berhasil, callback yang lain akan menyusul.

Jika sebuah peristiwa Webhook tidak terkirim untuk alasan apa pun (mis. klien sedang offline) atau jika permintaan Webhook menghasilkan kode status HTTP selain 200, kami akan mencoba ulang pengiriman webhook. Kami akan terus mencoba ulang pengiriman dengan waktu keterlambatan yang makin panjang hingga angka tertentu (biasanya 24 jam, meskipun ini mungkin berbeda-beda), atau sampai pengiriman berhasil.

Pesan duplikat dapat dikirimkan ke Webhook WhatsApp sebagai satu-satunya jaminan bahwa pesan akan diterima setidaknya satu kali (bukannya pasti hanya satu kali). Jika ini berdampak pada cara pemrosesan pesan pada sisi Anda, kami sarankan untuk menghapus pesan Webhook duplikat berdasarkan ID pesan.

Periksa ulang pengaturan aplikasi pass_through Anda. Anda tidak akan menerima panggilan balik status baca jika Anda telah mengaktifkan pass_through dengan klien API WhatsApp Business v2.29.1 atau lebih tinggi.

Jika Anda ingin menerima panggilan balik status baca, nonaktifkan pengaturan aplikasi pass_through. Perhatikan bahwa dengan menonaktifkan pass_through, penyimpanan database Anda dapat berkembang dengan cepat. Lihat dokumentasi Pengelolaan Database untuk informasi selengkapnya tentang mengelola database Anda.

Kesalahan

Kegagalan ini disebabkan oleh bug dalam versi lama klien iOS. Kami memperkirakan kesalahan akan berkurang seiring waktu bersama dengan upgrade untuk pengguna umum.

Pertama, periksa callback untuk melihat kesalahan kritis dan mendiagnosis masalahnya.

Jika Anda melihat "Konflik: Mendeteksi beberapa instance dengan nomor yang sama", Anda perlu mengecek container. Kemungkinan terbesar penyebabnya adalah Anda memiliki beberapa container Docker yang mencoba tersambung ke server WhatsApp dengan akun WhatsApp yang sama. Pastikan Anda hanya satu container yang berjalan. Jika Anda memiliki container lama, nonaktifkan dan kesalahan akan hilang.

Jika Anda ingin menguji solusi ketersediaan tinggi yang lebih rumit, lihat dokumentasi Ketersediaan Tinggi.

Ini adalah masalah yang sudah diketahui. Terkadang mengupgrade Klien API WhatsApp Business menggunakan skrip CloudFormation juga meminta update untuk stack RDS DB. Stack RDS yang baru tidak akan memiliki nama host yang sama dengan stack aslinya, dan contaner Docker tidak dapat tersambung ke database. Solusinya adalah SSH ke instance EC2 yang dibuat oleh CloudFormation dan mengupdate file whatsapp.conf dengan nama host baru, kemudian memulai ulang container Docker agar menggunakan pengaturan yang baru.

Kesalahan ini terjadi saat database belum disiapkan dengan benar.

  • Pastikan Anda menggunakan MySQL 5.7 ke atas atau PostgreSQL 9.5x, 9.6x, 10.x.
  • Kata sandi database Anda tidak boleh berisi yang mana pun dari karakter ini: ?{}&~!()^.
  • Jika Anda menggunakan AWS, pastikan stack Anda memiliki nama yang pendek. Lihat dokumentasi Penginstalan untuk informasi selengkapnya.

Ini terjadi jika bridge Docker korup. Solusi terbaik untuk ini adalah menghentikan layanan Docker dan memulainya lagi. Anda juga dapat mencoba docker restart di container Anda.

Kesalahan "koneksi ditolak" mungkin berarti Coreapp tidak berjalan. Gunakan docker ps untuk memeriksa apakah Coreapp beroperasi. Jika tidak beroperasi, lihatlah log Docker. Coreapp mungkin tidak dapat tersambung ke database. Pastikan database Anda sudah disiapkan dengan benar.

Mungkin ada beberapa alasan. Coreapp Anda mungkin sedang nonaktif atau database Anda tidak disiapkan dengan benar. Jika tidak demikian, periksa log Coreapp Anda (atau log Coreapp master jika Anda menjalankan multikoneksi). Jika Anda melihat kesalahan koneksi database, kemungkinan database Anda kehabisan koneksi. Lihat dokumen MySQL atau dokumen PostgreSQL tentang kesalahan ini.

Kami sarankan Anda menambah jumlah koneksi database di database Anda. 1.000 koneksi database adalah angka yang seharusnya aman, tapi ambil keputusan Anda dengan matang mengenai jumlah koneksi. Jika kesalahan berlanjut, kirimkan tiket permintaan dukungan.

Jika Anda melihat kesalahan ini tetapi parameter yang diperlukan tetapi tidak ada itu tersedia dalam konten json Anda, itu mungkin kesalahan penguraian json. Kesalahan ini dapat terjadi saat payload json secara keseluruhan tidak dapat diuraikan karena kesalahan pemformatan json. Periksa apakah nilai-nilai parameter itu mengandung karakter json yang tidak valid, misalnya carriage retur di akhir. Terkadang parameter dapat disalin dengan menyertakan whitespace tambahan yang mungkin mengandung karakter yang merusak json.

Kesalahan struktur tidak tersedia terjadi ketika telepon tidak dapat membaca pesan template.

Template disimpan di server. Ketika pesan template dikirim menggunakan node messages ,hanya namespace, bahasa, nama elemen, dan parameter yang dilokalkan yang dikirim ke telepon, tetapi bukan seluruh pesan. Setelah nilai-nilai ini dikirim ke telepon, telepon mencoba untuk me-render pesan.

Jika kesalahan terjadi selama rendering, kesalahan structure unavailable dikirim ke URL panggilan balik yang berisi penerima dan ID pesan. Kesalahan ini dapat terjadi karena namespace yang salah, parameter yang dilokalkan tidak cocok, nama elemen yang salah, dsb.

Buka Pengelola WhatsApp di Pengelola Bisnis Facebook Anda untuk melihat jumlah parameter yang benar. Periksa ulang bahwa namespace sudah benar dan nama elemen memang ada.

Salah satu sumber kesalahan adalah tidak membuat terjemahan untuk semua template yang digunakan. Contoh: jika Anda memiliki 2 template yang biasanya Anda kirimkan dan menambahkan terjemahan bahasa baru untuk satu template, pastikan untuk juga menambahkan terjemahan bahasa baru tersebut ke template satunya. Jika berencana untuk mendukung lebih dari satu bahasa, Anda perlu menyediakan terjemahan untuk semua template dalam semua bahasa yang didukung.

Kabar baiknya adalah bahwa kesalahan structure unavailable biasanya disebabkan oleh kesalahan di panggilan API messages dan dapat diperbaiki dengan mengubah payload kirim.

Pertama-tama, Anda perlu memeriksa apakah kontak ada sebelum mengirimkan pesan. Lihat dokumentasi Kontak untuk mengetahui informasi selengkapnya tentang cara melakukannya.

Kesalahan ini disebabkan oleh Coreapp yang belum terinisialisasi. Artinya pendaftaran mungkin belum berhasil diselesaikan. Harap coba mendaftar sebelum membuat panggilan ke endpoint lain. Langkah pertama setelah menginstal API WhatsApp Business adalah login. Langkah kedua adalah pendaftaran. Kedua langkah ini diperlukan sebelum membuat permintaan ke endpoint lainnya.

Semua build Klien API WhatsApp Business memiliki waktu kedaluwarsa 6 bulan setelah tanggal rilis. Jika Anda mendapati kesalahan ini, upgrade secepatnya ke versi yang terakhir dirilis.

WhatsApp melakukan eksperimen untuk mengukur dan memahami dampak notifikasi API WhatsApp Business pada pengalaman pengguna dan keseluruhan produk secara umum. Jika pengguna yang Anda kirimi pesan termasuk dalam salah satu eksperimen ini, mereka mungkin tidak menerima notifikasi dari Anda bahkan jika mereka sudah mendaftar untuk menerimanya.

Jika Anda menerima kesalahan serupa dengan yang berikut ini saat menyiapkan penerapan AWS, cobalah berganti menggunakan nama stack yang berisi 8 karakter atau kurang.

Nama negara (kode 2 huruf) [AU]:Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]:Nama Daerah (mis. kota) []:Nama Organisasi (mis. perusahaan) [Internet Widgits Pty Ltd]:Nama Unit Organisasi (mis. bagian) []:Nama Umum (mis. FQDN server atau nama ANDA) []:string terlalu panjang, perlu Nama Umum sepanjang kurang dari 64 bita (mis. FQDN server atau nama ANDA) []:Alamat Email []:kesalahan, tidak ada objek yang ditentukan dalam file konfig masalah dalam membuat Permintaan Sertifikat Membuat kunci perangkat untuk internal-wa-inc-name-LB-123456789.ap-southeast-1.elb.amazonaws.com

Objek profile kosong akan ditampilkan jika Profil Bisnis hanya diisi sebagian. Upgrade ke v2.21.4 untuk mengatasi masalah ini.

Lihat dokumentasi Pengaturan Profil Bisnis untuk informasi selengkapnya tentang melengkapi profil bisnis Anda.

Kode kesalahan 471 terkait dengan batas laju berbasis kualitas. Lihat dokumentasi Batas Laju Berbasis Kualitas untuk informasi selengkapnya.

Berikut ini adalah kesalahan validasi dari sisi pengiriman template pesan dan kemungkinan alasan Anda melihatnya:

  • "Tidak ada template pesan dalam bahasa bahasa-Anda" atau "Tidak ada template pesan dalam bahasa bahasa-Anda dan lokale lokale-Anda" — Paket bahasa tersebut tidak ada. Periksa akun Pengelola Bisnis Anda.
  • "Template nama-template-Anda tidak ada dalam bahasa bahasa-Anda" atau "Template nama-template-Anda tidak ada dalam bahasa bahasa-Anda dan lokale lokale-Anda" — Anda mencoba menggunakan template yang tidak ada (belum dibuat atau belum disetujui). Jika Anda mencoba mengirimkan pesan dengan template yang sudah dihapus, Anda juga akan mendapatkan kesalahan ini.
  • "Jumlah localizable_params num1 tidak cocok dengan jumlah parameter yang diharapkan num2" — Anda mencoba mengirimkan pesan template dengan parameter yang tidak cocok dengan jumlah parameter yang diharapkan. Periksa permintaan API Anda, apakah semua sudah benar.
  • "nama-template-Anda adalah template kaya dan membutuhkan API pesan template untuk digunakan" — Anda mencoba mengirim template pesan media sebagai template pesan biasa. Pastikan jenis pesan adalah template. Lihat dokumentasi Template Pesna Media untuk informasi selengkapnya.
  • Setelah template disetujui di Pengelola Bisnis (atau dihapus), mungkin diperlukan sampai 20 menit bagi Klien API WhatsApp Business untuk menerima template yang diperbarui. Jika mencoba mengirimkan pesan menggunakan template yang baru saja disetujui, dan mendapatkan pesan kesalahan yang mengatakan bahwa template tidak ada, Anda dapat mencoba mengirimkan pesan lagi setelah menunggu selama waktu yang disebutkan di atas.

Untuk klien API WhatsApp Business yang menjalankan v2.21.6, saat koneksinya terputus dari server, klien mungkin akan tetap tidak tersambung selama beberapa menit (sampai 4 menit) dan setelah itu akan mencoba menyambungkan lagi. Upgrade ke v2.23.4 akan mengurangi waktu nonaktif untuk klien saat ingin tersambung ke server.

Sebelum v2.29.x, ukuran antrean pesan keluar dapat meningkat dari waktu ke waktu akibat bug. Meningkatkan ke v2.29.3 akan menyelesaikan isu ini.

Coreapp akan memeriksa direktori /usr/local/waent/data dan /usr/local/waent/log dalam kontainer Coreapp, memastikan setidaknya ada 10 MB ruang penyimpanan, jika tidak, kesalahan kritis ini akan diberikan.

Periksa catatan dan direktori data Anda untuk memastikan Anda memiliki cukup ruang.

Lainnya

Saat ini, tidak ada cara untuk melakukan ini. Jika Anda tidak dapat menangani tanggapan masuk dari pengguna melalui WhatsApp, kami menyarankan Anda untuk mengirimkan pesan balasan otomatis yang mengarahkan mereka ke saluran dukungan yang benar.

Anda harus mendaftarkan nomor telepon kedua dan memutar stack CloudFormation kedua atau instance Docker untuk pengujian. Jika Anda memiliki dua Klien API WhatsApp Business yang aktif menggunakan nomor telepon yang sama, server akan mengeluarkan Anda karena kunci enkripsi akan berkonflik. Sebaiknya Anda memiliki lingkungan kedua yang dapat Anda gunakan untuk menguji instance non-produksi sebelum Anda melakukan migrasi apa pun pada klien produksi Anda.

Pemeriksaan Kesehatan gratis dan bisa dikueri sesering mungkin.

Bacalah dokumentasi Statistik untuk mempelajari selengkapnya tentang statistik aplikasi dan database yang dapat Anda kueri. Statistik aplikasi disimpan di dalam memori dan murah untuk dikueri. Statistik database membutuhkan lebih banyak sumber daya dan harus dikueri hanya saat diperlukan.

Bisnis Anda tidak diberi tahu saat pelanggan berganti nomor telepon WhatsApp. Saat Anda menggunakan node contacts, status untuk nomor itu akan invalid.

Jika nomor telepon pelanggan nonaktif, tetapi pelanggan masih menggunakan WhatsApp, pelanggan itu akan terus mendapatkan akses ke WhatsApp sampai/hingga nomor telepon itu diaktifkan atau didaftarkan lagi.

WhatsApp secara ketat memverifikasi bahwa nomor yang diberikan benar-benar terpasang pada ponsel. Fakta bahwa pengguna memiliki akun WhatsApp adalah bukti bahwa mereka sudah mengonfirmasi nomor tersebut dan tidak ada orang lain yang pernah menggunakannya untuk mendaftar WhatsApp. Akan tetapi, ini bukan jaminan tentang lokasi fisik kartu SIM itu.

Di sisi lain, jika ponselnya hilang atau dicuri, pengguna dapat menonaktifkan akun WhatsApp-nya. Untuk membaca selengkapnya tentang cara menonaktifkan akun, lihat Pertanyaan umum tentang ponsel yang hilang dan dicuri.

Tidak, tidak ada cara untuk menggunakan API WhatsApp Business untuk mendeteksi saat sebuah nomor digunakan beberapa perangkat.

Payload pesan dari pengguna dapat berupa teks atau file media.

Untuk teks, diyakini tidak akan ada bahaya.

Untuk file media:

  • Biasanya, diharapkan pelaku bisnis menggunakan perangkat lunak pelindung (yaitu, anti-virus, anti-malware, dsb.) untuk menganalisis potensi ancaman.
  • WhatsApp tidak dapat mengidentifikasi atau mengecek konten file yang ditransfer karena menggunakan enkripsi end-to-end (ini juga berlaku untuk kontek hanya teks).
  • Ada opsi untuk mencegah file media otomatis diunduh dalam Klien API WhatsApp Business. Jika tidak ingin menerima file dari pengguna, bisnis dapat mengatur kolom auto_download ke array kosong.

Harap Hubungi Dukungan dengan menyampaikan semua informasi yang Anda miliki. Kami akan menyelidikinya dan menutup nomor yang palsu.

Dimulai dengan rilis v2.18.26, endpoint Statistik Aplikasi memungkinkan pengeksporan metrik internal dalam format teks Prometheus. Lihat dokumentasi Pemantauan Instance untuk informasi selengkapnya.

Klien API di Tempat WhatsApp Business membutuhkan database untuk menyimpan kode pesan dekripsi yang dikirim antara bisnis dan pelanggan. Semua pesan di WhatsApp dienkripsi dengan kode pengirim dan penerima. Kode pelanggan disimpan di perangkat seluler mereka dan kode bisnis disimpan di database bisnis. Pelajari selengkapnya tentang Keamanan WhatsApp.

WhatsApp Business Cloud API adalah alternatif ketika Meta meng-hosting database bisnis. Cloud API memungkinkan Anda untuk menerapkan API WhatsApp Business tanpa biaya hosting server Anda sendiri. Pelajari selengkapnya.