واجهة REST البرمجية

المصادقة

اختر مفتاح API شخصيًا أو OAuth 2.1 مع PKCE.

استخدم مفتاح API شخصيًا لنصوصك البرمجية الخاصة. واستخدم OAuth للتطبيقات التي تعمل نيابة عن عملاء NinjaBuy آخرين، بما في ذلك عملاء MCP.

OAuth 2.1

استخدم تدفق رمز التفويض مع PKCE S256. يقبل REST وMCP رمز الوصول نفسه من NinjaBuy OAuth. يعمل كل رمز نيابة عن الحساب الذي سجّل الدخول ووافق على الوصول؛ ولا يمكنك اختيار حساب آخر في محتوى الطلب.

تستخدم جميع نقاط نهاية OAuth الأصل https://www.ninjabuy.com. مسارات الاكتشاف والتفويض:

اكتشاف OAuth · اكتشاف مورد MCP

POST /api/auth/mcp/register
GET  /api/auth/mcp/authorize
POST /api/auth/mcp/token
  1. سجّل عميلك عبر POST /api/auth/mcp/register. يرسل العميل العام JSON يحتوي على client_name وredirect_uris وtoken_endpoint_auth_method: "none". احتفظ بقيمة client_id المُعادة.
  2. أنشئ قيمتين عشوائيتين جديدتين لـ state وcode_verifier الخاص بـ PKCE. واستخرج منهما code_challenge بتجزئة SHA-256 مرمّزة بـ base64url.
  3. افتح /api/auth/mcp/authorize في متصفح المستخدم مع response_type=code وclient_id وredirect_uri وstate وcode_challenge وcode_challenge_method=S256 وscope=openid offline_access.
  4. يسجّل المستخدم الدخول برقم هاتفه في NinjaBuy ويوافق على تطبيقك. وعند عنوان رد الاتصال لديك، تحقق من state قبل استخدام code المُعاد.
  5. أرسل طلب POST مرمّزًا كنموذج إلى /api/auth/mcp/token مع grant_type=authorization_code وcode وclient_id وredirect_uri نفسه وcode_verifier.

أرسل رمز الوصول الناتج مع طلبات REST:

Authorization: Bearer YOUR_ACCESS_TOKEN

تدوم رموز الوصول ساعة واحدة. ومع offline_access، تتيح رموز التحديث التجديد لمدة تصل إلى 7 أيام. جدّد عبر نقطة نهاية الرموز نفسها باستخدام طلب POST مرمّز كنموذج يحتوي على grant_type=refresh_token وclient_id وrefresh_token. خزّن الرموز بأمان، وسجّل الدخول مجددًا عندما لا يعود التجديد صالحًا.

يُعيد رمز الوصول المفقود أو المنتهي أو غير الصالح 401 مع تحدي اكتشاف WWW-Authenticate. راجع الأخطاء.

في هذه الصفحة