Sebuah nomor telepon bergerak melalui pipeline pemeriksaan registrasi sinkron menuju hasil yang selesai
Satu permintaan membawa satu nomor yang telah dinormalisasi melewati validasi dan mengembalikan satu hasil registrasi.

Apa arti “real-time” untuk produk ini

Real-time berarti keputusan registrasi dikembalikan dalam permintaan HTTP yang sama, bukan melalui job latar belakang, webhook, atau ekspor di kemudian hari.

Pemanggil mengirim satu nomor telepon yang telah dinormalisasi dan menunggu respons. Ketika pemeriksaan selesai, data.registered melaporkan apakah nomor tersebut terdaftar di WhatsApp pada saat permintaan dibuat. Pemanggil dapat langsung menggunakan hasilnya tanpa melakukan polling ke endpoint lain.

Ini adalah kontrak produk yang sempit. WA Lookup memeriksa status registrasi; layanan ini tidak mengidentifikasi orang di balik nomor, tidak memantau aktivitas akun, dan tidak mengoperasikan layanan perpesanan. Menjaga cakupan ini tetap eksplisit membuat field yang dikembalikan lebih mudah digunakan dengan benar.

Data yang dikembalikan Arti Tindakan yang disarankan
code=0, registered=true Pemeriksaan yang selesai melaporkan terdaftar Gunakan hasil boolean yang dikembalikan oleh permintaan ini
code=0, registered=false Pemeriksaan yang selesai melaporkan tidak terdaftar Gunakan false sebagai hasil yang selesai
Kode bisnis bukan nol Layanan tidak mengembalikan keputusan registrasi Jangan mengarang nilai boolean; tangani error atau coba lagi sesuai dokumentasi API

Mengapa pemeriksaan sinkron bermanfaat

Hasil sinkron bermanfaat ketika langkah perangkat lunak berikutnya bergantung pada jawaban registrasi terkini. Aplikasi tidak perlu membuat job, menyimpan token polling, atau menunggu callback sebelum dapat mengklasifikasikan nomor.

Integrasi yang umum mencakup formulir internal yang memeriksa satu nomor, alat dukungan yang memverifikasi catatan sesuai permintaan, atau worker backend. Untuk daftar kecil, endpoint batch sinkron menerima hingga 100 identifier E.164 dan mengembalikan batch yang selesai dalam respons awal. Klien tetap harus mengendalikan konkurensinya sendiri.

Manfaat arsitektural utamanya adalah determinisme: respons yang selesai berisi satu keputusan registrasi boolean. Error API dan pemeriksaan yang tidak dapat ditentukan menggunakan amplop luar code, msg, dan data, alih-alih menambahkan nilai lain ke registered.

Jalur permintaan, langkah demi langkah

  1. Normalisasi nomor telepon — Ubah kode panggilan negara dan nomor nasional yang sudah jelas ke format E.164. Jangan menebak konteks negara yang hilang.
  2. Kirim satu pemeriksaan — Panggil endpoint pemeriksaan terautentikasi dengan nomor yang telah dinormalisasi dan service_type=ws.
  3. Baca hasil yang selesai — Gunakan data.registered ketika code=0; biarkan kosong ketika API mengembalikan kode bisnis bukan nol.
  4. Simpan waktu observasi — Registrasi adalah hasil pada satu titik waktu, jadi simpan kapan pemeriksaan dilakukan.
  5. Tangani non-hasil secara terpisah — Permintaan yang tidak valid atau kegagalan sementara perlu diperbaiki atau dicoba ulang, bukan diberi nilai registrasi false.

Memodelkan hasil tanpa kehilangan makna

Hindari field generik seperti valid. Field tersebut tidak dapat membedakan input yang salah format dari nomor valid yang selesai diperiksa sebagai tidak terdaftar. Catatan kecil yang eksplisit lebih aman:

Field Tujuan
source_phone Menyimpan nilai asli yang diberikan oleh sistem sumber
e164_phone Menyimpan nomor kanonis yang dikirim untuk diperiksa
outcome Klasifikasi aplikasi Anda: selesai, dapat dicoba ulang, atau permintaan gagal
registered Menyimpan true atau false hanya untuk pemeriksaan yang selesai
checked_at Mencatat kapan observasi pada titik waktu tersebut dilakukan
service_type Mencatat kontrak produk mana yang menghasilkan hasil tersebut

Error HTTP bukanlah nilai tambahan untuk catatan ini. Jika aplikasi mencatatnya di log, aplikasi harus menyimpan status HTTP dan code API yang dikembalikan secara terpisah dari observasi registrasi.

Aturan integrasi praktis

Hanya lakukan percabangan berdasarkan data.registered ketika respons luar memiliki code=0.

Satu aturan ini mencegah kesalahan interpretasi yang paling umum: memperlakukan timeout, permintaan yang ditolak, atau nomor yang salah format seolah-olah WhatsApp melaporkan nomor tersebut tidak terdaftar. Jika keputusan perlu tetap terkini di lain waktu, lakukan pemeriksaan sinkron baru dan simpan sebagai observasi baru, alih-alih diam-diam mengubah stempel waktu lama.

Sumber