नंबर वेरिफिकेशन API
WhatsApp नंबर वेरिफिकेशन स्टेटस (API)
किसी नंबर वेरिफिकेशन टास्क की प्रोग्रेस जांचें और उसके हर नंबर का नतीजा पाएं। वेरिफिकेशन टास्क बनाने के बाद, टास्क पूरा होने तक इस एंडपॉइंट को बार-बार कॉल (poll) करें।
https://wbiztool.com/api/v1/verification/status/?campaign_id=4521छोटा उदाहरण#
curl "https://wbiztool.com/api/v1/verification/status/?campaign_id=4521" \
-H "Authorization: Bearer YOUR_API_KEY"import requests
response = requests.get(
"https://wbiztool.com/api/v1/verification/status/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"campaign_id": 4521},
timeout=60,
)
result = response.json() # read the body even when the HTTP code is 4xx or 5xx
if result["status"] == "success":
progress = result["progress"]
print(result["overall_status"], f"{progress['completed_percentage']}% done")
for item in result["results"]:
print(item["number"], item["status"])
else:
print(f"Failed ({response.status_code}):", result["message"])// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const url = new URL("https://wbiztool.com/api/v1/verification/status/");
url.searchParams.set("campaign_id", "4521");
const response = await fetch(url, {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const result = await response.json(); // read the body even when the HTTP code is 4xx or 5xx
if (result.status === "success") {
console.log(result.overall_status, `${result.progress.completed_percentage}% done`);
for (const item of result.results) {
console.log(item.number, item.status);
}
} else {
console.error(`Failed (${response.status}):`, result.message);
}<?php
$ch = curl_init('https://wbiztool.com/api/v1/verification/status/?campaign_id=4521');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? '') === 'success') {
echo $result['overall_status'] . ' - ' . $result['progress']['completed_percentage'] . "% done\n";
foreach ($result['results'] as $item) {
echo $item['number'] . ': ' . $item['status'] . "\n";
}
} else {
echo 'Failed: ' . ($result['message'] ?? 'no response');
}रिक्वेस्ट पैरामीटर#
Authorizationheaderआवश्यकBearer YOUR_API_KEY, सेटिंग्स → API Keys की किसी की के साथ। इसके बजाय आप की कोapi_keyक्वेरी पैरामीटर के रूप में भी भेज सकते हैं, लेकिन हेडर इस्तेमाल करने से की सर्वर और प्रॉक्सी लॉग में नहीं आती।campaign_idintegerआवश्यकवेरिफिकेशन बनाएं से लौटाया गया
campaign_id, क्वेरी स्ट्रिंग में भेजा गया। यह API की वाले वर्कस्पेस का ही वेरिफिकेशन टास्क होना चाहिए।
रिस्पॉन्स#
सफल रिक्वेस्ट HTTP 200 लौटाती है:
{
"status": "success",
"campaign_id": 4521,
"campaign_name": "Website leads - September",
"overall_status": "processing",
"progress": {
"total": 3,
"pending": 1,
"verified": 1,
"invalid": 1,
"completed_percentage": 66.67
},
"results": [
{
"number": "14155550123",
"status": "pending",
"checked_at": null,
"created_at": "2026-09-16T10:15:00.483101+00:00"
},
{
"number": "919876543210",
"status": "verified",
"checked_at": "2026-09-16T10:16:12.204551+00:00",
"created_at": "2026-09-16T10:15:00.482913+00:00"
},
{
"number": "919876543211",
"status": "invalid",
"checked_at": "2026-09-16T10:16:19.915372+00:00",
"created_at": "2026-09-16T10:15:00.483020+00:00"
}
],
"created_at": "2026-09-16T10:15:00.471820+00:00",
"last_updated": "2026-09-16T10:15:00.471820+00:00"
}
| फील्ड | टाइप | विवरण |
|---|---|---|
status | string | "success"। एरर होने पर "error" लौटता है। |
campaign_id | integer | वेरिफिकेशन टास्क का ID। |
campaign_name | string | टास्क का नाम। |
overall_status | string | pending, processing या completed। कुल स्टेटस वैल्यू देखें। |
progress.total | integer | टास्क में कुल नंबर। |
progress.pending | integer | अभी तक न जांचे गए नंबर। |
progress.verified | integer | WhatsApp पर रजिस्टर्ड नंबर। |
progress.invalid | integer | invalid मार्क किए गए नंबर (WhatsApp पर नहीं, सही नंबर नहीं, या जिनकी जांच फेल हुई)। |
progress.completed_percentage | number | जांचे गए नंबर (verified + invalid), total के प्रतिशत के रूप में, 2 दशमलव तक राउंड किए हुए। |
results | array | टास्क का हर नंबर, नंबर के क्रम में। पूरी सूची एक साथ लौटाई जाती है, कोई पेजिनेशन नहीं। |
results[].number | string | साफ किया गया फोन नंबर। |
results[].status | string | pending, verified, invalid या unknown। नंबर स्टेटस वैल्यू देखें। |
results[].checked_at | string or null | नंबर कब जांचा गया, या pending रहने तक null। |
results[].created_at | string | नंबर कब जोड़ा गया। |
created_at | string | टास्क कब बनाया गया। |
last_updated | string | टास्क रिकॉर्ड आखिरी बार कब बदला गया। नंबर जांचे जाने पर यह नहीं बदलता, इसलिए हाल की गतिविधि देखने के लिए checked_at इस्तेमाल करें। |
सभी टाइमस्टैम्प UTC में ISO 8601 फॉर्मेट में होते हैं, माइक्रोसेकंड और +00:00 ऑफसेट के साथ, उदाहरण के लिए 2026-09-16T10:16:12.204551+00:00।
नंबर स्टेटस वैल्यू#
| वैल्यू | मतलब |
|---|---|
pending | जांचे जाने का इंतज़ार कर रहा है। |
verified | नंबर WhatsApp पर रजिस्टर्ड है। |
invalid | नंबर WhatsApp पर रजिस्टर्ड नहीं है, सही फोन नंबर नहीं है, या प्रोसेसिंग एरर की वजह से जांचा नहीं जा सका। अगर जिस नंबर को आप सही मानते हैं वह invalid दिखे, तो उसे नए टास्क में फिर से वेरिफाई करें। |
unknown | जांच Wbiztool सपोर्ट ने कैंसल की। सामान्य प्रोसेसिंग में यह सेट नहीं होता। |
कुल स्टेटस वैल्यू#
| वैल्यू | मतलब |
|---|---|
pending | अभी तक कोई नंबर नहीं जांचा गया। |
processing | कुछ नंबर जांचे जा चुके हैं और कुछ अभी pending हैं। |
completed | कोई नंबर pending नहीं है। |
अगर कुछ जांचें कैंसल हुई थीं, तो completed टास्क में completed_percentage 100 से कम दिख सकता है, क्योंकि कैंसल हुए नंबर total में गिने जाते हैं लेकिन प्रतिशत में नहीं।
एरर#
एरर होने पर status = "error" वाली JSON बॉडी और HTTP एरर कोड लौटता है:
{ "status": "error", "message": "Campaign not found" }
| HTTP | संदेश | कैसे ठीक करें |
|---|---|---|
405 | Only GET method allowed | GET रिक्वेस्ट भेजें। |
401 | API key required | Authorization: Bearer YOUR_API_KEY हेडर जोड़ें। |
401 | Invalid API key | जांचें कि की मौजूद है और डिलीट या डिसेबल नहीं की गई है। |
400 | campaign_id is required | क्वेरी स्ट्रिंग में campaign_id जोड़ें। |
404 | Campaign not found | ID मौजूद नहीं है, वेरिफिकेशन टास्क नहीं है, या किसी दूसरे वर्कस्पेस का है। उसी वर्कस्पेस की की इस्तेमाल करें जिसमें टास्क बनाया गया था। |
500 | Internal server error: … | ज़्यादातर campaign_id नंबर नहीं होता। केवल अंक भेजें। |
सुझाव#
- बहुत जल्दी-जल्दी पोल न करें। बैकग्राउंड में हर रन में ज़्यादा से ज़्यादा 10 नंबर जांचे जाते हैं, इसलिए हर 30 से 60 सेकंड में जांचना काफी है, और बड़े टास्क में काफी समय लग सकता है।
- जब
overall_statuscompletedहो जाए, तो पोल करना बंद करें। pendingपर अटका है? वेरिफिकेशन के लिए उसी वर्कस्पेस में WhatsApp सेटिंग्स में कनेक्टेड एक WhatsApp नंबर ज़रूरी है। इसके बिना नंबर कभी नहीं जांचे जाते। जब आपका कनेक्टेड नंबर संदेश भेजने में व्यस्त हो, तब भी जांच रुकी रहती है।- बड़े टास्क: यह एंडपॉइंट एक ही रिस्पॉन्स में हर नंबर लौटाता है। नतीजे पेज-दर-पेज पढ़ने के लिए, या केवल
verifiedनंबरों के लिए, वेरिफिकेशन नतीजे इस्तेमाल करें।
