דלגו לתוכן
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 שממנו שולחים, מהדף הגדרות WhatsApp. אם לא תשלחו אותו, או שהמזהה לא נמצא בסביבת העבודה שלכם, כל תזכורת נשלחת מהמספר המחובר הראשון בסביבת העבודה שלכם בזמן הריצה.

תזכורת

reminder_namestringחובה

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

phonestringחובה

מספר ה-WhatsApp של הנמען עם קידומת המדינה, למשל 919876543210. אין פרמטר country_code נפרד. רווחים, +, -, . וסוגריים מוסרים, וגם 0 בתחילת המספר מוסר (עד שני אפסים מובילים בגוף JSON). ערך שאינו מורכב כולו מספרות מטופל כשם של קבוצת WhatsApp.

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 01, 2026
{current_time}שעה בפורמט 24 שעות09:00:00
{current_time_12h}שעה בפורמט 12 שעות09: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}שם סביבת העבודה שלכם

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

תזכורת שבועית עם תמונה
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.
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 ואין באותו רגע אף מספר מחובר בסביבת העבודה שלכם.
  • אם whatsapp_client הוגדר, כל ריצה נכנסת לתור של המספר הזה גם אם הוא התנתק בינתיים, וממתינה שם. אין מעבר למספר אחר.
  • התזכורות נבדקות מדי פעם, לא בדיוק של שנייה, ולאחר מכן ההודעה ממתינה בתור השליחה כמו כל הודעה אחרת. אל תסתמכו על תזמון מדויק. אם בדיקה מתעכבת, הריצה עדיין נשלחת באיחור של עד 10 דקות (עד דקה אחת באיחור בריצה הראשונה של תזכורת); אחרי זה היא מדולגת. אותה ריצה אף פעם לא נשלחת פעמיים.

טיפים#

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