דלגו לתוכן
Wbiztool

API להודעות

ממשק API לביטול הודעה

בטלו הודעת WhatsApp שעוד לא נשלחה. השתמשו בו כדי לעצור תזכורת מתוזמנת אחרי שפגישה בוטלה, או כדי למשוך בחזרה הודעה שנכנסה לתור בטעות.

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

גוף הבקשה: JSON או שדות טופס

אפשר לבטל כל הודעה שעדיין ממתינה לשליחה (סטטוס 0, Created): הודעות מתוזמנות, והודעות שנכנסו לתור דרך שליחת הודעה, שליחה לקבוצה או שליחה למספרים מרובים. אי אפשר להחזיר הודעה שכבר נשלחה. אם בוט כבר שולח את ההודעה באותו רגע, היא עדיין עשויה לצאת, ולכן בביטולים קריטיים ודאו את התוצאה בעזרת סטטוס הודעה.

דוגמה מהירה#

curl -X POST https://wbiztool.com/api/v1/cancel_msg/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "msg_id": 9817263
  }'

החליפו את 12345 ו-YOUR_API_KEY בערכים שלכם, ואת 9817263 ב-msg_id שקיבלתם כששלחתם או תזמנתם את ההודעה.

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

client_idintegerחובה

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

api_keystringחובה

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

msg_idintegerחובה

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

ה-endpoint הזה לא צריך whatsapp_client.

שימוש בלקוחות הרשמיים#

הלקוחות ל-Python ול-Node.js קוראים ל-endpoint הזה בשבילכם.

from wbiztool_client import WbizToolClient

client = WbizToolClient(api_key="YOUR_API_KEY", client_id=12345)

result = client.cancel_message(msg_id=9817263)
print(result)

שני הלקוחות זורקים חריגה בשגיאות אימות (HTTP 400/403): ב-Python נזרקת requests.HTTPError, וב-Node.js נזרקת API error: 400 - {…}. תשובה מסוג Msg has been … חוזרת כתוצאה רגילה עם status: 0.

תגובה#

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

{
  "message": "Cancelled",
  "status": 1
}
שדהסוגתיאור
statusinteger1 אם ההודעה בוטלה, 0 אם לא.
messagestringCancelled בהצלחה, אחרת הסיבה.

אחרי הביטול, סטטוס הודעה מדווח על ההודעה כ-3 (Cancelled). הודעה שבוטלה לא נשלחת, לא מפעילה את ה-webhook שלה ולא נספרת עוד מול הקרדיטים שנותרו לכם.

שגיאות#

רוב השגיאות מחזירות HTTP 200 עם status שמוגדר ל-0, לכן תמיד בדקו את status בגוף התגובה:

{ "message": "Msg has been Sent", "status": 0 }
הודעהאיך לתקן
Msg has been Sentההודעה כבר נשלחה. אי אפשר לבטל אותה.
Msg has been Failedההודעה כבר נכשלה, כך שאין מה לבטל.
Msg has been Cancelledההודעה בוטלה קודם לכן.
Msg has been Expiredההודעה פגה לפני שנשלחה, כך שאין מה לבטל.
No msg found for given msg_idבדקו את ה-msg_id. הוא חייב להיות מספר ולהשתייך לאותה סביבת עבודה כמו מפתח ה-API שלכם.
Msg_id cant be nullהוסיפו msg_id.
Auth Errorשלחו גם client_id וגם api_key.
Invalid Client Idשלחו את client_id כמספר. מוחזר עם HTTP 403.
Auth Error: invalid api keyודאו שהמפתח קיים, לא נמחק ושייך ל-client_id הזה. מוחזר עם HTTP 400.
Invalid JSON format: …גוף ה-JSON לא תקין, לרוב בגלל פסיק מיותר בסוף, או ששלחתם שדות טופס בלי client_id.
אובייקט ריק {}נשלח גוף JSON בשיטה (method) שאינה POST.

טיפים#

  • שמרו כל msg_id: אתם צריכים אותו כדי לבטל. ב-שליחה למספרים מרובים, בטלו כל msg_id מהתגובה בנפרד.
  • בטלו מוקדם: הודעה שנשלחה נשארת שנשלחה, לכן בטלו הודעות מתוזמנות ברגע שאתם יודעים שהן כבר לא נחוצות.
  • שינוי מועד: אין endpoint לשינוי מועד מתוזמן. בטלו את ההודעה ותזמנו הודעה חדשה.
  • הודעות במצב סופי נחשבות גמורות: תשובה מסוג Msg has been … אומרת שההודעה כבר לא בתור, כך שאין צורך לנסות שוב.