דלגו לתוכן
WbizTool

API לתזכורות

ממשק API ליצירת תזכורת

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

POSThttps://wbiztool.com/api/v1/reminder/create/

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

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

דוגמה מהירה#

curl -X POST https://wbiztool.com/api/v1/reminder/create/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "whatsapp_client": 678,
    "reminder_name": "Monthly rent reminder",
    "phone": "919876543210",
    "message": "Hi Aman, a reminder that your rent is due on {current_date_formatted}.",
    "cron_expression": "0 10 1 * *",
    "timezone": "Asia/Kolkata"
  }'

התזכורת הזו נשלחת בשעה 10:00 לפי שעון הודו ב-1 בכל חודש. החליפו את 12345, YOUR_API_KEY ו-678 בערכים שלכם. בסעיף אימות מוסבר איפה למצוא אותם.

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

שלחו את הפרמטרים כגוף JSON או כשדות טופס. ב-JSON, שלחו כל ערך טקסט (api_key, reminder_name, phone, message, cron_expression, timezone, img_url, file_name) כמחרוזת.

אימות

client_idintegerחובה

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

api_keystringחובה

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

שולח

whatsapp_clientintegerאופציונלי

המזהה של מספר ה-WhatsApp או של חשבון ה-Telegram שממנו שולחים, מהדף הגדרות WhatsApp. אם לא תשלחו אותו, או שהמזהה לא נמצא בסביבת העבודה שלכם, כל תזכורת נשלחת ממספר שמחובר בזמן הריצה, WhatsApp קודם: מספר ה-WhatsApp המחובר הראשון, או חשבון Telegram רק כשהוא המחובר היחיד. תזכורת אל ‎@username, קישור t.me או tg:<id> נשלחת מחשבון Telegram מחובר.

תזכורת

reminder_namestringחובה

שם לתזכורת, שמוצג בדף Reminders וזמין בתוך ההודעה כ-{reminder_name}.

phonestringחובה

מספר ה-WhatsApp של הנמען עם קידומת המדינה, למשל 919876543210. אין פרמטר country_code נפרד. מוסרים רווחים, +, -, . וסוגריים, וגם 00 מוביל ו-0 מוביל, כך שהמספר נשמר בספרות בלבד: ‎+91 98765-43210 ו-‎0091 98765 43210 נשמרים שניהם כ-919876543210. מספר בלי קידומת המדינה שלו, כמו 9876543210 או 09876543210, נשמר בלי ה-0 ומושלם כשהתזכורת רצה, לפי המדינה של המספר שב-whatsapp_client, ואם אין – לפי המדינה למספרים בלי קידומת מדינה של סביבת העבודה. כשלא ידועה אף מדינה, הוא נשלח כפי שנכתב. ערכים מגיליון כמו 919876543210.0 ו-9.19876543210E+11 נקראים כספרות שלהם. ערך מעוגל מגיליון כמו 9.19877E+11 נדחה, כי חסרות בו ספרות. ערך עם אותיות או סימנים אחרים מטופל כשם של קבוצת WhatsApp ונשמר כפי שכתבתם אותו. יוצא מן הכלל: ‎@username, קישור t.me/username או tg:<id> הם משתמש Telegram, ונשלחים מחשבון Telegram. העבירו את המזהה של החשבון הזה כ-whatsapp_client.

messagestringחובה

טקסט ההודעה. הוא יכול לכלול משתני תבנית שמתמלאים בכל פעם שהתזכורת רצה. עיצוב של WhatsApp עובד: *bold*, _italic_, ~strikethrough~.

cron_expressionstringחובה

מתי לשלוח, כביטוי cron בן חמישה שדות, למשל 0 9 * * 1-5. ראו ביטויי cron.

timezonestringאופציונלי

אזור הזמן שלפיו ביטוי ה-cron רץ, כשם אזור זמן של IANA, למשל Asia/Kolkata, America/New_York או Europe/London. השמיטו אותו כדי להשתמש ב-UTC. מחרוזת ריקה מחזירה Invalid timezone. הרשימה המלאה נמצאת במדריך אזורי זמן.

תמונות וקבצים

msg_typeintegerאופציונלי

0 טקסט (ברירת מחדל), 1 תמונה או 2 קובץ, כש-message משמש ככיתוב. כל ערך אחר מטופל כ-0.

img_urlstringחובה כש-msg_type הוא 1 או 2

כתובת URL ציבורית של התמונה, או של הקובץ עבור msg_type 2, ב-http או ב-https, עד 1,000 תווים. היא מורדת בכל פעם שהתזכורת רצה, לכן ודאו שהקישור ממשיך לעבוד. אפשר לארח קבצים בעזרת ה-API להעלאת מדיה.

file_namestringחובה כש-msg_type הוא 2

עבור msg_type 2, שם הקובץ עם הסיומת שלו, עד 100 תווים, למשל invoice.pdf. המערכת מתעלמת ממנו בסוגי הודעות אחרים.

ביטויי cron#

ביטוי cron הוא חמישה ערכים שמופרדים ברווחים. התזכורת רצה בכל פעם שהשעה הנוכחית לפי timezone תואמת לכל החמישה:

┌───────── minute        (0-59)
│ ┌─────── hour          (0-23)
│ │ ┌───── day of month  (1-31)
│ │ │ ┌─── month         (1-12)
│ │ │ │ ┌─ day of week   (0-7, where 0 and 7 are Sunday)
│ │ │ │ │
0 9 * * 1-5
סימןמשמעותדוגמה
*כל ערך* בשדה השעה פירושו כל שעה.
,רשימת ערכים9,18 בשדה השעה פירושו 9:00 ו-18:00.
-טווח1-5 בשדה היום בשבוע פירושו שני עד שישי.
/צעד*/6 בשדה השעה פירושו כל 6 שעות.

דוגמאות נפוצות#

ביטוירץ
0 9 * * *כל יום ב-9:00
0 9 * * 1-5שני עד שישי ב-9:00
0 9 * * 1כל יום שני ב-9:00
30 18 * * 0כל יום ראשון ב-18:30
0 9,18 * * *כל יום ב-9:00 וב-18:00
0 */6 * * *כל 6 שעות, בשעה עגולה
*/30 9-17 * * 1-5כל 30 דקות מ-9:00 עד 17:30, שני עד שישי
0 9 1 * *ב-1 בכל חודש ב-9:00
0 10 15 * *ב-15 בכל חודש ב-10:00
0 8 1 1 *כל 1 בינואר ב-8:00

השעות הן לפי ה-timezone של התזכורת. השתמשו בחמישה שדות בלבד: אל תוסיפו שדה שניות או קיצורים כמו @daily.

משתני תבנית#

מצייני המיקום האלה ב-message מוחלפים בכל פעם שהתזכורת רצה. התאריכים והשעות הם לפי ה-timezone של התזכורת.

משתנהמוחלף ב-דוגמה
{current_date}תאריך2026-10-01
{current_date_formatted}תאריך במיליםOctober 1, 2026
{current_time}שעה בפורמט 24 שעות09:00:00
{current_time_12h}שעה בפורמט 12 שעות9:00 AM
{current_datetime}תאריך ושעה2026-10-01 09:00:00
{timezone}הערך של timezoneAsia/Kolkata
{timezone_short}קיצור אזור הזמןIST
{reminder_name}הערך של reminder_nameMonthly rent reminder
{to_number}הערך השמור של phone919876543210
{client_name}השם של סביבת העבודה שלכם, זהה ל-{organisation_name}
{organisation_name}שם סביבת העבודה שלכם

תזכורת עם תמונה#

תזכורת שבועית עם תמונה
curl -X POST https://wbiztool.com/api/v1/reminder/create/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "whatsapp_client": 678,
    "reminder_name": "Weekly class timetable",
    "phone": "919876543210",
    "msg_type": 1,
    "img_url": "https://example.com/timetable.png",
    "message": "Here is this week'\''s timetable.",
    "cron_expression": "0 8 * * 1",
    "timezone": "Asia/Kolkata"
  }'

דוגמת ה-PHP שולחת שדות טופס במקום JSON. שתי הדרכים עובדות.

תגובה#

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

{
  "reminder_id": 3187,
  "message": "Reminder created successfully",
  "status": 1
}
שדהסוגתיאור
statusinteger1 אם התזכורת נוצרה, 0 אם הבקשה נכשלה.
messagestringReminder created successfully, אחרת השגיאה.
reminder_idintegerהמזהה של התזכורת החדשה. שמרו אותו כדי לבטל את התזכורת בהמשך. מופיע רק בהצלחה.

תזכורות חדשות פעילות מיד.

שגיאות#

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

{ "status": 0, "message": "Invalid timezone" }
הודעהאיך לתקן
Invalid JSON format: …גוף ה-JSON לא תקין, לרוב בגלל פסיק מיותר בסוף או ירידת שורה בתוך message שלא עברה escape. השתמשו ב-\n לשורות חדשות. תקבלו את השגיאה הזו גם בבקשת טופס בלי client_id, או בכל בקשת GET.
Invalid client id.שלחו את client_id כמספר.
Reminder name cannot be nullהוסיפו reminder_name.
Phone number cannot be nullהוסיפו phone.
Phone number was rounded by a spreadsheet (like 9.19877E+11): send all of its digits as textעצבו את עמודת הטלפון כטקסט או כמספר שלם ושלחו את המספר המלא.
Invalid phone number or group nameמספר צריך להיות באורך של 7 עד 15 ספרות, למשל 919876543210. ערך שכולו אפסים, או ערך עם מעט מדי או יותר מדי ספרות, אינו מספר ואינו שם קבוצה.
Message template cannot be nullהוסיפו message.
Cron expression cannot be nullהוסיפו cron_expression.
Auth Error - Please send correct API key and Client idשלחו api_key שאינו ריק.
Invalid cron expressionודאו שלביטוי יש חמישה שדות תקינים. ראו ביטויי cron.
Invalid timezoneהשתמשו בשם IANA כמו Asia/Kolkata, ולא בקיצור כמו IST.
Image URL cannot be null for image messagesעבור msg_type 1, שלחו img_url.
File URL cannot be null for file messagesעבור msg_type 2, שלחו file_name.
Auth Error: invalid api keyהמפתח לא קיים, נמחק או שייך ל-client_id אחר. בדקו אותו עם בדיקת פרטי התחברות.
Auth Error: please check client idהמפתח לא מקושר לסביבת עבודה. צרו מפתח חדש בסביבת העבודה שבה אתם רוצים להשתמש.
Demo Account cannot access APIsהשתמשו בחשבון רגיל.
Not enough creditsסביבת העבודה בתוכנית החינמית ולא נותרו בה הודעות: תוכניות בתשלום שולחות הודעות ללא הגבלה. ראו כשההודעות נגמרות.
Upgrade your plan to use reminders featureהחבילה שלכם לא כוללת תזכורות. שדרגו את החבילה.
WhatsApp Logged Out. Please Reconnect!!המספר של whatsapp_client מנותק. חברו אותו מחדש בדף הגדרות WhatsApp.
Invalid WhatsApp client idשלחו את whatsapp_client כמספר.
Error creating reminder: … (HTTP 500)לא ניתן היה לשמור את התזכורת. בדקו את הערכים ששלחתם, למשל ש-img_url באורך של 1,000 תווים לכל היותר ו-file_name באורך של 100 תווים לכל היותר.

איך תזכורות רצות#

  • לוח הזמנים נבדק לפי ה-timezone של התזכורת, וההודעה נכנסת לתור כשהשעה הנוכחית תואמת לביטוי ה-cron.
  • כל ריצה יוצרת הודעה רגילה שנשלחת ממספר ה-WhatsApp שלכם, ולכן המספר חייב להישאר מחובר.
  • ריצה מדולגת אם לא הוגדר whatsapp_client ואין באותו רגע אף מספר מחובר בסביבת העבודה שלכם. ריצה שחורגת מהמגבלה היומית של המספר (1,000 הודעות ב-24 שעות) נוצרת כהודעה שנכשלה עם "Daily limit reached: …".
  • אם whatsapp_client הוגדר, כל ריצה נכנסת לתור של המספר הזה גם אם הוא התנתק בינתיים, וממתינה שם. אין מעבר למספר אחר.
  • התזכורות נבדקות מדי פעם, לא בדיוק של שנייה, ולאחר מכן ההודעה ממתינה בתור השליחה כמו כל הודעה אחרת. אל תסתמכו על תזמון מדויק. אם בדיקה מתעכבת, הריצה עדיין נשלחת באיחור של עד 10 דקות (עד דקה אחת באיחור בריצה הראשונה של תזכורת); אחרי זה היא מדולגת. אותה ריצה אף פעם לא נשלחת פעמיים.

טיפים#

  • הצגה וניקוי: קבלו את התזכורות שלכם ואת המזהים שלהן באמצעות רשימת תזכורות, ועצרו תזכורת באמצעות ביטול תזכורת.
  • השהיה ועריכה לא זמינות דרך ה-API. השתמשו בדף Reminders בלוח הבקרה שלכם.
  • תזכורות רבות בבת אחת: בדף Reminders אפשר גם לייבא תזכורות מקובץ CSV.
  • שורות חדשות ב-JSON: כתבו אותן כ-\n בתוך message. ירידת שורה גולמית הופכת את ה-JSON ללא תקין.