דלגו לתוכן
Wbiztool

API לאימות מספרים

תוצאות אימות מספרי WhatsApp (API)

קראו תוצאות של אימות מספרים דף אחר דף, מסוננות לפי משימה או לפי סטטוס. השתמשו בו כדי לייצא את המספרים שנמצאים ב-WhatsApp, לנקות מספרים לא תקינים מרשימת אנשי הקשר שלכם או לסנכרן תוצאות ל-CRM שלכם.

GEThttps://wbiztool.com/api/v1/verification/results/

בלי מסננים, הוא מחזיר כל אימות בסביבת העבודה שלכם, מהחדש לישן. זה כולל משימות שנוצרו מהדף Number Verification (אימות מספרים) בלוח הבקרה, ולא רק כאלה שנוצרו דרך ה-API.

דוגמה מהירה#

curl "https://wbiztool.com/api/v1/verification/results/?campaign_id=4521&status=verified&limit=100&offset=0" \
  -H "Authorization: Bearer YOUR_API_KEY"

פרמטרי הבקשה#

כל הפרמטרים נשלחים ב-query string.

אימות

Authorizationheaderחובה

Bearer YOUR_API_KEY, עם מפתח מהדף Settings → API keys. אפשר במקום זאת להעביר את המפתח כפרמטר שאילתה api_key, אבל הכותרת מונעת ממנו להופיע בלוגים של שרתים ושל פרוקסי.

מסננים וחלוקה לדפים

campaign_idintegerאופציונלי

החזרת מספרים רק ממשימת האימות הזו. היא חייבת להיות משימת אימות באותה סביבת עבודה כמו מפתח ה-API. השמיטו אותו כדי לקבל תוצאות מכל המשימות.

statusstringאופציונלי

החזרת מספרים רק עם הסטטוס הזה: pending, verified או invalid. המערכת מתעלמת מכל ערך אחר, ולא מוחל שום סינון לפי סטטוס, כולל unknown, כך ש-status=unknown מחזיר את כל הסטטוסים. הערכים תלויי רישיות: המערכת מתעלמת מ-Verified ומחזירה את כל הסטטוסים.

limitintegerאופציונלי

מספר התוצאות בכל דף. ברירת המחדל: 100. השתמשו בערך של 1 ומעלה.

offsetintegerאופציונלי

כמה תוצאות לדלג. ברירת המחדל: 0. חייב להיות 0 ומעלה.

תגובה#

בקשה מוצלחת מחזירה HTTP 200:

{
  "status": "success",
  "total_count": 2,
  "returned_count": 2,
  "limit": 100,
  "offset": 0,
  "has_more": false,
  "results": [
    {
      "id": 88215,
      "campaign_id": 4521,
      "campaign_name": "Website leads - September",
      "number": "14155550123",
      "status": "verified",
      "checked_at": "2026-09-16T10:16:26.730114+00:00",
      "created_at": "2026-09-16T10:15:00.483101+00:00"
    },
    {
      "id": 88213,
      "campaign_id": 4521,
      "campaign_name": "Website leads - September",
      "number": "919876543210",
      "status": "verified",
      "checked_at": "2026-09-16T10:16:12.204551+00:00",
      "created_at": "2026-09-16T10:15:00.482913+00:00"
    }
  ]
}
שדהסוגתיאור
statusstring"success". שגיאות מחזירות "error".
total_countintegerהתוצאות שתואמות למסננים שלכם, בכל הדפים.
returned_countintegerהתוצאות בתגובה הזו.
limitintegerה-limit שבו נעשה שימוש.
offsetintegerה-offset שבו נעשה שימוש.
has_morebooleantrue אם offset + limit קטן מ-total_count, כלומר יש דף נוסף.
resultsarrayהתוצאות, מהחדשה לישנה.
results[].idintegerהמזהה של רשומת האימות הזו.
results[].campaign_idinteger or nullהמזהה של המשימה שהמספר שייך אליה.
results[].campaign_namestring or nullשם המשימה הזו.
results[].numberstringמספר הטלפון המנוקה.
results[].statusstringpending, verified, invalid, או unknown לבדיקה שבוטלה.
results[].checked_atstring or nullמתי המספר נבדק, או null כל עוד הוא ממתין.
results[].created_atstringמתי המספר נוסף.

חותמות הזמן הן בפורמט ISO 8601 לפי UTC, עם הפרש +00:00. למשמעות של כל סטטוס, ראו ערכי סטטוס של מספר.

שגיאות#

שגיאות מחזירות גוף JSON עם status שמוגדר ל-"error" וקוד שגיאת HTTP:

{ "status": "error", "message": "Campaign not found" }
HTTPהודעהאיך לתקן
405Only GET method allowedשלחו בקשת GET.
401API key requiredהוסיפו את הכותרת Authorization: Bearer YOUR_API_KEY.
401Invalid API keyודאו שהמפתח קיים ולא נמחק או הושבת.
404Campaign not foundה-campaign_id לא קיים, אינו משימת אימות, או שייך לסביבת עבודה אחרת.
500Internal server error: …בדרך כלל campaign_id, limit או offset אינו מספר שלם, ש-offset שלילי, או ש-offset + limit שלילי.

קריאת כל הדפים#

הגדילו את offset ב-limit עד ש-has_more הוא false.

ייצוא כל המספרים המאומתים ממשימה
import requests

numbers, offset, limit = [], 0, 500

while True:
    response = requests.get(
        "https://wbiztool.com/api/v1/verification/results/",
        headers={"Authorization": "Bearer YOUR_API_KEY"},
        params={"campaign_id": 4521, "status": "verified", "limit": limit, "offset": offset},
        timeout=60,
    )
    result = response.json()
    if result["status"] != "success":
        raise RuntimeError(result["message"])

    numbers += [item["number"] for item in result["results"]]
    if not result["has_more"]:
        break
    offset += limit

print(len(numbers), "numbers are on WhatsApp")

טיפים#

  • הסירו כפילויות לפי id בזמן מעבר בין דפים. התוצאות ממוינות לפי זמן היצירה, מהחדשה לישנה. למספרים מאותה משימה יש כמעט אותה חותמת זמן, ואימותים חדשים יכולים להתווסף בזמן שאתם עוברים בין הדפים, כך ששורה עלולה להופיע בשני דפים או להידלג. סינון לפי campaign_id והמתנה לסיום המשימה מצמצמים את הבעיה.
  • המתינו לסיום לפני הייצוא. בדקו את סטטוס האימות עד ש-overall_status הוא completed, או טפלו בקוד שלכם בתוצאות במצב pending.
  • נקו את רשימת אנשי הקשר על ידי ייצוא status=invalid והסרת המספרים האלה לפני הקמפיין הבא.
  • גודל הדף: אין ערך מרבי ל-limit, אבל דף גדול מאוד יוצר תגובה גדולה ואיטית.