مفتاح API في مُجيب، إنشاؤه وإرساله وإلغاؤه
مفتاح API هو كلمة سرّ طويلة يرسلها برنامجك مع كل طلب إلى واجهة مُجيب البرمجية، فيعرف مُجيب أي نشاط يطلب وما الذي يحق له أن يقرأه. تنشئه من صفحة «التكاملات»، ويبدأ دائمًا بـ mjb_live_، ويُرسَل في الترويسة Authorization.
يتكوّن المفتاح من mjb_live_ يليها 32 حرفًا عشوائيًا. كل مفتاح للقراءة فقط، وله صلاحيات تختارها، ويمكنك إلغاؤه في أي وقت.
كيف أنشئ مفتاح API؟
رابط القسم «كيف أنشئ مفتاح API؟»تنشئ المفتاح من قسم «للمطوّرين» في صفحة «التكاملات»، ولا يراه إلا «المالك» و«مدير».
- افتح «التكاملات» من القائمة الجانبية.
- اضغط بطاقة «مفاتيح API»، فيفتح قسم «للمطوّرين» أسفل الصفحة.
- اضغط «مفتاح جديد».
- في خانة «اسم المفتاح» اكتب اسمًا يدل على النظام الذي سيستخدم المفتاح، مثل «تقارير المبيعات».
- تحت «شو بيقدر يقرأ» اختر «قراءة العملاء» أو «قراءة الحجوزات» أو كليهما.
- في «بينتهي» اختر «بعد 90 يوم» أو «بعد سنة» أو «ما بينتهي».
- اضغط «اعمل المفتاح». يظهر المفتاح تحت عنوان «هذا مفتاحك — بيبين هالمرة بس»، فاضغط «انسخ المفتاح» واحفظه في مكان آمن، ثم اضغط «خلصت، نسخته».

بعد الإنشاء يظهر المفتاح في القائمة باسمه، وبتلميح فيه mjb_live_… وآخر أربعة أحرف منه، وبصلاحياته، وبوقت آخر استعمال أو «ما انستعمل لهلّق»، وبتاريخ انتهائه.
ما الصلاحيات التي يمكن أن يحملها المفتاح؟
رابط القسم «ما الصلاحيات التي يمكن أن يحملها المفتاح؟»للمفتاح صلاحيتان فقط، وكلتاهما للقراءة: contacts.read لقراءة العملاء، وbookings.read لقراءة الحجوزات. لا توجد صلاحية تغيّر أو تحذف شيئًا.
| الصلاحية | اسمها في لوحة التحكم | الطلبات التي تفتحها |
|---|---|---|
contacts.read | «قراءة العملاء» | GET /api/v1/contacts وGET /api/v1/contacts/{id} |
bookings.read | «قراءة الحجوزات» | GET /api/v1/bookings وGET /api/v1/bookings/{id} |
- الطلب
GET /api/v1/meلا يحتاج إلى صلاحية، فيعمل بأي مفتاح صالح. - المفتاح الذي ينقصه ما يحتاجه الطلب يتلقى الخطأ 403 ورمز
FORBIDDEN. - يظهر خيار «قراءة الحجوزات» فقط إذا كان نشاطك يستخدم المواعيد.
- اختر أقل ما يحتاجه نظامك: نظام التقارير الذي يعدّ الحجوزات لا يحتاج إلى أرقام العملاء.
كيف أرسل المفتاح مع الطلب؟
رابط القسم «كيف أرسل المفتاح مع الطلب؟»أرسل المفتاح في الترويسة Authorization بصيغة Bearer، مع كل طلب. احفظه في متغير بيئة ولا تكتبه في الكود.
export MUJIB_API_KEY="mjb_live_xxxxxxxx…"curl https://api.mujib.ai/api/v1/me \ -H "Authorization: Bearer $MUJIB_API_KEY"const res = await fetch('https://api.mujib.ai/api/v1/me', { headers: { Authorization: `Bearer ${process.env.MUJIB_API_KEY}` },});console.log(res.status, await res.json());import osimport requests
res = requests.get( "https://api.mujib.ai/api/v1/me", headers={"Authorization": f"Bearer {os.environ['MUJIB_API_KEY']}"}, timeout=30,)print(res.status_code, res.json())وعلى Windows في PowerShell:
$env:MUJIB_API_KEY = "mjb_live_xxxxxxxx…"Invoke-RestMethod -Uri "https://api.mujib.ai/api/v1/me" -Headers @{ Authorization = "Bearer $env:MUJIB_API_KEY" }- إذا كانت أداتك لا تستطيع ضبط
Authorization، فأرسل المفتاح في الترويسةX-Api-Keyبدلًا منها. وإذا أرسلت الترويستين معًا فالمعتمد هوAuthorization: Bearer. - لا تضع المفتاح في الرابط (مثل
?api_key=): الواجهة لا تقرؤه من هناك وتردّ بالخطأ 401. - جلسة الدخول إلى لوحة التحكم لا تفتح الواجهة، والمفتاح لا يفتح لوحة التحكم.
متى يُرفض المفتاح؟
رابط القسم «متى يُرفض المفتاح؟»يُرفض المفتاح بالخطأ 401 ورمز UNAUTHORIZED في كل حالة لا يكون فيها صالحًا، ويحمل الرد الترويسة WWW-Authenticate: Bearer realm="mujib".
| الحالة | ما تفعله |
|---|---|
لا توجد ترويسة، أو ليست بصيغة Bearer mjb_live_… | تحقق من اسم الترويسة والمسافة بعد Bearer |
| المفتاح ناقص أو فيه حرف زائد بعد النسخ | انسخه كاملًا من مكان حفظه، أو أنشئ مفتاحًا جديدًا |
| المفتاح أُلغي | أنشئ مفتاحًا جديدًا وضعه في نظامك |
| انتهت مدة المفتاح، ويظهر في القائمة «انتهى» | أنشئ مفتاحًا جديدًا، ثم ألغِ القديم |
| حساب النشاط غير فعّال، كأن يكون موقوفًا | تواصل مع فريق مُجيب |
{ "error": { "code": "UNAUTHORIZED", "message": "A valid API key is required (Authorization: Bearer mjb_live_…)." } }كيف ألغي مفتاحًا أو أستبدله؟
رابط القسم «كيف ألغي مفتاحًا أو أستبدله؟»اضغط «ألغِ» بجانب المفتاح وأكّد. يتوقف أي نظام يستخدمه من أول طلب بعد الإلغاء، ولا يُحذف شيء من بيانات مُجيب، ويختفي المفتاح من القائمة.
لتستبدل مفتاحًا دون أن يتوقف نظامك:
- أنشئ مفتاحًا جديدًا بالصلاحيات نفسها.
- ضعه في إعدادات نظامك مكان القديم.
- تأكد أنه يعمل بطلب
GET /api/v1/me. - انتظر حتى يتوقف تحديث وقت آخر استعمال للمفتاح القديم في القائمة، ثم ألغِه.
لكل نشاط حتى 10 مفاتيح فعّالة. المفتاح المنتهي لا يُحسب ضمنها، لكنه يبقى في القائمة حتى تلغيه.
كيف أحمي المفتاح؟
رابط القسم «كيف أحمي المفتاح؟»عامل المفتاح ككلمة سرّ، لأنه يقرأ أسماء عملائك وأرقامهم.
- احفظه في إعدادات نظامك أو في مدير كلمات السر، لا في رسالة أو بريد.
- استدعِ الواجهة من خادمك فقط، ولا تضع المفتاح في كود صفحة ويب أو تطبيق هاتف.
- اجعل لكل نظام مفتاحًا باسمه، لتلغي واحدًا دون أن تتوقف البقية.
- اختر مدة انتهاء متى استطعت، وألغِ أي مفتاح لم يعد مستخدمًا.
- إذا ظننت أن مفتاحًا تسرّب، فألغِه فورًا ثم أنشئ غيره.
لمعرفة من في فريقك يستطيع فتح صفحة «التكاملات»، راجع صلاحيات الفريق.
الأسئلة الشائعة
هل أستطيع رؤية المفتاح مرة أخرى بعد إغلاق النافذة؟
لا. يظهر المفتاح مرة واحدة عند إنشائه، ولا يحتفظ مُجيب إلا ببصمته، فلا يستطيع أحد عرضه بعد ذلك، ولا فريق مُجيب. إذا ضاع فألغِه وأنشئ مفتاحًا جديدًا.
كم مفتاحًا أستطيع أن أنشئ؟
حتى 10 مفاتيح فعّالة لكل نشاط. المفتاح الملغى أو المنتهي لا يُحسب ضمنها.
هل يعمل المفتاح إذا وضعته في الرابط؟
لا. الواجهة تقرأ المفتاح من الترويسة فقط، وترفض أي طلب يحمله في الرابط بالخطأ 401.
ماذا يحدث لنظامي إذا ألغيت المفتاح؟
يتوقف النظام الذي يستخدمه من أول طلب بعد الإلغاء، ويتلقى الخطأ 401. لا يُحذف شيء من بيانات مُجيب.
لماذا لا أرى خيار قراءة الحجوزات؟
يظهر خيار «قراءة الحجوزات» فقط إذا كان نشاطك يستخدم المواعيد في مُجيب.
مُجيب منتج شركة المجيب الذكي لتكنولوجيا المعلومات (ذات مسؤولية محدودة)، عمّان، الأردن. رقم التسجيل82888.