Numara doğrulama API'si
WhatsApp numara doğrulaması oluşturma (API)
Mesaj göndermeden önce bir telefon numarası listesinin WhatsApp'a kayıtlı olup olmadığını kontrol edin. İçe aktarılan kişi listelerini temizlemek, kayıt numaralarını doğrulamak veya zaten başarısız olacak numaraları çıkarmak için kullanın.
https://wbiztool.com/api/v1/verification/create/Gövde: JSON (application/json)
İstek bir doğrulama görevi oluşturur ve hemen bir campaign_id döndürür. Numaralar ardından bağlı WhatsApp numaralarınızdan biri tarafından arka planda kontrol edilir. İlerlemeyi takip etmek için campaign_id değerini Doğrulama durumu ile, sonuçları okumak için Doğrulama sonuçları ile kullanın.
Hızlı örnek#
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');
}YOUR_API_KEY değerini Ayarlar → API anahtarları sayfasındaki bir anahtarla değiştirin. Görevin hangi çalışma alanına ait olacağını anahtar belirler.
İstek parametreleri#
Başlık
AuthorizationheaderzorunluBearer YOUR_API_KEY. Anahtar etkin olmalı ve silinmemiş olmalıdır. Bu API içinclient_idgerekmez.Content-Typestringzorunluapplication/jsonolmalıdır. Başka bir içerik türüylenumbersokunmaz veNumbers array is requiredalırsınız.
Gövde
numbersarray of stringszorunluKontrol edilecek telefon numaraları; her biri ülke koduyla birlikte, örneğin Hindistan numarası için
919876543210. Kontrolden önce her numara temizlenir:- boşluklar,
+,-ve parantezler kaldırılır - baştaki bir
0kaldırılır - sonuç yalnızca rakam içermeli ve en az 10 haneli olmalıdır
Bu koşulları sağlamayan numaralar sessizce çıkarılır. Tekrarlar kaldırılmaz; bu yüzden her kopya ayrı ayrı kontrol edilir.
- boşluklar,
campaign_namestringisteğe bağlıPanelde görevi bulmak için bir ad. Göndermezseniz ad,
API Verificationve ardından sunucunun IST (UTC+5:30) saatine göre tarih ve saatinden oluşur; örneğinAPI Verification 20260916_154500. Adlar en fazla 500 karakter olabilir.nullgöndermeyin: daha uzun veya null adlar HTTP500ile başarısız olur.
Yanıt#
Başarılı bir istek HTTP 200 döndürür:
{
"status": "success",
"message": "Verification task created successfully",
"campaign_id": 4521,
"numbers_count": 3,
"numbers_submitted": ["919876543210", "919876543211", "14155550123"]
}
| Alan | Tür | Açıklama |
|---|---|---|
status | string | "success". Hatalar "error" döndürür. |
message | string | Verification task created successfully. |
campaign_id | integer | Doğrulama görevinin ID'si. Doğrulama durumu ve Doğrulama sonuçları ile kullanın. |
numbers_count | integer | Temizlendikten sonra kabul edilen numara sayısı. |
numbers_submitted | metin dizisi | Kontrol edilecek temizlenmiş numaralar. Hangi numaraların çıkarıldığını görmek için gönderdiğiniz listeyle karşılaştırın. |
Kabul edilen her numara pending olarak başlar. Görev, panelinizdeki Numara doğrulama sayfasında da görünür. Oradaki kartı, görev bittikten sonra da Processing (İşleniyor) göstermeye devam edebilir; gerçek durum için Doğrulama durumu endpoint'ini kullanın.
Hatalar#
Hatalar, status değeri "error" olan bir JSON gövdesi ve bir HTTP hata kodu döndürür:
{ "status": "error", "message": "No valid phone numbers found" }
| HTTP | Mesaj | Nasıl düzeltilir |
|---|---|---|
405 | Only POST method allowed | Bir POST isteği gönderin. |
401 | API key required | Authorization: Bearer YOUR_API_KEY başlığını ekleyin. |
401 | Invalid API key | Anahtarın mevcut olduğunu ve silinmediğini veya devre dışı bırakılmadığını kontrol edin. |
403 | Verification feature not available for your plan | Planınız numara doğrulamayı içermiyor. Planınızı yükseltin. |
400 | Numbers array is required | numbers değerini Content-Type: application/json ile, boş olmayan bir JSON dizisi olarak gönderin. |
400 | No valid phone numbers found | Temizlendikten sonra numaraların hiçbiri 10 veya daha fazla haneye sahip değildi. Ülke kodunu ekleyin. |
400 | Request contains N numbers but your plan allows only M verifications | Planınız bir isteğin kaç numara içerebileceğini sınırlar. Listeyi daha küçük isteklere bölün. |
500 | Internal server error: … | Genellikle JSON gövdesi geçerli değildir; örneğin sondaki bir virgül nedeniyle. |
Numaralar nasıl kontrol edilir#
Görev kuyruğa alınır
API kabul edilen her numarayı
pendingolarak kaydeder ve hemen yanıt döner.Bağlı bir WhatsApp numarası bunları kontrol eder
Numaralar, WhatsApp ayarları sayfasında bağlı bir WhatsApp numarası kullanılarak bir seferde en fazla 10 adet kontrol edilir. Her numara WhatsApp'a kayıtlıysa
verified, değilseinvalidolur. Kontroller yalnızca mesaj göndermekle meşgul olmayan bağlı bir numarada çalışır; bu yüzden büyük bir kampanya sırasında gönderim bitene kadar bekleyebilirler.Sonuçları okursunuz
overall_statusdeğericompletedolana kadar Doğrulama durumu endpoint'ini sorgulayın, ardından numaraları aynı yanıttan veya Doğrulama sonuçları endpoint'inden okuyun.
İpuçları#
- Her zaman ülke kodunu ekleyin. Ülke kodu olmayan 10 haneli yerel bir numara uzunluk kontrolünden geçer, ancak tam olarak yazıldığı gibi kontrol edilir; bu yüzden sonuç kastettiğiniz numara için olmaz.
00uluslararası önekini kullanmayın. Baştaki yalnızca bir0kaldırılır, bu yüzden00919876543210,0919876543210olarak kontrol edilir.919876543210gönderin.- Tekrarları kendiniz kaldırın: planınızın istek başına sınırını tekrarlara harcamamak için göndermeden önce tekrarları temizleyin.
numbers_submitteddeğerini kontrol edin: çok kısa oldukları veya harf içerdikleri için çıkarılan numaraları bulun.- Büyük listeler: istek başına sınıra ulaşırsanız, birkaç küçük görev gönderin ve her
campaign_iddeğerini takip edin.
Numara doğrulamada yeni misiniz? Numara doğrulama rehberine bakın.
