API לאימות מספרים
סטטוס אימות מספרי WhatsApp (API)
בדקו את ההתקדמות של משימת אימות מספרים וקבלו את התוצאה של כל מספר בה. אחרי יצירת משימת אימות, קראו ל-endpoint הזה שוב ושוב עד שהמשימה מסתיימת.
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, עם מפתח מהדף Settings → API keys. אפשר במקום זאת להעביר את המפתח כפרמטר שאילתהapi_key, אבל הכותרת מונעת ממנו להופיע בלוגים של שרתים ושל פרוקסי.campaign_idintegerחובהה-
campaign_idשהוחזר מ-יצירת אימות, שנשלח ב-query string. הוא חייב להיות משימת אימות באותה סביבת עבודה כמו מפתח ה-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 | המזהה של משימת האימות. |
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 | מתי המספר נבדק, או null כל עוד הוא ממתין. |
results[].created_at | string | מתי המספר נוסף. |
created_at | string | מתי המשימה נוצרה. |
last_updated | string | מתי רשומת המשימה שונתה לאחרונה. הערך לא משתנה כשמספרים נבדקים, לכן השתמשו ב-checked_at כדי לראות פעילות אחרונה. |
כל חותמות הזמן הן בפורמט ISO 8601 לפי UTC, עם מיקרו-שניות והפרש +00:00, למשל 2026-09-16T10:16:12.204551+00:00.
ערכי סטטוס של מספר#
| ערך | משמעות |
|---|---|
pending | ממתין לבדיקה. |
verified | המספר רשום ב-WhatsApp. |
invalid | המספר לא רשום ב-WhatsApp, אינו מספר טלפון תקין, או שלא ניתן היה לבדוק אותו בגלל שגיאת עיבוד. אם מספר שאתם מצפים שיהיה תקין מוצג כ-invalid, אמתו אותו שוב במשימה חדשה. |
unknown | הבדיקה בוטלה על ידי התמיכה של Wbiztool. עיבוד רגיל לא מגדיר את הערך הזה. |
ערכי סטטוס כללי#
| ערך | משמעות |
|---|---|
pending | עוד לא נבדק אף מספר. |
processing | חלק מהמספרים נבדקו וחלק עדיין ממתינים. |
completed | אין מספרים ממתינים. |
משימה במצב completed יכולה להציג completed_percentage נמוך מ-100 אם חלק מהבדיקות בוטלו, כי מספרים שהבדיקה שלהם בוטלה נספרים ב-total אבל לא באחוז.
שגיאות#
שגיאות מחזירות גוף JSON עם status שמוגדר ל-"error" וקוד שגיאת 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 ל-query string. |
404 | Campaign not found | המזהה לא קיים, אינו משימת אימות, או שייך לסביבת עבודה אחרת. השתמשו במפתח מסביבת העבודה שיצרה את המשימה. |
500 | Internal server error: … | לרוב campaign_id אינו מספר. שלחו ספרות בלבד. |
טיפים#
- בדקו בעדינות. עד 10 מספרים נבדקים ברקע בכל ריצה, כך שבדיקה כל 30 עד 60 שניות מספיקה בהחלט, ומשימה גדולה יכולה להימשך זמן רב.
- הפסיקו לבדוק כש-
overall_statusהואcompleted. - תקוע על
pending? אימות דורש מספר WhatsApp שמחובר בדף הגדרות WhatsApp באותה סביבת עבודה. בלעדיו, המספרים אף פעם לא נבדקים. הבדיקות גם ממתינות בזמן שהמספר המחובר שלכם עסוק בשליחת הודעות. - משימות גדולות: ה-endpoint הזה מחזיר את כל המספרים בתגובה אחת. כדי לקרוא תוצאות דף אחר דף, או רק את המספרים במצב
verified, השתמשו ב-תוצאות אימות.
