المصادقة
اختر مفتاح 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- سجّل عميلك عبر
POST /api/auth/mcp/register. يرسل العميل العام JSON يحتوي علىclient_nameوredirect_urisوtoken_endpoint_auth_method: "none". احتفظ بقيمةclient_idالمُعادة. - أنشئ قيمتين عشوائيتين جديدتين لـ
stateوcode_verifierالخاص بـ PKCE. واستخرج منهماcode_challengeبتجزئة SHA-256 مرمّزة بـ base64url. - افتح
/api/auth/mcp/authorizeفي متصفح المستخدم معresponse_type=codeوclient_idوredirect_uriوstateوcode_challengeوcode_challenge_method=S256وscope=openid offline_access. - يسجّل المستخدم الدخول برقم هاتفه في NinjaBuy ويوافق على تطبيقك. وعند عنوان رد الاتصال لديك، تحقق من
stateقبل استخدامcodeالمُعاد. - أرسل طلب 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. راجع الأخطاء.