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

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

    أدلة التكامل

    ابن دليلًا عامًا لحملات حقيقية

    اقرأ نقطة الاكتشاف من خادمك واعرض استجابة محدودة وروابط لمسار المشاركة الفعلي.

    قبل البدء

    • خادم Node 20+ مع fetch أو Python 3 مع urllib أو PHP مع cURL وJSON.
    • عنوان Server عبر HTTPS وبلد مدعوم فعلًا؛ لا تتطلب هذه القراءة مفاتيح حساب سرية.
    • واجهة تعرض النص بأمان وتعالج النتائج الفارغة أو غير المتاحة.
    01

    اختر نوعًا صريحًا

    تدعم GET /api/public/homepage/discovery المعلمات type=all|ticketing|voting|donation وcountry وq وlocation وstatus وdate وsort وpage وlimit. يقرأ المثال تذاكر غانا ولا يفعل أي دفع.

    ثبت وجهة HTTPS على الخادم. افحص حالة HTTP وsuccess مع مهلة محددة، ولا تقبل عنوانًا عشوائيًا من الزائر.

    طلب توضيحي بقيم بديلة
    typescript
    export async function readPublicCampaigns() {
      const url = new URL('/api/public/homepage/discovery', 'https://api.sparkglim.net');
      url.search = new URLSearchParams({ type: 'ticketing', country: 'GH', sort: 'latest', page: '1', limit: '12' }).toString();
      const response = await fetch(url, { headers: { accept: 'application/json' }, signal: AbortSignal.timeout(12000) });
      const payload = await response.json();
      if (!response.ok || payload.success !== true || !payload.data) throw new Error(payload.error || 'Discovery unavailable');
      return payload.data;
    }
    02

    أنشئ وسيط قراءة محدودًا

    احفظ دالة TypeScript في read-public-campaigns.ts. المثال التالي معالج Next.js يوضع داخل مجلد API المقصود في تطبيقك.

    خزن البيانات العامة الناجحة مؤقتًا لفترة قصيرة واستخدم no-store عند الخطأ. الوسيط ليس أداة توجيه مفتوحة لعناوين يقدمها المستخدم.

    طلب توضيحي بقيم بديلة
    typescript
    import { readPublicCampaigns } from './read-public-campaigns';
    export async function GET() {
      try {
        const data = await readPublicCampaigns();
        return Response.json({ success: true, data }, { headers: { 'Cache-Control': 'public, max-age=60' } });
      } catch {
        return Response.json({ success: false, error: 'Discovery unavailable' }, { status: 503, headers: { 'Cache-Control': 'no-store' } });
      }
    }
    03

    اعرض السجلات الحقيقية

    اقرأ data.entries وdata.available وdata.pagination. القائمة الفارغة وعدم التوفر والخطأ حالات مختلفة، ولا تستبدلها بفعاليات مختلقة.

    اعرض العناوين كنص واستخدم نوع الحملة وslug الحقيقيين لروابط التذاكر والتصويت والتبرع. احفظ البلد واللغة ولا تضع الدفع في iframe.

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

    • تحقق من البيانات والنتائج الفارغة وخطأ 503 دون إنشاء معاملات.
    • احفظ النوع والترقيم والعملة والتواريخ وحدود الظهور الفعلية.