إنتقل إلى المحتوى الرئيسي

مرجع API

ما هو

مرجع API الخاص بـ BotBat هو التوثيق التقني الشامل لواجهة REST API التي تشغّل كل ميزة في المنصة. يوفر مواصفات تفصيلية للمصادقة باستخدام Bearer tokens، واتفاقيات عنوان URL الأساسي والإصدارات، وصيغ الطلبات والاستجابات، وترقيم الصفحات القائم على المؤشر، ورموز الأخطاء الموحدة، وحدود المعدل لكل نقطة نهاية. كل عملية يمكنك تنفيذها في لوحة تحكم BotBat لها نقطة نهاية API مقابلة، مما يجعل من الممكن أتمتة سير عمل الرسائل وإدارة جهات الاتصال والحملات بالكامل.

تتبع API مبادئ التصميم RESTful. يتم تحديد الموارد بمسارات URL، وتشير طرق HTTP القياسية إلى العملية (GET للقراءة، POST للإنشاء، PUT/PATCH للتحديث، DELETE للحذف)، ويستخدم جميع تبادل البيانات صيغة JSON. استراتيجية الإصدارات قائمة على URL: الإصدار الحالي هو v1، والإصدارات المستقبلية ستستخدم /v2 و/v3 وما إلى ذلك، مما يضمن التوافق مع الإصدارات السابقة للتكاملات القائمة مع السماح لـ API بالتطور.

يتجاوز مرجع API التفاعلي، الذي يمكن الوصول إليه من قسم المطور في لوحة تحكم BotBat، التوثيق الثابت. يتضمن لوحة "جرّب الآن" المدمجة حيث يمكنك إنشاء الطلبات وتنفيذها مقابل بيئة الاختبار وفحص الاستجابة الكاملة بما في ذلك الترويسات ورموز الحالة وأجسام JSON. هذا يجعله أسرع طريقة لاستكشاف API وفهم سلوك كل نقطة نهاية قبل كتابة أي كود تكامل.

API Reference landing page with interactive docs showing endpoint categories in sidebar

متى تستخدمه

السيناريوالوصف
بدء تكامل API جديدابدأ هنا لفهم عنوان URL الأساسي وآلية المصادقة والأنماط الشائعة قبل كتابة أي كود.
البحث عن نقطة نهاية محددةاعثر على صيغة الطلب الدقيقة والمعلمات المطلوبة والمعلمات الاختيارية وشكل الاستجابة المتوقع لأي عملية API.
تصحيح استجابة خطأارجع إلى جدول رموز الأخطاء لفهم ما يعنيه رمز حالة HTTP معين وجسم الخطأ وكيفية حل المشكلة.
تنفيذ ترقيم الصفحاتتعلّم كيفية استخدام ترقيم الصفحات القائم على المؤشر للتنقل بكفاءة عبر مجموعات النتائج الكبيرة دون تفويت أو تكرار السجلات.
فهم حدود المعدل لكل نقطة نهايةتحقق من حد المعدل لنقطة نهاية محددة لتصميم تردد طلبات تكاملك بشكل مناسب.
تأهيل مطورين جددشارك مرجع API مع أعضاء الفريق الجدد حتى يتمكنوا من الاعتماد على أنفسهم عند بناء أو صيانة التكاملات.

الخطوات

1. تحديد عنوان URL الأساسي

تستخدم جميع طلبات API عنوان URL الأساسي https://api.botbat.com/v1. يتم تضمين رقم الإصدار في مسار URL. عند إصدار نسخة جديدة، ستستمر نقاط نهاية v1 الحالية في العمل لفترة إهمال موثقة، مما يمنحك الوقت للترحيل.

2. مصادقة طلباتك

أدرج مفتاح API الخاص بك كـ Bearer token في ترويسة Authorization لكل طلب. الصيغة هي Authorization: Bearer YOUR_API_KEY. تتلقى الطلبات بدون رمز صالح استجابة HTTP 401. يتم إنشاء وإدارة مفاتيح API في لوحة معلومات المطورين. كل مفتاح مقيد بصلاحيات محددة، لذا تأكد من أن مفتاحك يمتلك الصلاحيات المطلوبة لنقاط النهاية التي تنوي استدعاءها.

3. تعيين ترويسات الطلب

يجب أن تتضمن جميع الطلبات Content-Type: application/json وAccept: application/json. يتم ترميز أجسام الطلبات بصيغة JSON، وتُرجع جميع الاستجابات بصيغة JSON. تستخدم عمليات الرفع الثنائية (مثل استيراد CSV) صيغة multipart/form-data بدلاً من ذلك.

4. إرسال طلب

أنشئ طلب HTTP بالطريقة المناسبة (GET، POST، PUT، PATCH، DELETE)، ومسار نقطة النهاية، ومعلمات الاستعلام للتصفية وترقيم الصفحات، وجسم طلب JSON لعمليات الإنشاء والتحديث. يوفر التوثيق التفاعلي مقتطفات كود جاهزة للنسخ بلغات cURL وJavaScript وPython وPHP لكل نقطة نهاية.

Endpoint detail view showing method, path, parameters, and request/response schema

5. استخدام لوحة "جرّب الآن"

تتيح لك لوحة جرّب الآن في التوثيق التفاعلي تنفيذ الطلبات مباشرة من المتصفح. حدد نقطة نهاية، واملأ المعلمات وجسم الطلب، وأرفق مفتاح API الخاص ببيئة الاختبار، وانقر إرسال. تعرض اللوحة الاستجابة الكاملة بما في ذلك حالة HTTP وترويسات الاستجابة وجسم JSON.

Try It panel with request builder showing headers, body fields, and Send button

هذه هي أسرع طريقة لاستكشاف نقاط النهاية غير المألوفة والتحقق من أن حمولات طلباتك مُنظمة بشكل صحيح قبل دمجها في قاعدة الكود الخاصة بك.

6. التعامل مع ترقيم الصفحات

تُرجع نقاط نهاية القوائم نتائج مرقمة. تتضمن كل استجابة مصفوفة data تحتوي على الصفحة الحالية من النتائج وحقل cursor. لاسترجاع الصفحة التالية، أدرج ?cursor=RETURNED_CURSOR كمعلمة استعلام في طلبك التالي. عندما يكون حقل cursor بقيمة null، تكون قد وصلت إلى نهاية مجموعة النتائج. حجم الصفحة الافتراضي هو 25 عنصراً، ويمكنك تعديله بمعلمة الاستعلام limit (الحد الأقصى 100).

Pagination example showing response body with data array and cursor field

7. تحليل الاستجابات الناجحة

تُرجع الاستجابات الناجحة HTTP 200 لعمليات القراءة والتحديث، أو HTTP 201 لعمليات الإنشاء. يحتوي جسم الاستجابة على البيانات المطلوبة. لنقاط نهاية المورد الواحد، تُرجع البيانات مباشرة. لنقاط نهاية القوائم، تتضمن الاستجابة data (مصفوفة من الموارد) وcursor (لترقيم الصفحات) وtotal (العدد الإجمالي للموارد المطابقة).

Successful response example showing 200 status with JSON body

8. معالجة الأخطاء

تتضمن استجابات الأخطاء رمز حالة HTTP، وكائن error يحتوي على رمز code قابل للقراءة آلياً، ورسالة message قابلة للقراءة بشرياً، واختيارياً مصفوفة details لأخطاء التحقق. تحقق دائماً من رمز الحالة أولاً، ثم حلل جسم الخطأ للتفاصيل.

Error response example showing 422 status with validation error details

نقاط النهاية الرئيسية

API الحملات

الطريقةنقطة النهايةالوصف
GET/v1/campaignsعرض قائمة الحملات، قابلة للتصفية حسب الحالة ونطاق التاريخ
POST/v1/campaignsإنشاء حملة جديدة
GET/v1/campaigns/:idالحصول على تفاصيل الحملة
PUT/v1/campaigns/:idتحديث حملة
DELETE/v1/campaigns/:idحذف حملة مسودة
POST/v1/campaigns/:id/sendإرسال أو جدولة حملة

تتيح لك API الحملات إنشاء وإدارة وإرسال الحملات برمجياً. يمكنك تصفية قوائم الحملات حسب الحالة (draft، scheduled، sending، completed، failed) وحسب نطاق التاريخ. تقبل نقطة نهاية POST /send معلمات جدولة اختيارية؛ حذفها يرسل الحملة فوراً.

API جهات الاتصال

الطريقةنقطة النهايةالوصف
GET/v1/contactsعرض قائمة جهات الاتصال، قابلة للتصفية حسب الشريحة والوسم والتاريخ
POST/v1/contactsإنشاء جهة اتصال
GET/v1/contacts/:idالحصول على تفاصيل جهة الاتصال
PUT/v1/contacts/:idتحديث جهة اتصال
DELETE/v1/contacts/:idحذف جهة اتصال
GET/v1/contacts/search?q=البحث في جهات الاتصال بالاسم أو البريد الإلكتروني أو رقم الهاتف
POST/v1/contacts/importاستيراد جماعي لجهات الاتصال عبر رفع ملف CSV

تدعم API جهات الاتصال عمليات CRUD الكاملة بالإضافة إلى البحث والاستيراد الجماعي. تُجري نقطة نهاية البحث مطابقة تقريبية عبر حقول الاسم والبريد الإلكتروني ورقم الهاتف. تقبل نقطة نهاية الاستيراد ملف CSV عبر multipart/form-data وتُرجع معرّف مهمة يمكنك الاستعلام عنه لمعرفة حالة الاكتمال.

API الرسائل

الطريقةنقطة النهايةالوصف
POST/v1/messages/sendإرسال رسالة إلى جهة اتصال
GET/v1/messages/:idالحصول على تفاصيل الرسالة وحالة التسليم

تتعامل API الرسائل مع إرسال الرسائل الفردية وتتبع حالتها. تتطلب نقطة نهاية الإرسال contact_id وchannel (مثل whatsapp أو sms) وإما template_id أو body للرسائل الحرة. تُرجع نقطة نهاية الحالة دورة حياة التسليم الكاملة: queued وsent وdelivered وread أو failed.

API المحادثات

الطريقةنقطة النهايةالوصف
GET/v1/conversationsعرض قائمة المحادثات، قابلة للتصفية حسب الحالة والوكيل المُعيّن
GET/v1/conversations/:idالحصول على تفاصيل المحادثة مع سجل الرسائل
POST/v1/conversations/:id/assignتعيين محادثة لوكيل
POST/v1/conversations/:id/resolveحل محادثة

API القوالب

الطريقةنقطة النهايةالوصف
GET/v1/templatesعرض قائمة قوالب الرسائل
POST/v1/templatesإنشاء قالب
GET/v1/templates/:idالحصول على تفاصيل القالب
PUT/v1/templates/:idتحديث قالب
DELETE/v1/templates/:idحذف قالب
POST/v1/templates/:id/submitتقديم قالب للموافقة من WhatsApp

API الـ Webhooks

الطريقةنقطة النهايةالوصف
GET/v1/webhooksعرض قائمة نقاط نهاية webhook
POST/v1/webhooksإنشاء نقطة نهاية webhook
GET/v1/webhooks/:idالحصول على تفاصيل webhook
PUT/v1/webhooks/:idتحديث نقطة نهاية webhook
DELETE/v1/webhooks/:idحذف نقطة نهاية webhook

رموز الأخطاء الشائعة

حالة HTTPرمز الخطأالوصفالحل
400invalid_requestجسم طلب مشوّه أو حقول مطلوبة مفقودةتحقق من بنية جسم الطلب مقابل مخطط نقطة النهاية.
401unauthorizedمفتاح API مفقود أو غير صالحتحقق من أن ترويسة Authorization تحتوي على Bearer token صالح.
403forbiddenمفتاح API يفتقر إلى الصلاحية المطلوبة لنقطة النهاية هذهحدّث صلاحيات المفتاح في لوحة معلومات المطورين أو استخدم مفتاحاً مختلفاً.
404not_foundالمورد المطلوب غير موجودتأكد من صحة معرّف المورد وأنه ينتمي إلى مؤسستك.
409conflictتعارض في حالة المورد (مثل إرسال حملة تم إرسالها بالفعل)تحقق من الحالة الحالية للمورد قبل محاولة العملية.
422validation_errorفشل التحقق من جسم الطلب؛ راجع مصفوفة detailsأصلح الحقول المذكورة في مصفوفة details وأعد المحاولة.
429rate_limitedتم تجاوز حد المعدلانتظر عدد الثواني المحدد في ترويسة Retry-After، ثم أعد المحاولة.
500internal_errorخطأ في الخادمأعد المحاولة باستخدام التراجع الأسي مع التشويش، حتى 3 إلى 5 محاولات.

الأخطاء الشائعة

الخطأالتأثيرالتوصية
استخدام مفاتيح API بدون صلاحيات كافيةتفشل الطلبات مع خطأ 403، مما يعطل تكاملك.تحقق من الصلاحيات المطلوبة في توثيق نقطة النهاية قبل إنشاء المفتاح.
تجاهل ترقيم الصفحات بالمؤشريتم إرجاع الصفحة الأولى فقط من النتائج، مما يؤدي إلى بيانات غير مكتملة.قم دائماً بترقيم الصفحات حتى يكون cursor بقيمة null.
عدم التحقق من أجسام الطلبات قبل الإرسالرحلات ذهاب وإياب غير ضرورية بسبب أخطاء 422.تحقق من الحمولات من جانب العميل باستخدام المخططات من توثيق API.
ترميز إصدار API بشكل ثابتيجعل ترقية الإصدارات صعبة وعرضة للأخطاء.خزّن إصدار API في متغير تهيئة بحيث تتطلب الترقيات تغيير التهيئة فقط.
عدم تنفيذ منطق إعادة المحاولة لأخطاء 500تسبب الأعطال المؤقتة فقدان بيانات دائم أو عمليات فائتة.نفّذ التراجع الأسي مع التشويش، مع إعادة المحاولة 3 إلى 5 مرات لاستجابات مستوى 500.
تلميح

استخدم ميزة "جرّب الآن" التفاعلية في توثيق مرجع API لاختبار نقاط النهاية مباشرة من متصفحك باستخدام مفتاح API الخاص ببيئة الاختبار. هذه هي أسرع طريقة لفهم أشكال الطلبات والاستجابات قبل كتابة كود التكامل.

  • الصفحة الرئيسية لمرجع API
  • تفاصيل نقطة النهاية
  • جرّب الآن
  • ترقيم الصفحات
  • رموز الأخطاء
  • API الحملات
  • API جهات الاتصال
  • API الرسائل
  • API المحادثات
  • API القوالب
  • API Webhooks