الانتقال إلى الوثائق
SparkGlimDeveloper
مركز التكامل بمساعدة الذكاء الاصطناعي
SparkGlimSparkGlim للمطوّرين
ابحث في جميع الوثائق

جرّب موضوعًا بلغتك أو مسار API دقيقًا.

    أدلة التكامل

    أضف عضوًا عبر مسار الموزع الحقيقي

    استخدم الجلسة وعلاقة الفريق القائمتين دون اختراع واجهة تسجيل منشئين.

    قبل البدء

    • جلسة مشغل موزع معتمد وصلاحية إدارة الأعضاء.
    • عقد بوابة الموزع المنفصل؛ لا تستخدم مفاتيح المنظمة أو الوصول العام.
    • تصريح صريح لعضو اختبار تملكه، دون سجلات أو رسائل حقيقية تلقائية.
    01

    اقرأ سياق الحساب

    من خادمك استخدم GET /api/white-label/portal/reseller مع جلسة Bearer القائمة. يحل Server الحساب والصلاحيات؛ رمز الزائر لا يختار دور مسؤول.

    احفظ الجلسات خاصة مع no-store. قراءة الملف لا تخول كل عضو أو حسابًا آخر.

    طلب توضيحي بقيم بديلة
    typescript
    export async function readResellerProfile(sessionToken: string) {
      const response = await fetch('https://api.sparkglim.net/api/white-label/portal/reseller', {
        headers: { Authorization: 'Bearer ' + sessionToken, Accept: 'application/json' },
        cache: 'no-store', signal: AbortSignal.timeout(15000)
      });
      const payload = await response.json();
      if (!response.ok || payload.success !== true) throw new Error(payload.error || 'Reseller access denied');
      return payload.data;
    }
    02

    جهز add-member المدعوم

    تقبل POST /api/white-label/portal/reseller/members الحقول displayName والتواصل وmemberType والعلاقات المسموحة. يتجنب المثال owner ورفع الصلاحيات ولا يعمل إلا باستدعاء اختبار مصرح.

    يستخدم Server فريق المنشئ ويحفظ علاقة الموزع المنفصلة. تعيد /invitations القديمة 410. لا تخترع إنشاء منشئ مباشرًا ولا تفعل حسابًا غير معتمد.

    طلب توضيحي بقيم بديلة
    typescript
    type MemberInput = { displayName: string; email?: string; phone?: string; memberType: 'sub_creator' | 'operator' | 'finance' | 'support' };
    export async function addApprovedTestMember(sessionToken: string, input: MemberInput, approvedTest: boolean) {
      if (!approvedTest) throw new Error('Approved test member required');
      const response = await fetch('https://api.sparkglim.net/api/white-label/portal/reseller/members', {
        method: 'POST', headers: { Authorization: 'Bearer ' + sessionToken, 'Content-Type': 'application/json' },
        body: JSON.stringify(input), cache: 'no-store', signal: AbortSignal.timeout(15000)
      });
      const payload = await response.json();
      if (response.status !== 201 || payload.success !== true) throw new Error(payload.error || 'Member not created');
      return payload.data;
    }
    03

    تابع عبر وصول الفريق القائم

    استخدم النتيجة الحقيقية ومسار استكمال الملف والتحقق ودخول المنظم أو الفريق. تبقى الحالة وOTP والحملات والصلاحيات للخادم.

    عالج 401 والرفض والتحقق بصدق. السجل المعاد لا يضمن عضوًا نشطًا؛ راجع الحالة والمسارات القائمة.

    تحقق من تكاملك

    • تحقق من القراءة المخولة ورفض غير المخولين.
    • احفظ الحدود والصلاحيات دون مفاتيح منظمة أو دعوات قديمة.