नंबर वेरिफिकेशन API
WhatsApp नंबर वेरिफिकेशन बनाएं (API)
किसी फोन नंबर सूची को संदेश भेजने से पहले जांचें कि वे नंबर WhatsApp पर रजिस्टर्ड हैं या नहीं। इसका इस्तेमाल इंपोर्ट की गई संपर्क सूचियों को साफ करने, साइन-अप नंबरों की जांच करने या उन नंबरों को हटाने के लिए करें जिन पर संदेश सिर्फ फेल ही होंगे।
https://wbiztool.com/api/v1/verification/create/बॉडी: JSON (application/json)
रिक्वेस्ट एक वेरिफिकेशन टास्क बनाती है और तुरंत एक campaign_id लौटाती है। इसके बाद आपके किसी कनेक्टेड WhatsApp नंबर द्वारा बैकग्राउंड में नंबर जांचे जाते हैं। प्रोग्रेस देखने के लिए campaign_id को वेरिफिकेशन स्टेटस के साथ, या नतीजे पढ़ने के लिए वेरिफिकेशन नतीजे के साथ इस्तेमाल करें।
छोटा उदाहरण#
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 की जगह सेटिंग्स → API Keys से कोई की डालें। की से तय होता है कि टास्क किस वर्कस्पेस का होगा।
रिक्वेस्ट पैरामीटर#
हेडर
Authorizationheaderआवश्यकBearer YOUR_API_KEY। की एक्टिव होनी चाहिए और डिलीट नहीं होनी चाहिए। इस API के लिएclient_idकी ज़रूरत नहीं है।Content-Typestringआवश्यकapplication/jsonहोना चाहिए। किसी भी दूसरे कंटेंट टाइप के साथnumbersपढ़ा नहीं जाता और आपकोNumbers array is requiredमिलता है।
बॉडी
numbersarray of stringsआवश्यकजांचे जाने वाले फोन नंबर, हर नंबर अपने कंट्री कोड के साथ, उदाहरण के लिए भारतीय नंबर के लिए
919876543210। जांच से पहले हर नंबर को साफ किया जाता है:- स्पेस,
+,-और ब्रैकेट हटा दिए जाते हैं - शुरुआत का एक
0हटा दिया जाता है - नतीजे में केवल अंक होने चाहिए और वह कम से कम 10 अंकों का होना चाहिए
जो नंबर इस जांच में पास नहीं होते, उन्हें बिना कोई सूचना दिए छोड़ दिया जाता है। डुप्लिकेट नहीं हटाए जाते, इसलिए हर कॉपी अलग से जांची जाती है।
- स्पेस,
campaign_namestringवैकल्पिकएक नाम, जिससे आप डैशबोर्ड में टास्क ढूंढ सकें। अगर आप इसे छोड़ देते हैं, तो नाम
API Verificationऔर उसके बाद IST (UTC+5:30) में सर्वर की तारीख और समय होता है, उदाहरण के लिएAPI Verification 20260916_154500। नाम 500 अक्षरों तक हो सकते हैं।nullन भेजें: इससे लंबे नाम या null नाम HTTP500के साथ फेल होते हैं।
रिस्पॉन्स#
सफल रिक्वेस्ट HTTP 200 लौटाती है:
{
"status": "success",
"message": "Verification task created successfully",
"campaign_id": 4521,
"numbers_count": 3,
"numbers_submitted": ["919876543210", "919876543211", "14155550123"]
}
| फील्ड | टाइप | विवरण |
|---|---|---|
status | string | "success"। एरर होने पर "error" लौटता है। |
message | string | Verification task created successfully। |
campaign_id | integer | वेरिफिकेशन टास्क का ID। इसे वेरिफिकेशन स्टेटस और वेरिफिकेशन नतीजे के साथ इस्तेमाल करें। |
numbers_count | integer | साफ करने के बाद कितने नंबर स्वीकार किए गए। |
numbers_submitted | array of strings | साफ किए गए वे नंबर जो जांचे जाएंगे। कौन से नंबर हटाए गए, यह देखने के लिए इसकी तुलना अपने भेजे गए नंबरों से करें। |
हर स्वीकार किया गया नंबर pending से शुरू होता है। टास्क आपके डैशबोर्ड में नंबर सत्यापन पेज पर भी दिखता है। वहां उसका कार्ड पूरा होने के बाद भी Processing दिखाता रह सकता है, इसलिए असली स्थिति के लिए वेरिफिकेशन स्टेटस इस्तेमाल करें।
एरर#
एरर होने पर status = "error" वाली JSON बॉडी और HTTP एरर कोड लौटता है:
{ "status": "error", "message": "No valid phone numbers found" }
| HTTP | संदेश | कैसे ठीक करें |
|---|---|---|
405 | Only POST method allowed | POST रिक्वेस्ट भेजें। |
401 | API key required | Authorization: Bearer YOUR_API_KEY हेडर जोड़ें। |
401 | Invalid API key | जांचें कि की मौजूद है और डिलीट या डिसेबल नहीं की गई है। |
403 | Verification feature not available for your plan | आपके प्लान में नंबर वेरिफिकेशन शामिल नहीं है। अपना प्लान अपग्रेड करें। |
400 | Numbers array is required | numbers को खाली न हो ऐसे JSON array के रूप में, Content-Type: application/json के साथ भेजें। |
400 | No valid phone numbers found | साफ करने के बाद किसी भी नंबर में 10 या ज़्यादा अंक नहीं थे। कंट्री कोड शामिल करें। |
400 | Request contains N numbers but your plan allows only M verifications | आपका प्लान सीमित करता है कि एक रिक्वेस्ट में कितने नंबर हो सकते हैं। सूची को छोटी-छोटी रिक्वेस्ट में बांटें। |
500 | Internal server error: … | आमतौर पर JSON बॉडी सही नहीं होती, उदाहरण के लिए आखिर में एक अतिरिक्त कॉमा (trailing comma) की वजह से। |
नंबर कैसे जांचे जाते हैं#
टास्क कतार में जाता है
API हर स्वीकार किए गए नंबर को
pendingके रूप में सेव करता है और तुरंत जवाब लौटाता है।कोई कनेक्टेड WhatsApp नंबर उन्हें जांचता है
नंबर एक बार में ज़्यादा से ज़्यादा 10 करके, WhatsApp सेटिंग्स में कनेक्टेड किसी WhatsApp नंबर से जांचे जाते हैं। हर नंबर WhatsApp पर रजिस्टर्ड हो तो
verifiedबन जाता है, और न हो तोinvalid। जांच सिर्फ ऐसे कनेक्टेड नंबर पर चलती है जो संदेश भेजने में व्यस्त न हो, इसलिए बड़े कैंपेन के दौरान जांच भेजना पूरा होने तक रुक सकती है।आप नतीजे पढ़ते हैं
जब तक
overall_statuscompletedन हो जाए, वेरिफिकेशन स्टेटस को बार-बार कॉल (poll) करें, फिर नंबर उसी रिस्पॉन्स से या वेरिफिकेशन नतीजे से पढ़ें।
सुझाव#
- हमेशा कंट्री कोड शामिल करें। बिना कंट्री कोड वाला 10 अंकों का लोकल नंबर लंबाई की जांच में पास हो जाता है, लेकिन उसे ठीक वैसे ही जांचा जाता है जैसा लिखा है, इसलिए नतीजा उस नंबर का नहीं होगा जो आप चाहते थे।
00इंटरनेशनल प्रीफिक्स इस्तेमाल न करें। शुरुआत का सिर्फ एक0हटाया जाता है, इसलिए00919876543210को0919876543210के रूप में जांचा जाता है।919876543210भेजें।- डुप्लिकेट खुद हटाएं भेजने से पहले, ताकि आपके प्लान की प्रति-रिक्वेस्ट सीमा दोहराए गए नंबरों पर खर्च न हो।
numbers_submittedजांचें ताकि वे नंबर मिल सकें जो बहुत छोटे होने या अक्षर होने की वजह से हटा दिए गए।- बड़ी सूचियां: अगर आप प्रति-रिक्वेस्ट सीमा तक पहुंच जाते हैं, तो कई छोटे टास्क भेजें और हर
campaign_idको ट्रैक करें।
नंबर वेरिफिकेशन में नए हैं? नंबर वेरिफिकेशन गाइड देखें।
