المصادقة
يوفر MorisBox نوعين من المفاتيح بحسب نوع الحساب.
| الحساب | بادئة المفتاح | الاستخدام |
|---|---|---|
| الشريك | sk_… (باستثناء sk_dev_) | Partner API كاملة (/messages والروبوتات والقوالب…) |
| المطور | sk_dev_… | API المطورين فقط (/dev/*): قوالب MorisBox |
لا تستخدم JWT الخاص بالمستخدم النهائي في نظام خلفي لشريك أو مطور.
الترويسة المشتركة
Authorization: Bearer <api_key>
Content-Type: application/json
تقبل مفاتيح المطورين أيضًا X-Api-Key: sk_dev_….
مفاتيح الشركاء
| الخاصية | الوصف |
|---|---|
| التنسيق | معتم (sk_…) |
| التخزين | تجزئة على جانب الخادم؛ ويُعرض السر مرة واحدة فقط |
| النطاقات | send وread وtemplates وfull… |
| قائمة IP المسموح بها | اختيارية لكل مفتاح |
إنشاء مفتاح (Partner Hub)
- سجّل الدخول إلى Partner Hub
- الإدارة ← مفاتيح API ← إنشاء
- انسخ السر فورًا
الإنشاء برمجيًا
POST /api/v1/settings/api-keys
Authorization: Bearer <clé_existante>
{
"name": "Backend production",
"scopes": "send"
}
تسجيل الدخول إلى Partner Hub (الواجهة)
| نقطة النهاية | الوظيفة |
|---|---|
POST /api/v1/auth/partner/login | تسجيل الدخول + كلمة المرور ← مفتاح جلسة |
POST /api/v1/auth/partner/logout | إلغاء مفتاح الجلسة |
| Onboarding | طلب حساب شريك |
يجب أن تفضّل تكاملات الخادم مفاتيح API مخصصة، لا جلسة الواجهة.
مفاتيح المطورين
راجع الدليل الكامل: حسابات المطورين.
| نقطة النهاية | الوظيفة |
|---|---|
POST /api/v1/auth/developer/register | إنشاء حساب + أول مفتاح |
POST /api/v1/auth/developer/login | جلسة اللوحة |
GET/POST /api/v1/dev/api-keys | إدارة المفاتيح |
DELETE /api/v1/dev/api-keys/{id} | إلغاء المفتاح |
لا يستخدم المطورون نقطة نهاية الشركاء /api/v1/messages، بل يستخدمون /api/v1/dev/messages فقط مع template_code.
قائمة تحقق الأمان
- HTTPS في الإنتاج / Sandbox العام
- تدوير المفاتيح في حال تسرّبها
- مبدأ الحد الأدنى من الامتيازات (النطاقات)
- عدم تضمين أي مفتاح في تطبيق هاتف عام
- التحقق من توقيعات خطافات الويب (خطافات الويب)
استجابات غير مصرح بها
{
"error": {
"code": "unauthorized",
"message": "Invalid or expired API key."
}
}
الحالات: 401 (مفتاح غير صالح) أو 403 (النطاق / عنوان IP / الدور).