ربط خادم مشتري خارجي

استخدم عميل OAuth2 خارجي مستقل لحساب مشتري مؤهل.

قبل أن تبدأ

  • مالك الحساب؛ حساب خارجي نشط؛ سجل تجاري معتمد.

أين تذهب

الخارجي ← الوصول إلى API

الفئة المستهدفة

مالكو الحسابات الخارجية ذوو السجلات التجارية المعتمدة.

الصلاحيات

  • استخدم صلاحيات حسابك الحالية؛ رابط المساعدة لا يمنح إذناً.

سير العمل

  1. افتح الخارجي ← الوصول إلى API بصفتك مالك الحساب. اقرأ نتيجة الأهلية: يجب أن يكون الحساب نشطاً وسجله التجاري معتمداً.
  2. أنشئ عميلاً بنطاقات الخارجي المطلوبة فقط. انسخ سره المعروض مرة واحدة إلى مخزن أسرار خادمك وأغلق العرض.
  3. بادل client_credentials عبر POST /v1/oauth/token باستخدام معرّف العميل الخارجي وسره ونطاقاته المعينة. ابدأ وصول الكتالوج للقراءة فقط بالنطاق catalog:read.
  4. استخدم access_token الناتج مع GET /v1/external-marketplace/providers. التزم بـ expires_in (حالياً 900 ثانية) واحصل على رمز جديد عند الحاجة. لا يُوفَّر رمز تحديث أو تحويل للمتصفح.
  5. نطاقات الخارجي هي catalog:read وrequests:create وrequests:read وquotes:read وquotes:select وpayments:read وjobs:read وcompletion:approve وdisputes:create. نطاقات المورّد ومساراته لا تنطبق هنا.
  6. يحتفظ المالك ومقدم الطلب والمالية بمسؤولياتهم الحالية لدى المشتري. تتطلب إدارة الوصول إلى API المالك؛ ودور المشتري لا يتحول إلى مسؤول مورّد.
  7. للتدوير المخطط، انشر البديل وتحقق منه قبل إلغاء العميل القديم. عند الانكشاف ألغِه سريعاً واستبدله وافحص سجلات الخادم المنقحة.

النتيجة المتوقعة

اقرأ الحالة المحفوظة الحالية في مساحة العمل بعد الإجراء المسموح؛ المساعدة لا تنفذ الإجراء ولا تتحقق منه.

استكشاف الأخطاء وإصلاحها

invalid_client أو invalid_scope أو 403
تحقق من العميل النشط ونطاق الخارجي الدقيق وأهلية الحساب ووصول المالك. إلغاء العميل أو تغير حالة السجل التجاري يتطلب تفويض الخادم الحالي.

أمثلة للمطورين

طلب رمز المشتري الخارجي

curl -X POST https://api.crewlogix.app/v1/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "grant_type=client_credentials" \
  --data-urlencode "client_id=<client-id>" \
  --data-urlencode "client_secret=<client-secret>" \
  --data-urlencode "scope=catalog:read"

قراءة كتالوج المزوّدين الخارجي

curl -X GET https://api.crewlogix.app/v1/external-marketplace/providers \
  -H "Authorization: Bearer <access-token>"