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 במפתח מהדף Settings → 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 | המזהה של משימת האימות. השתמשו בו עם סטטוס אימות ועם תוצאות אימות. |
numbers_count | integer | כמה מספרים התקבלו אחרי הניקוי. |
numbers_submitted | array of strings | המספרים המנוקים שייבדקו. השוו לרשימה ששלחתם כדי לראות אילו מספרים הושמטו. |
כל מספר שהתקבל מתחיל במצב pending. המשימה מופיעה גם בדף Number Verification (אימות מספרים) בלוח הבקרה שלכם. הכרטיס שלה שם עשוי להמשיך להציג Processing (בעיבוד) גם אחרי שהיא הסתיימה, לכן השתמשו ב-סטטוס אימות כדי לדעת את המצב האמיתי.
שגיאות#
שגיאות מחזירות גוף JSON עם status שמוגדר ל-"error" וקוד שגיאת 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 לא ריק, עם 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 לא תקין, למשל בגלל פסיק מיותר בסוף. |
איך המספרים נבדקים#
המשימה נכנסת לתור
ה-API שומר כל מספר שהתקבל במצב
pendingומחזיר תגובה מיד.מספר WhatsApp מחובר בודק אותם
המספרים נבדקים עד 10 בכל פעם בעזרת מספר WhatsApp שמחובר בדף הגדרות WhatsApp. כל מספר הופך ל-
verifiedאם הוא רשום ב-WhatsApp, או ל-invalidאם לא. הבדיקות רצות רק במספר מחובר שלא עסוק בשליחת הודעות, כך שבמהלך קמפיין גדול הן עשויות להמתין עד שהשליחה תסתיים.אתם קוראים את התוצאות
קראו שוב ושוב ל-סטטוס אימות עד ש-
overall_statusהואcompleted, ואז קראו את המספרים מאותה תגובה או מ-תוצאות אימות.
טיפים#
- תמיד כללו את קידומת המדינה. מספר מקומי בן 10 ספרות בלי קידומת עובר את בדיקת האורך, אבל הוא נבדק בדיוק כפי שנכתב, כך שהתוצאה לא תהיה עבור המספר שהתכוונתם אליו.
- אל תשתמשו בקידומת הבינלאומית
00. רק0מוביל אחד מוסר, כך ש-00919876543210נבדק כ-0919876543210. שלחו919876543210. - הסירו כפילויות בעצמכם לפני השליחה, כדי שלא תבזבזו על חזרות את המגבלה לבקשה של החבילה שלכם.
- בדקו את
numbers_submittedכדי למצוא מספרים שהושמטו כי היו קצרים מדי או הכילו אותיות. - רשימות גדולות: אם הגעתם למגבלה לבקשה, שלחו כמה משימות קטנות יותר ועקבו אחרי כל
campaign_id.
חדשים באימות מספרים? ראו את המדריך לאימות מספרים.
