/v1/contacts
Gunakan node contacts
untuk mengelola pengguna WhatsApp di database Anda dengan memvalidasi mereka sebelum mengirim pesan dan memverifikasi identitas pengguna dengan hash identitas.
Dengan node contacts
, Anda bisa:
status
adalah valid
sebelum Anda dapat mengirimkan pesan kepada pengguna. Mulai v2.39.1, node messages
dapat digunakan langsung dengan nomor telepon, tanpa perlu terlebih dahulu menerjemahkannya ke ID WhatsApp menggunakan node contacts
.
Kami mengubah kegunaan node contacts
mulai v2.43 agar tidak lagi memberikan informasi status tentang nomor telepon. Terlepas dari apakah pengguna memiliki WhatsApp, valid
untuk status
dalam tanggapan dan wa_id.
akan selalu ditampilkan
Anda harus memberikan opsi kepada pelanggan Anda untuk ikut serta dalam komunikasi WhatsApp dengan bisnis Anda. Alur keikutsertaan ini dikelola oleh bisnis Anda. Setelah pelanggan memutuskan untuk ikut serta, gunakan node contacts
untuk memvalidasi nomor yang terdaftar. Lihat Memahami Cara Mendapatkan Langganan untuk WhatsApp untuk informasi selengkapnya.
Jika bisnis menyalahgunakan endpoint, tindakan berikut akan diambil:
Kami rekomendasikan untuk memeriksa kontak sebelum mengirim pesan. Akan tetapi, Anda tidak perlu memeriksa kontak untuk menanggapi pesan pelanggan yang masuk. Anda dapat segera menanggapinya menggunakan wa_id
. Tidak ada biaya tambahan karena hasilnya disimpan dalam cache.
Sebelum mengirim pesan ke pengguna yang telah menyetujui ikut serta, kirim permintaan POST
ke endpoint /v1/contacts
untuk membuat permintaan validasi pengguna akun WhatsApp. Dalam panggilan Anda, sertakan daftar nomor telepon yang ingin divalidasi.
POST /v1/contacts { "blocking": "wait" | "no_wait", "contacts": [ "16315551000", "+1 631 555 1001", "6315551002", "+1 (631) 555-1004", "1-631-555-1005" ], "force_check": false | true }
Anda akan menerima tanggapan dengan status
saat ini dari nomor yang diminta dan ID WhatsApp mereka (wa_id
):
{ "contacts": [ { "wa_id": "16315551000", "input": "16315551000", "status": "valid" }, { "wa_id": "16315551001", "input": "+1 631 555 1001", "status": "processing" # Only applicable when request is non-blocking }, { "input": "6315551002", "status": "invalid" }, { "input": "+163155588", "status": "failed" } }
Simpan ID WhatsApp untuk nomor-nomor yang mengembalikan status
valid
. Pengguna yang valid adalah yang memiliki akun WhatsApp. Gunakan ID WhatsApp untuk mengirim pesan dan notifikasi.
Ulangi langkah ini secara berkala untuk mengelola daftar pengguna valid Anda. Hasil disimpan dalam cache database klien API WhatsApp Business di Tempat selama 7 hari.
Parameter berikut didukung untuk panggilan POST
ke /v1/contacts
:
Nama | Deskripsi |
---|---|
| Opsional. Apakah permintaan harus menunggu hingga pemrosesan selesai atau tidak sebelum memberikan tanggapan. Untuk informasi selengkapnya, baca bagian Pemblokiran di bawah. Nilai yang mungkin: |
| Wajib. Array nomor telepon yang Anda validasi. Nomor bisa dalam format nomor telepon standar apa pun. Rekomendasi format untuk nomor telepon kontak adalah dengan tanda tambah ( |
| Opsional. Apakah perlu memeriksa cache kontak atau tidak. Informasi kontak biasanya di-cache selama 7 hari. Dengan mengatur parameter Nilai yang mungkin: |
Edge berikut terhubung ke node ini:
Edge | Deskripsi |
---|---|
Gunakan edge ini untuk mengelola identitas pengguna. Lihat Memahami Perubahan Identitas untuk WhatsApp Business untuk informasi selengkapnya. |
Terdapat dua opsi untuk parameter blocking
: no_wait
dan wait
. Jika parameter blocking
tidak ditentukan dalam sebuah panggilan, maka no_wait
secara default.
Parameter blocking
menentukan apakah permintaan harus menunggu pemrosesan selesai (sinkron) atau tidak (asinkron).
Pengaturan | Deskripsi |
---|---|
| Pemrosesan nomor telepon itu bersifat asinkron. Tanggapan mungkin termasuk beberapa nomor dengan
|
| Pemrosesan nomornya sinkron. Anda melihat status akhir untuk semua kontak setelah menyinkronkan dengan server. Pengaturan ini membuat blok kueri menunggu sampai semua nomor telah diperiksa sebelum memberikan hasil. Ini mungkin agak lama. |
Nomor telepon dalam permintaan contacts
bisa dalam format yang dapat dihubungi.
Saat tidak ada tanda plus (+
) di awal nomor telepon, kode negara ditentukan menggunakan nomor telepon yang telah didaftarkan klien API WhatsApp Business di Tempat Anda, jadi nomor telepon yang terkait dengan kode negara lain akan gagal.
Praktik terbaik yang direkomendasikan adalah untuk selalu menyertakan kode negara dalam nomor telepon dan secara jelas mengawalinya dengan tanda plus (+
).
Perhatikan bahwa kode negara masih dapat digunakan jika angka setelah +
tidak valid. Direkomendasikan untuk memvalidasi nomor telepon sebelum menggunakan API di Tempat untuk mendapatkan perilaku yang dapat diprediksi.
Berikut beberapa contoh yang menunjukkan perilaku ini, dengan asumsi bahwa klien API WhatsApp Business di Tempat didaftarkan dengan nomor telepon India (kode negaranya +91
):
Nomor Telepon | Nomor Telepon yang Diterjemahkan |
---|---|
|
|
|
|
|
|
|
|
|
|
Muatan tanggapan contacts
berisi array nomor telepon yang sama, dikirim dalam permintaan dengan properti input
, status
, dan wa_id
:
Nama | Deskripsi |
---|---|
| Nilai yang Anda kirim dalam kolom |
v2.41 ke bawah | Status pengguna Nilai yang mungkin:
|
v2.43 ke atas | Status pengguna Nilai yang mungkin:
|
v2.41 ke bawah | ID pengguna WhatsApp yang dapat digunakan di panggilan lain. Hanya ditampilkan jika |
v2.43 ke atas | ID pengguna WhatsApp yang diberikan mungkin valid, mungkin tidak Karena tidak ada jaminan nilai tersebut valid, mohon jangan menggunakan nilai ini dalam panggilan berikutnya. |
Bersama dengan status processing
, Anda seharusnya akan melihat status HTTP 200 OK
.
Jika pesan template dikirim ke nomor telepon tanpa akun WhatsApp, Anda akan menerima pesan kesalahan yang menandakan “Pengguna tidak valid" dengan kode kesalahan 1013
.
Jika ada kesalahan lainnya dalam tanggapan, lihat Pesan Kesalahan dan Status.
Memblokir dapat dianggap sebagai fitur pertahanan untuk menghentikan pelaku kejahatan dari melanjutkan tindakan berbahaya. Untuk memblokir kontak, mereka harus mengirimi Anda pesan dalam 24 jam terakhir.
Kirim panggilan API ke /v1/contacts/{phone_number}/block
dengan alasan untuk memblokir akun WhatsApp lain.
POST /v1/contacts/+16315551000/block { "reason": "Optional string(0;60). Freeform block reason. Will be used when another WhatsApp account is being blocked" }
Tanggapan yang berhasil memiliki status 200
dan tidak ada objek "kesalahan".
Tanggapan kegagalan akan terlihat seperti ini:
{ "errors": [ { "code": 2048, "title": "Not engaged contact", "details": "Invalid Request. This contact hasn't engaged with you in the last 24 hrs." } ] }
Parameter berikut didukung untuk panggilan POST ke /v1/contacts/{phone_number}/block
:
Pengaturan | Deskripsi |
---|---|
| Opsional. Alasan blokir bentuk bebas. Akan digunakan ketika akun WhatsApp lain diblokir. Harus kurang dari 60 karakter. |
| Wajib. Nomor bisa dalam format nomor telepon standar apa pun. Rekomendasi format untuk nomor telepon kontak adalah dengan tanda tambah (+) dan kode negara. Untuk informasi selengkapnya, lihat Format Nomor Telepon. |
Lakukan panggilan ini untuk membuka blokir kontak
Kirim panggilan API ke /v1/contacts/{phone_number}/unblock
POST /v1/contacts/+16315551000/unblock
Tanggapan yang berhasil memiliki status 200
dan tidak ada objek "kesalahan".
Tanggapan kegagalan akan terlihat seperti ini:
{ "errors": [ { "code": 1009, "title": "Parameter value is not valid", "details": "Provided WhatsApp ID is not valid. Please provide a valid WhatsApp ID or a phone number with a country code" } ] }
Parameter berikut didukung untuk panggilan POST ke /v1/contacts/{phone_number}/unblock
:
Pengaturan | Deskripsi |
---|---|
| Wajib. Nomor bisa dalam format nomor telepon standar apa pun. Rekomendasi format untuk nomor telepon kontak adalah dengan tanda tambah (+) dan kode negara. Untuk informasi selengkapnya, lihat Format Nomor Telepon. |
Inilah cara Anda mendapatkan daftar kontak yang Anda blokir.
Kirim panggilan API ke /v1/contacts/blocklist
untuk menerima halaman daftar kontak yang Anda blokir
GET /v1/contacts/blocklist?limit=10&offset=0
Anda akan menerima jawaban dengan halaman daftar blokir Anda bersama dengan info paginasi
{ "contacts": [ { "wa_id": "16315551000@s.whatsapp.net" } ], "pagination": { "limit": 10, "offset": 0, "total": 1 } }
Parameter berikut didukung untuk panggilan GET ke /v1/contacts/blocklist
:
Pengaturan | Deskripsi |
---|---|
| Opsional. Rentang yang diterima adalah (0; 200]. Default: 100. |
| Opsional. Default: 0. |
Pelaporan memberikan sinyal penting untuk membangun solusi pencegahan terhadap pelaku kejahatan. Sebelum melaporkan kontak, mereka harus mengirimi Anda pesan dalam 24 jam terakhir.
Kirim panggilan API ke /v1/contacts/{phone_number}/report
berisi alasan jika Anda memblokir akun WhatsApp lain.
POST /v1/contacts/+16315551000/block { "reason": "Optional string(0;60). Freeform block reason. Will be used when another WhatsApp account is being blocked", "block": "true | false optional boolean with default of false", "message_id": "message-id. Optional reported message id" }
Tanggapan yang berhasil memiliki status 200
dan tidak ada objek "kesalahan".
Tanggapan kegagalan akan terlihat seperti ini:
{ "errors": [ { "code": 2048, "title": "Not engaged contact", "details": "Invalid Request. This contact hasn't engaged with you in the last 24 hrs." } ] }
Parameter berikut didukung untuk panggilan POST ke /v1/contacts/{phone_number}/report
:
Pengaturan | Deskripsi |
---|---|
| Opsional. Alasan blokir bentuk bebas. Akan digunakan ketika akun WhatsApp lain diblokir. Harus kurang dari 60 karakter. |
| Opsional. Nilai default-nya adalah Apakah harus juga memblokir kontak atau hanya melaporkan mereka. |
| Opsional. ID Pesan yang akan dilaporkan. Jika tidak ditentukan, 5 pesan terakhir akan dikirim ke WhatsApp. |
| Wajib. Nomor bisa dalam format nomor telepon standar apa pun. Rekomendasi format untuk nomor telepon kontak adalah dengan tanda tambah (+) dan kode negara. Untuk informasi selengkapnya, lihat Format Nomor Telepon. |