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

ملف OpenAPI لواجهة مُجيب البرمجية

ملف OpenAPI لواجهة مُجيب البرمجية يصف الطلبات الخمسة، وكل معامل فيها، وكل حقل في ردودها مع نوعه وهل يمكن أن يكون null، وكل خطأ، بصيغة OpenAPI 3.1. حمّله من openapi.json واستورده في الأداة التي تستخدمها.

يصف الملف الواجهة كاملة كما تعمل اليوم:

  • الخادم: https://api.mujib.ai، والمسارات تبدأ بـ /api/v1.
  • المصادقة: طريقتان، الترويسة Authorization: Bearer mjb_live_… أو الترويسة X-Api-Key.
  • الطلبات الخمسة بمعرّفاتها في الملف (operationId):
operationIdالطلبالمرجع
getMeGET /api/v1/meاختبار المفتاح
listContactsGET /api/v1/contactsقائمة العملاء
getContactGET /api/v1/contacts/{id}عميل واحد
listBookingsGET /api/v1/bookingsقائمة الحجوزات
getBookingGET /api/v1/bookings/{id}حجز واحد
  • المعاملات: كل معامل بنوعه وحدوده وقيمته الافتراضية، مثل limit وcursor وsince وfrom وto وstatus.
  • الردود: كل حقل بنوعه، والحقول التي قد تأتي null، والقيم الممكنة لـ status وstage وsource، مع أمثلة ببيانات مختلَقة.
  • الأخطاء: شكل الخطأ الموحّد { "error": { "code", "message" } } والردود 400 و401 و403 و404 و429 و500.
  • الترويسات: X-RateLimit-Limit وX-RateLimit-Remaining وX-RateLimit-Reset وRetry-After وCache-Control.

استورده في أداتك أو ولّد منه كودًا، فلا تكتب وصف الواجهة بيدك.

  1. حمّل openapi.json.
  2. استورده في أداة اختبار الطلبات التي تستخدمها، فتظهر لك الطلبات الخمسة جاهزة.
  3. ضع مفتاحك في إعدادات المصادقة في الأداة، بطريقة Bearer، لا في الرابط.
  4. أرسل getMe أولًا لتتأكد أن المفتاح يعمل.

ويمكنك أيضًا:

  • توليد عميل بلغتك: أي مولّد يقرأ OpenAPI 3.1 يكتب لك الدوال والأنواع من الملف.
  • التحقق من الردود في اختباراتك: المخطّطات (schemas) في الملف تمنع الحقول غير الموثّقة، فتعرف إذا وصلك ما لم تتوقعه.

ما الإصدار الذي يصفه الملف؟

رابط القسم «ما الإصدار الذي يصفه الملف؟»

يصف الملف الإصدار الأول من الواجهة، الذي تبدأ مساراته بـ /api/v1. ويحمل الحقل info.version تاريخ آخر تغيير بصيغة ISO، وهو التاريخ نفسه في سجل تغييرات API، فإذا تغيّر التاريخ فراجع السجل لتعرف ما الجديد.

يصف الملف الطلبات التي ترسلها أنت إلى الواجهة فقط.

  • أحداث Webhooks التي يرسلها مُجيب إلى رابطك، وطريقة التحقق من توقيعها، لها صفحاتها.
  • خادم MCP الذي يربط ChatGPT وClaude بحسابك له صفحته.
  • صفحات لوحة التحكم وطلباتها الداخلية ليست جزءًا من الواجهة العامة، فلا تبنِ عليها.

الأسئلة الشائعة

هل الملف مكتوب بيد أم مولَّد؟

مكتوب بيد ليطابق الواجهة كما تعمل، وكل حقل فيه منقول من الكود الذي يبني الردود.

هل يصف الملف Webhooks أيضًا؟

لا. يصف الطلبات التي ترسلها أنت إلى الواجهة. أحداث Webhooks وتوقيعها في صفحاتها.

كيف أعرف أن الملف تغيّر؟

يحمل الحقل info.version تاريخ آخر تغيير، وهو التاريخ نفسه في سجل تغييرات الواجهة.