דלגו לתוכן
WbizTool

API v2 (בטא)

מספרים

מספר הוא מספר WhatsApp או חשבון Telegram שמחובר לסביבת העבודה שלכם. ה-id שלו הוא ה-from שאיתו אתם שולחים הודעות. עם API v2 אתם מציגים אותם, בודקים אם כל אחד מהם מחובר, ומחברים מספר WhatsApp מהאפליקציה שלכם, עם קוד QR או קוד צימוד.

פעולהEndpointהרשאה
רשימת מספריםGET /api/v2/numbersnumbers
קבלת מספרGET /api/v2/numbers/{id}numbers
חיבור מספר WhatsAppPOST /api/v2/numbersnumbers

מפתח שמוגבל לחלק מהמספרים רואה ומחבר מחדש רק אותם, ולא יכול להוסיף מספר.

רשימת מספרים#

GEThttps://wbiztool.com/api/v2/numbers

כל המספרים של סביבת העבודה, מהישן לחדש, ברשימת data אחת (בלי דפים).

curl https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{
  "data": [
    {
      "id": 101,
      "phone": "919800000000",
      "label": "Shop",
      "platform": "whatsapp",
      "status": "connected",
      "login_method": "qr",
      "connect": null
    },
    {
      "id": 102,
      "phone": null,
      "label": "",
      "platform": "whatsapp",
      "status": "disconnected",
      "login_method": "qr",
      "connect": null
    }
  ]
}

ברשימה, ‏connect תמיד null. כדי לעקוב אחרי חיבור, קבלו את המספר.

קבלת מספר#

GEThttps://wbiztool.com/api/v2/numbers/{id}

מספר אחד. בזמן שהוא מתחבר, ב-connect יש את קוד ה-QR לסריקה או את קוד הצימוד להקלדה.

curl https://wbiztool.com/api/v2/numbers/102 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{
  "id": 102,
  "phone": null,
  "label": "",
  "platform": "whatsapp",
  "status": "connecting",
  "login_method": "qr",
  "connect": {
    "qr_code_url": "https://…/qr_codes/…png?X-Amz-Signature=…",
    "pairing_code": null,
    "pairing_code_expires_at": null,
    "linking": false,
    "requested_at": "2026-10-18T11:02:15.402Z"
  }
}

מספר שלא קיים, או שהמפתח לא רשאי להשתמש בו, מחזיר 404 number_not_found.

האובייקט Number#

שדהסוגתיאור
idintegerהמזהה של המספר: ה-from של הודעה או של תזכורת.
phonestring or nullהספרות שלו עם קידומת המדינה, בלי +, למשל 919800000000. ‏null במספר חדש שמתחבר עם קוד QR, עד שסורקים את הקוד.
labelstringהשם שלו בלוח הבקרה; "" כשאין לו שם.
platformstring‏whatsapp או telegram.
statusstring‏connected, ‏connecting (התבקש חיבור ב-10 הדקות האחרונות, והוא עדיין מתבצע) או disconnected.
login_methodstringאיך הוא מתחבר: qr או phone_code (קוד צימוד).
connectobject or nullכל עוד status הוא connecting, ורק מקבלת מספר; אחרת null.

ב-connect יש:

שדהסוגתיאור
qr_code_urlstring or nullקישור לתמונה של קוד ה-QR לסריקה. כל קריאה נותנת קישור חדש, שתקף 10 דקות; ‏null עד שלשרת יש קוד QR.
pairing_codestring or nullב-phone_code: הקוד להקלדה בטלפון. ‏null עד שהוא מוכן.
pairing_code_expires_atstring or nullמתי קוד הצימוד מפסיק לעבוד.
linkingboolean‏true אחרי שקוד ה-QR נסרק או שהקוד התקבל, בזמן ש-WhatsApp מסיים את הקישור.
requested_atstring or nullמתי התבקש החיבור.

הודעות שנשלחות עם מספר במצב disconnected כ-from עדיין מתקבלות: הן ממתינות ויוצאות כשהוא מתחבר שוב. אירועי Webhook למספרים יגיעו בהמשך; עד אז, בצעו polling ל-GET /numbers כדי לזהות מספר שהתנתק.

חיבור מספר WhatsApp#

POSThttps://wbiztool.com/api/v2/numbers

גוף הבקשה: JSON (application/json)

מבקש משרת של WbizTool לפתוח את WhatsApp עבור מספר, כדי שתוכלו לקשר אותו מהאפליקציה או מהאתר שלכם, כמו בדף מספרי WhatsApp. התגובה היא 202 עם ה-Number, בסטטוס connecting. אחר כך בצעו polling עד שהוא connected.

נדרשת תוכנית שכוללת את ה-API לקוד QR; אחרת התגובה היא 403 plan_required. חשבונות Telegram מחוברים בלוח הבקרה, לא כאן.

גוף הבקשה

login_methodstringאופציונלי

‏qr (ברירת המחדל): סריקת קוד QR. ‏phone_code: הקלדת קוד צימוד בטלפון במקום זאת, שימושי כשהטלפון הוא המסך היחיד.

phonestringחובה ב-phone_code

מספר ה-WhatsApp לקישור, בפורמט בינלאומי עם +, למשל ‎+919876543210. לא בשימוש עם qr: המספר נקרא מ-WhatsApp אחרי הסריקה.

number_idintegerאופציונלי

חיבור מחדש של המספר הקיים הזה במקום הוספת מספר חדש, למשל אחרי שהוא התנתק.

# By QR code
curl -X POST https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"login_method": "qr"}'

# By pairing code, reconnecting number 101
curl -X POST https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"login_method": "phone_code", "phone": "+919876543210", "number_id": 101}'

תהליך החיבור#

  1. בקשת החיבור

    ‏POST /numbers עם login_method (ועם phone לקוד צימוד). שמרו את ה-id מהתגובה. שלחו Idempotency-Key כדי שניסיון חוזר לא יבקש פעמיים.

  2. Polling למספר כל כמה שניות

    ‏GET /numbers/{id} כל 2 עד 5 שניות כל עוד status הוא connecting. קוד ה-QR או קוד הצימוד מופיעים ב-connect תוך רגעים; עד אז השדות שלו הם null.

  3. הצגת קוד ה-QR או קוד הצימוד

    QR: הציגו את התמונה שב-connect.qr_code_url; בטלפון, פתחו את WhatsApp ← מכשירים מקושרים (Linked devices) ← קישור מכשיר (Link a device) וסרקו אותה. כל קישור עובד 10 דקות, וקישור חדש מגיע עם כל polling, לכן הציגו בכל פעם את החדש ביותר. קוד צימוד: בטלפון, פתחו את WhatsApp ← מכשירים מקושרים ← קישור מכשיר ← קישור באמצעות מספר טלפון במקום זאת (Link with phone number instead), והקלידו את connect.pairing_code בן 8 התווים לפני connect.pairing_code_expires_at (בערך 3 דקות).

  4. המתנה ל-connected

    אחרי הסריקה או הקוד, ‏connect.linking הוא true בזמן ש-WhatsApp מסיים את הקישור. אחר כך status הופך ל-connected ו-phone מציג את המספר. הפסיקו את ה-polling.

אם במשך 10 דקות לא קורה כלום, הניסיון מסתיים ו-status חוזר ל-disconnected. בקשו שוב עם POST /numbers וה-number_id שלו.

בזמן שמספר מתחבר, בקשה נוספת עבורו מחזירה 409 connect_in_progress עם ה-number_id שלו: המשיכו לבצע polling לאותו מספר במקום זאת.

שגיאות בחיבור#

HTTPקודמתי
400validation_failed‏login_method אינו qr או phone_code, או phone_code בלי phone
403plan_requiredהתוכנית לא כוללת את ה-API לקוד QR
403number_limit_reachedאין בתוכנית מקום למספר נוסף
403number_not_allowedהמפתח מוגבל לחלק מהמספרים, ו-number_id אינו אחד מהם (או חסר)
409already_connectedהמספר הזה כבר מחובר
409connect_in_progressהמספר הזה מתחבר ממש עכשיו; ‏number_id מציין איזה
422invalid_phone‏phone אינו מספר תקין בפורמט בינלאומי עם +
422number_not_found‏number_id אינו מספר של סביבת העבודה הזו

מדריכים קשורים#