Kontak

/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:

  • Memverifikasi apakah nomor telepon dalam database Anda merupakan milik akun WhatsApp yang valid. Anda harus memastikan status adalah valid sebelum Anda dapat mengirimkan pesan kepada pengguna.
  • Mendapatkan ID WhatsApp untuk suatu nomor telepon. ID WhatsApp diperlukan untuk mengirim pesan dan notifikasi 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

Sebelum Memulai

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.

Batasan

  • Gunakan endpoint ini untuk memverifikasi bahwa nomor telepon dalam database bisnis milik akun WhatsApp yang valid
  • Jumlah panggilan tidak boleh melebihi jumlah pesan yang dikirimkan oleh nomor telepon

Penegakan

Jika bisnis menyalahgunakan endpoint, tindakan berikut akan diambil:

  • Semua admin yang terdaftar di Pengelola Bisnis akan menerima peringatan awal melalui email jika diduga ada penyalahgunaan
  • Bisnis akan memiliki tujuh hari setelah menerima peringatan untuk menyesuaikan perilaku mereka
  • Jika setelah tujuh hari panggilan tidak disesuaikan, nomor telepon akan dinonaktifkan secara permanen

Rekomendasi

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.

Membuat

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.

Contoh

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 statusvalid. 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

Parameter berikut didukung untuk panggilan POST ke /v1/contacts:

Nama Deskripsi

blocking

Opsional.

Apakah permintaan harus menunggu hingga pemrosesan selesai atau tidak sebelum memberikan tanggapan. Untuk informasi selengkapnya, baca bagian Pemblokiran di bawah.


Nilai yang mungkin:no_wait (default), wait

contacts

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 (+) dan kode negara. Untuk informasi selengkapnya, lihat bagian Format Nomor Telepon di bawah.

force_check

Opsional.

Apakah perlu memeriksa cache kontak atau tidak. Informasi kontak biasanya di-cache selama 7 hari. Dengan mengatur parameter force_check ke true, cache akan dilompati untuk memastikan dilakukannya pemeriksaan.


Nilai yang mungkin:false (default), true

Edge

Edge berikut terhubung ke node ini:

EdgeDeskripsi

/{user-whatsapp-id}/identity

Gunakan edge ini untuk mengelola identitas pengguna. Lihat Memahami Perubahan Identitas untuk WhatsApp Business untuk informasi selengkapnya.

Pemblokiran

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).

PengaturanDeskripsi

no_wait

Pemrosesan nomor telepon itu bersifat asinkron.


Tanggapan mungkin termasuk beberapa nomor dengan status diatur ke processing. Jika itu terjadi, kami rekomendasikan untuk mengikuti langkah-langkah berikut:

  1. Anda memperoleh tanggapan dengan beberapa nomor yang ditandai sebagai processing.
  2. Keluarkan lagi permintaan periksa kontak termasuk nomor dengan status processing.
  3. Jika pemrosesan selesai dalam permintaan baru Anda, Anda mendapatkan status yang benar untuk nomor itu (valid atau tidak valid).
  4. Jika Anda masih melihat nomor ditandai sebagai processing, ulangi langkah 2 sampai Anda mendapatkan jawaban untuk setiap nomor.

wait

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.

Format Nomor Telepon

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 TeleponNomor Telepon yang Diterjemahkan

"+1-631-555-1002"

"+16315551002"

"6315551002"

"+916315551002"

"1-631-555-1002"

"+9116315551002"

"+1 (516) 283-7151"

"+15162837151"

"+54 9 11 5612-1008"

"+5491156121008"

Kolom yang Ditampilkan

Muatan tanggapan contacts berisi array nomor telepon yang sama, dikirim dalam permintaan dengan properti input, status, dan wa_id:

Nama Deskripsi

input

Nilai yang Anda kirim dalam kolom contacts permintaan ini.

status

v2.41 ke bawah

Status pengguna


Nilai yang mungkin:

  • processing — Input masih diproses
  • valid — Pengguna WhatsApp yang valid
  • invalid — Bukan pengguna WhatsApp yang valid
  • failed — There was an error processing this check

status

v2.43 ke atas

Status pengguna


Nilai yang mungkin:

  • processing — Input masih diproses
  • valid — Pemeriksaan kontak selesai dan pengiriman pesan dapat dilanjutkan
  • failed — There was an error processing this check

wa_id

v2.41 ke bawah

ID pengguna WhatsApp yang dapat digunakan di panggilan lain. Hanya ditampilkan jika status adalah valid

wa_id

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 Kontak

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.

Contoh

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

Parameter berikut didukung untuk panggilan POST ke /v1/contacts/{phone_number}/block:

PengaturanDeskripsi

reason

Opsional.

Alasan blokir bentuk bebas. Akan digunakan ketika akun WhatsApp lain diblokir. Harus kurang dari 60 karakter.

phone_number

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.

Membuka Blokir Kontak

Lakukan panggilan ini untuk membuka blokir kontak

Contoh

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

Parameter berikut didukung untuk panggilan POST ke /v1/contacts/{phone_number}/unblock:

PengaturanDeskripsi

phone_number

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.

Daftar Blokir

Inilah cara Anda mendapatkan daftar kontak yang Anda blokir.

Contoh

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

Parameter berikut didukung untuk panggilan GET ke /v1/contacts/blocklist:

PengaturanDeskripsi

limit

Opsional.

Rentang yang diterima adalah (0; 200]. Default: 100.

offset

Opsional.

Default: 0.

Pelaporan

Pelaporan memberikan sinyal penting untuk membangun solusi pencegahan terhadap pelaku kejahatan. Sebelum melaporkan kontak, mereka harus mengirimi Anda pesan dalam 24 jam terakhir.

Contoh

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

Parameter berikut didukung untuk panggilan POST ke /v1/contacts/{phone_number}/report:

PengaturanDeskripsi

reason

Opsional.

Alasan blokir bentuk bebas. Akan digunakan ketika akun WhatsApp lain diblokir. Harus kurang dari 60 karakter.

block

Opsional.

Nilai default-nya adalah False.

Apakah harus juga memblokir kontak atau hanya melaporkan mereka.

message_id

Opsional.

ID Pesan yang akan dilaporkan. Jika tidak ditentukan, 5 pesan terakhir akan dikirim ke WhatsApp.

phone_number

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.