توثيق المطورين

بيانات CX الخاصة بك، داخل الكود والوكلاء لديك.

ثلاث بوابات إلى البيانات الموثقة نفسها: خادم MCP لوكلاء الذكاء الاصطناعي، و CLI للطرفية، و API REST لخدماتك.

نظرة عامة

يوفّر JABB التقييمات الموثقة عبر Golden Proof Protocol، والدرجات حسب نقطة البيع، واتجاهات مواقعك. وكل وصول يحترم صلاحيات المستخدم أو المفتاح الذي يستدعيه.

خادم MCP

لـ Claude و ChatGPT و Gemini و Cursor وأي وكيل متوافق مع MCP.

https://mcp.jabb.cx/mcp
CLI

للاستكشاف والأتمتة من الطرفية.

pip install jabb-cli
API REST

لخدماتك، وخطوط المعالجة، وBI لديك.

https://api.jabb.cx/v1

البدء السريع

  1. 1
    احصل على وصول

    اطلب وصول المطورين: ستتلقى مفتاح JABB_API_KEY مرتبطًا بمساحة شركتك.

  2. 2
    اختر بوابتك

    MCP لوكلاء الذكاء الاصطناعي، و CLI للطرفية، و REST لخدماتك.

  3. 3
    نفّذ أول طلب لك

    اعرض آخر التقييمات الموثقة لنقاط البيع لديك.

curl "https://api.jabb.cx/v1/evaluations?limit=5" \
  -H "Authorization: Bearer $JABB_API_KEY"

المصادقة

يستخدم خادم MCP بروتوكول OAuth 2.1. يكتشف الوكيل لديك خادم التفويض تلقائيًا عبر مستند المورد المحمي، ثم يطلب منك تسجيل الدخول والموافقة على الوصول.

مستند اكتشاف OAuth ‏(استجابة فعلية)
GET https://mcp.jabb.cx/.well-known/oauth-protected-resource

{
  "resource": "https://mcp.jabb.cx",
  "authorization_servers": ["https://mcp.jabb.cx"],
  "scopes_supported": ["jabb:read", "jabb:write"],
  "bearer_methods_supported": ["header"]
}

تستخدم CLI و API REST مفتاح API يُمرَّر في ترويسة Authorization بصيغة Bearer.

ترويسة المصادقة
Authorization: Bearer $JABB_API_KEY
يمنح مفتاح API وصولًا إلى بيانات شركتك: احتفظ به على جهة الخادم فقط، ولا تضعه أبدًا في تطبيق جوال أو في كود الواجهة الأمامية.

Scopes

الصلاحيات مقسمة إلى scopeين. اطلب فقط ما تحتاجه عملية التكامل لديك.

Scopeالوصول
jabb:readقراءة التقييمات، والدرجات حسب نقطة البيع، والاتجاهات.
jabb:writeتشغيل إجراءات تعدّل البيانات داخل مساحتك، وفقًا لصلاحياتك.

خادم MCP

يقدّم خادم MCP من JABB نحو عشرين أداة تغطي التقييمات والدرجات والاتجاهات، مثل jabb_list_evaluations. وتُعاد الفهرسة الكاملة عبر الطريقة tools/list بعد مصادقة الوكيل.

MCPhttps://mcp.jabb.cx/mcpنقطة الوصول (Streamable HTTP)

اربط وكيلك

# Claude Desktop / claude.ai → Settings → Connectors → Add custom connector
Name:  JABB
URL:   https://mcp.jabb.cx/mcp
# Then sign in with your JABB account and approve access (OAuth 2.1).

أمثلة على الأسئلة

  • « ما نقاط البيع التي حصلت على أدنى تقييم هذا الأسبوع، ولماذا؟ »
  • « لخّص الآراء السلبية حول الانتظار في Casablanca منذ يوم الاثنين. »
  • « قارن درجة النظافة في مواقعي الثلاثة في Rabat خلال الشهر الماضي. »

CLI

يُثبَّت CLI ‏jabb-cli باستخدام pip. وهو يستخدم الحساب نفسه المرتبط بمساحة شركتك ويُرجع نتائج مقروءة أو بصيغة JSON لسكربتاتك.

pip install jabb-cli

API REST

يتم إصدار نسخ API REST داخل عنوان URL. وتتم التبادلات بصيغة JSON بترميز UTF-8، وتتبع التواريخ تنسيق ISO 8601.

الرابط الأساسيhttps://api.jabb.cx/v1
التنسيقJSON · UTF-8
المصادقةAuthorization: Bearer <JABB_API_KEY>
التواريخISO 8601 (UTC)

التقييمات

GET/v1/evaluations

يعيد التقييمات الموثقة لنقاط البيع الخاصة بك، مع GPS وختم زمني وأدلة بالصور ودرجة جودة بالذكاء الاصطناعي، من الأحدث إلى الأقدم.

المعلمات

limitintegerعدد التقييمات المطلوب إرجاعها.

الفلاتر الإضافية مثل نقطة البيع والفترة والقناة موضحة في المرجع الكامل المرفق مع مفتاحك.

curl "https://api.jabb.cx/v1/evaluations?limit=5" \
  -H "Authorization: Bearer $JABB_API_KEY"

مثال على الاستجابة

{
  "data": [
    {
      "id": "ev_…",
      "location": { "id": "loc_…", "name": "Casablanca · Anfa" },
      "channel": "location",
      "rating": 4,
      "text": "La file a avancé vite, mais les tables en terrasse n’ont jamais été débarrassées.",
      "language": "fr",
      "verified": { "gps": true, "timestamp": "2026-10-07T18:42:10Z", "photo": true },
      "quality_score": 92,
      "sentiment": "mixed",
      "themes": ["attente", "propreté"]
    }
  ]
}

مثال توضيحي ومختصر: اللائحة الدقيقة للحقول موجودة في المرجع الكامل.

الأخطاء

تتبع الأخطاء تنسيق OAuth: رمز خطأ ووصف واضح. وعند الوصول بدون رمز مميز، يرد الخادم مثلا بـ:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="jabb-mcp"
Content-Type: application/json

{ "error": "unauthorized", "error_description": "Bearer token required" }
الحالةالمعنى
400طلب غير صالح: معلمة مفقودة أو بصيغة غير صحيحة.
401الرمز المميز مفقود أو منتهي الصلاحية أو غير صالح.
403الرمز المميز لا يملك النطاق أو الصلاحيات اللازمة.
404المورد غير موجود.
429طلبات كثيرة جدا: أعد المحاولة بعد المدة المحددة.
500خطأ من جهة JABB: أعد المحاولة لاحقا.

حدود المعدل

يتم تقييد الطلبات حسب كل مفتاح لضمان استقرار الخدمة. عند بلوغ الحد، تعيد API الرمز 429 مع ترويسة Retry-After: انتظر المدة المحددة ثم أعد المحاولة، ويفضل باستخدام تأخير أسي.

أفضل الممارسات

  • احتفظ بالمفاتيح على جهة الخادم وخزنها في مدير أسرار.
  • اطلب أضيق scope ممكن: ‏jabb:read يكفي للقراءة.
  • بدل مفاتيحك بانتظام وألغِ ما لم يعد مستخدما.
  • استخدم التخزين المؤقت للنتائج التي نادرا ما تتغير، مثل الدرجات الأسبوعية.
  • تعامل مع أخطاء 429 و5xx عبر إعادة المحاولة على فترات متباعدة.

الدعم

لديك سؤال حول API أو خادم MCP أو CLI؟ راسل salim@jabb.cx مع اسم شركتك وحالة الاستخدام الخاصة بك.

احصل على وصول للمطورين

أخبرنا بما تريد بناءه. نرسل لك مفتاح اختبار والمرجع الكامل للـ API.