דלגו לתוכן
Wbiztool

API להודעות

ממשק API להיסטוריית הודעות

קבלו רשימה של ההודעות בסביבת העבודה שלכם בטווח תאריכים, עם הסטטוס של כל אחת. השתמשו בו כדי להצליב מה נשלח, לבנות דוחות או למצוא הודעות שנכשלו כדי לשלוח אותן שוב.

POSThttps://wbiztool.com/api/v1/report/

גוף הבקשה: JSON (נדרש לדפים שאחרי הראשון) או שדות טופס

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

דוגמה מהירה#

curl -X POST https://wbiztool.com/api/v1/report/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "start_date": "01-09-2026",
    "end_date": "08-09-2026",
    "page": 1
  }'

החליפו את 12345 ו-YOUR_API_KEY בערכים שלכם. בסעיף אימות מוסבר איפה למצוא אותם.

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

אימות

client_idintegerחובה

מזהה הלקוח שלכם ל-API (API Client ID) מהדף Settings → API keys.

api_keystringחובה

מפתח ה-API שלכם מאותו דף.

מסננים

start_datestringחובה

היום הראשון שייכלל, בפורמט DD-MM-YYYY, למשל 01-09-2026.

end_datestringחובה

סוף הטווח, בפורמט DD-MM-YYYY. היום הזה עצמו לא נכלל. ראו טווח תאריכים.

whatsapp_clientintegerאופציונלי

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

pageintegerאופציונלי

מספר הדף, החל מ-1 (ברירת המחדל). כל דף מכיל עד 200 הודעות. שלחו אותו כמספר JSON. הערך 0 או מספר שלילי מחזירים את total עם history ריק.

טווח תאריכים#

התאריכים נקראים כחצות בתחילת אותו יום לפי שעון הודו (IST, UTC+5:30), וההודעות מותאמות לפי מועד היצירה שלהן (כניסה לתור או תזמון), ולא לפי מועד השליחה. הטווח מתחיל ב-start_date בשעה 00:00 ומסתיים ב-end_date בשעה 00:00, ולכן:

  • הערכים "start_date": "01-09-2026", "end_date": "08-09-2026" מחזירים את 1 עד 7 בספטמבר. 8 בספטמבר לא נכלל.
  • כדי לקבל יום אחד, הגדירו את end_date ליום שאחריו: "start_date": "15-09-2026", "end_date": "16-09-2026".
  • אם שני התאריכים זהים, לא תקבלו הודעות.

חלוקה לדפים#

כל תגובה מכילה את total, מספר ההודעות בכל הטווח, ועד 200 מהן ב-history. בקשו page 2, 3 וכן הלאה, עד ש-page × 200 גדול או שווה ל-total.

תגובה#

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

{
  "message": "Success",
  "status": 0,
  "total": 3,
  "history": [
    { "id": 9817263, "msg_type": "Text", "contact": "919876543210", "message_status": "Sent" },
    { "id": 9817264, "msg_type": "File", "contact": "919812345670", "message_status": "Failed" },
    { "id": 9817265, "msg_type": "Image", "contact": "Sales Team Mumbai", "message_status": "Pending" }
  ]
}
שדהסוגתיאור
messagestringSuccess כשהבקשה עבדה, אחרת השגיאה.
statusintegerתמיד 0. אל תשתמשו בו כדי לזהות הצלחה.
totalintegerמספר ההודעות בטווח התאריכים בכל הדפים. מופיע רק בהצלחה.
historyarrayעד 200 הודעות בדף הזה, מהישנה לחדשה. ריק כשיש שגיאה.
history[].idintegerמזהה ההודעה, זהה ל-msg_id שהוחזר כשהיא נשלחה.
history[].msg_typestringText, Image או File.
history[].contactstringמספר הטלפון של הנמען עם קידומת המדינה, או שם הקבוצה בהודעות לקבוצה.
history[].message_statusstringראו את הטבלה שלמטה.

ערכי סטטוס של הודעה#

message_statusמשמעות
Pendingבתור או מתוזמנת, עוד לא נשלחה (סטטוס 0).
Sentנשלחה ממספר ה-WhatsApp שלכם (סטטוס 1).
Deliveredשמור לשימוש עתידי, לא מוחזר כרגע.
Readשמור לשימוש עתידי, לא מוחזר כרגע.
Failedלא ניתן היה לשלוח אותה, או שהשליחה נקטעה (סטטוס 2). השתמשו ב-סטטוס הודעה כדי לראות את ה-error.
Cancelledבוטלה לפני שנשלחה (סטטוס 3).
Expiredלא נשלחה לפני המועד האחרון שנקבע ב-expire_after_seconds (סטטוס 4).

סימוני מסירה וקריאה לא מתועדים כרגע, ולכן הודעות שנשלחו תמיד מופיעות כ-Sent. ‏Delivered ו-Read הם ערכים שמורים; אם הם יופיעו אי פעם, התייחסו אליהם כ-Sent.

שגיאות#

שגיאות מחזירות HTTP 200 עם status שמוגדר ל-0, אלא אם צוין אחרת:

{ "message": "Error", "status": 0, "history": [] }
הודעהאיך לתקן
Errorstart_date או end_date חסרים או לא בפורמט DD-MM-YYYY, גוף ה-JSON לא תקין (לרוב בגלל פסיק מיותר בסוף), או שהבקשה לא הייתה POST.
Auth Errorשלחו גם client_id וגם api_key.
Invalid Client Idשלחו את client_id כמספר. מוחזר עם HTTP 403, בלי history.
Auth Error: invalid api keyודאו שהמפתח קיים, לא נמחק ושייך ל-client_id הזה. מוחזר עם HTTP 400, בלי history.
Demo Account can not access apisהשתמשו בחשבון רגיל.

טיפים#

  • שלפו היסטוריה בטווחים קטנים: יום או שבוע בכל פעם שומרים על מספר קטן של דפים.
  • מציאת הודעות שנכשלו: סננו את history לפי Failed, ואז קראו ל-סטטוס הודעה עם כל id כדי לראות למה ההודעה נכשלה. לפני שתנסו שוב, בדקו את ה-error: ‏Sending was interrupted and may have been delivered… אומר שייתכן שההודעה כבר אצל הנמען.
  • הודעות ישנות נמחקות: הודעות שהגיעו לסטטוס סופי ולא השתנו במשך כ-90 יום עשויות להימחק, ואז הן כבר לא יופיעו כאן. כך גם הודעות שעדיין ממתינות בתור 90 יום אחרי שנוצרו או אחרי המועד שאליו תוזמנו, במספר שמנותק או נמחק.
  • מעקב בזמן אמת: כדי להגיב כשהודעות נשלחות, העבירו webhook כששולחים את ההודעה, במקום לבצע polling ל-endpoint הזה.