انتقل إلى المحتوى
Wbiztool

API التذكيرات

API إنشاء تذكير

أنشئ رسالة WhatsApp متكررة تُرسَل تلقائيًا وفق جدول زمني. استخدمه لتذكيرات الدفع، والمتابعات الأسبوعية واليومية، وغيرها من الرسائل التي تتكرر.

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

النص (Body): JSON أو حقول نموذج

تصف الجدول الزمني بتعبير cron ومنطقة زمنية. وفي كل مرة يتطابق فيها الجدول، يضع Wbiztool رسالة في قائمة الانتظار إلى رقم الهاتف أو المجموعة، تمامًا مثل رسالة أُرسلت عبر إرسال رسالة. تظهر التذكيرات التي تنشئها هنا أيضًا في صفحة التذكيرات في لوحة التحكم، حيث يمكنك إيقافها مؤقتًا أو تعديلها.

مثال سريع#

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 بتوقيت الهند في اليوم الأول من كل شهر. استبدل 12345 وYOUR_API_KEY و678 بقيمك الخاصة. راجع المصادقة لمعرفة مكان العثور عليها.

معاملات الطلب#

أرسل المعاملات كجسم JSON أو كحقول نموذج. في JSON، أرسل كل قيمة نصية (api_key، reminder_name، phone، message، cron_expression، timezone، img_url، file_name) كنص (string).

المصادقة

client_idintegerمطلوب

معرّف العميل في API ‏(API Client ID) من Settings → API keys (الإعدادات ← مفاتيح API).

api_keystringمطلوب

مفتاح API الخاص بك من الصفحة نفسها.

المُرسِل

whatsapp_clientintegerاختياري

معرّف رقم WhatsApp الذي ستُرسَل منه الرسالة، من إعدادات WhatsApp. إذا حذفته، أو لم يكن المعرّف موجودًا في مساحة العمل الخاصة بك، فسيُرسَل كل تذكير من أول رقم متصل في مساحة العمل وقت تشغيله.

التذكير

reminder_namestringمطلوب

اسم للتذكير، يظهر في صفحة التذكيرات ويمكن استخدامه في الرسالة بالشكل {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 عام يبدأ بـ http أو https للصورة، أو للملف عند msg_type 2، حتى 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 * *اليوم الأول من كل شهر الساعة 9:00
0 10 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}قيمة phone المحفوظة919876543210
{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
}
الحقلالنوعالوصف
statusinteger‏1 إذا أُنشئ التذكير، و0 إذا فشل الطلب.
messagestring‏Reminder created successfully، وإلا نص الخطأ.
reminder_idintegerمعرّف التذكير الجديد. احفظه لإلغاء التذكير لاحقًا. يظهر عند النجاح فقط.

تكون التذكيرات الجديدة نشطة فورًا.

الأخطاء#

تُرجع الأخطاء HTTP 400 مع status بقيمة 0، ما لم يُذكر خلاف ذلك:

{ "status": 0, "message": "Invalid timezone" }
الرسالةطريقة الإصلاح
Invalid JSON format: …جسم JSON غير صالح، وغالبًا بسبب فاصلة زائدة في النهاية أو سطر جديد غير مُهرَّب داخل message. استخدم \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. استخدم صفحة التذكيرات في لوحة التحكم.
  • تذكيرات كثيرة دفعة واحدة: يمكن لصفحة التذكيرات أيضًا استيراد التذكيرات من ملف CSV.
  • الأسطر الجديدة في JSON: اكتبها بالشكل \n داخل message. السطر الجديد الخام يجعل JSON غير صالح.