API Verifikasi Nomor
Buat verifikasi nomor WhatsApp (API)
Periksa apakah daftar nomor telepon terdaftar di WhatsApp sebelum Anda mengirimi mereka pesan. Gunakan untuk membersihkan daftar kontak yang diimpor, memvalidasi nomor pendaftaran, atau menghapus nomor yang hanya akan gagal.
https://wbiztool.com/api/v1/verification/create/Body: JSON (application/json)
Request ini membuat tugas verifikasi dan langsung mengembalikan campaign_id. Nomor kemudian diperiksa di latar belakang oleh salah satu nomor WhatsApp Anda yang terhubung. Gunakan campaign_id dengan Status verifikasi untuk memantau progres, atau dengan Hasil verifikasi untuk membaca hasilnya.
Contoh singkat#
curl -X POST https://wbiztool.com/api/v1/verification/create/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaign_name": "Website leads - September",
"numbers": ["919876543210", "+91 98765 43211", "14155550123"]
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/verification/create/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"campaign_name": "Website leads - September",
"numbers": ["919876543210", "+91 98765 43211", "14155550123"],
},
timeout=60,
)
result = response.json() # read the body even when the HTTP code is 4xx or 5xx
if result["status"] == "success":
print("Task created, campaign_id", result["campaign_id"])
print("Accepted numbers:", result["numbers_submitted"])
else:
print(f"Failed ({response.status_code}):", result["message"])// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/verification/create/", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
campaign_name: "Website leads - September",
numbers: ["919876543210", "+91 98765 43211", "14155550123"],
}),
});
const result = await response.json(); // read the body even when the HTTP code is 4xx or 5xx
if (result.status === "success") {
console.log("Task created, campaign_id", result.campaign_id);
console.log("Accepted numbers:", result.numbers_submitted);
} else {
console.error(`Failed (${response.status}):`, result.message);
}<?php
$payload = [
'campaign_name' => 'Website leads - September',
'numbers' => ['919876543210', '+91 98765 43211', '14155550123'],
];
$ch = curl_init('https://wbiztool.com/api/v1/verification/create/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? '') === 'success') {
echo 'Task created, campaign_id ' . $result['campaign_id'];
} else {
echo 'Failed: ' . ($result['message'] ?? 'no response');
}Ganti YOUR_API_KEY dengan key dari Settings → API keys (Pengaturan → Kunci API). Key menentukan workspace pemilik tugas tersebut.
Parameter request#
Header
AuthorizationheaderwajibBearer YOUR_API_KEY. Key harus aktif dan belum dihapus. API ini tidak memerlukanclient_id.Content-TypestringwajibHarus
application/json. Dengan content type lain,numberstidak dibaca dan Anda mendapatkanNumbers array is required.
Body
numbersarray of stringswajibNomor telepon yang akan diperiksa, masing-masing dengan kode negaranya, misalnya
919876543210untuk nomor India. Sebelum diperiksa, setiap nomor dibersihkan:- spasi,
+,-, dan tanda kurung dihapus - satu angka
0di depan dihapus - hasilnya hanya boleh berisi angka dan minimal 10 digit
Nomor yang tidak lolos dihilangkan tanpa pemberitahuan. Duplikat tidak dihapus, sehingga setiap salinan diperiksa secara terpisah.
- spasi,
campaign_namestringopsionalNama untuk menemukan tugas di dashboard. Jika tidak dikirim, namanya adalah
API Verificationdiikuti tanggal dan jam server dalam IST (UTC+5:30), misalnyaAPI Verification 20260916_154500. Nama boleh hingga 500 karakter. Jangan kirimnull: nama yang lebih panjang atau null gagal dengan HTTP500.
Respons#
Request yang berhasil mengembalikan HTTP 200:
{
"status": "success",
"message": "Verification task created successfully",
"campaign_id": 4521,
"numbers_count": 3,
"numbers_submitted": ["919876543210", "919876543211", "14155550123"]
}
| Field | Tipe | Deskripsi |
|---|---|---|
status | string | "success". Error mengembalikan "error". |
message | string | Verification task created successfully. |
campaign_id | integer | ID tugas verifikasi. Gunakan dengan Status verifikasi dan Hasil verifikasi. |
numbers_count | integer | Jumlah nomor yang diterima setelah dibersihkan. |
numbers_submitted | array of strings | Nomor yang sudah dibersihkan dan akan diperiksa. Bandingkan dengan yang Anda kirim untuk melihat nomor mana yang dihilangkan. |
Setiap nomor yang diterima dimulai dengan status pending. Tugas ini juga muncul di halaman Number verification (Verifikasi nomor) di dashboard Anda. Kartunya di sana mungkin tetap menampilkan Processing setelah selesai, jadi gunakan Status verifikasi untuk keadaan yang sebenarnya.
Error#
Error mengembalikan body JSON dengan status bernilai "error" dan kode error HTTP:
{ "status": "error", "message": "No valid phone numbers found" }
| HTTP | Pesan | Cara memperbaikinya |
|---|---|---|
405 | Only POST method allowed | Kirim request POST. |
401 | API key required | Tambahkan header Authorization: Bearer YOUR_API_KEY. |
401 | Invalid API key | Pastikan key tersebut ada dan belum dihapus atau dinonaktifkan. |
403 | Verification feature not available for your plan | Paket Anda tidak mencakup verifikasi nomor. Upgrade paket Anda. |
400 | Numbers array is required | Kirim numbers sebagai array JSON yang tidak kosong, dengan Content-Type: application/json. |
400 | No valid phone numbers found | Tidak ada nomor yang memiliki 10 digit atau lebih setelah dibersihkan. Sertakan kode negara. |
400 | Request contains N numbers but your plan allows only M verifications | Paket Anda membatasi jumlah nomor dalam satu request. Pecah daftar menjadi beberapa request yang lebih kecil. |
500 | Internal server error: … | Biasanya body JSON tidak valid, misalnya karena koma di akhir. |
Cara nomor diperiksa#
Tugas masuk antrean
API menyimpan setiap nomor yang diterima sebagai
pendingdan langsung mengembalikan respons.Nomor WhatsApp yang terhubung memeriksanya
Nomor diperiksa hingga 10 sekaligus menggunakan nomor WhatsApp yang terhubung di WhatsApp settings (pengaturan WhatsApp). Setiap nomor menjadi
verifiedjika terdaftar di WhatsApp, atauinvalidjika tidak. Pemeriksaan hanya berjalan pada nomor terhubung yang tidak sedang sibuk mengirim pesan, sehingga selama kampanye besar pemeriksaan bisa menunggu sampai pengiriman selesai.Anda membaca hasilnya
Lakukan polling ke Status verifikasi sampai
overall_statusbernilaicompleted, lalu baca nomornya dari respons yang sama atau dari Hasil verifikasi.
Tips#
- Selalu sertakan kode negara. Nomor lokal 10 digit tanpa kode negara lolos pemeriksaan panjang, tetapi diperiksa persis seperti yang ditulis, sehingga hasilnya bukan untuk nomor yang Anda maksud.
- Jangan gunakan awalan internasional
00. Hanya satu angka0di depan yang dihapus, sehingga00919876543210diperiksa sebagai0919876543210. Kirim919876543210. - Hapus duplikat sendiri sebelum mengirim, agar batas per request dari paket Anda tidak terpakai untuk nomor yang berulang.
- Periksa
numbers_submitteduntuk menemukan nomor yang dihilangkan karena terlalu pendek atau mengandung huruf. - Daftar besar: jika Anda mencapai batas per request, kirim beberapa tugas yang lebih kecil dan pantau setiap
campaign_id.
Baru menggunakan verifikasi nomor? Lihat panduan Verifikasi nomor.
