Ir a la documentación
SparkGlimSparkGlim Desarrolladores
Buscar en toda la documentación

Prueba un tema en tu idioma o una ruta API exacta.

    Guías de integración

    Crear un directorio público de campañas reales

    Lea el endpoint desde su servidor, exponga una respuesta limitada y enlace al recorrido real.

    Antes de empezar

    • Node 20+ con fetch, Python 3 con urllib o PHP con cURL y JSON en su servidor.
    • Origen HTTPS del Server y país realmente disponible; esta lectura no necesita secretos de cuenta.
    • Interfaz que muestre texto de forma segura y gestione resultados vacíos o no disponibles.
    01

    Elegir un tipo explícito

    GET /api/public/homepage/discovery admite type=all|ticketing|voting|donation, country, q, location, status, date, sort, page y limit. El ejemplo lee entradas de Ghana, sin habilitar pagos.

    Fije el destino HTTPS en el servidor. Compruebe estado HTTP y success con un tiempo máximo.

    Solicitud ilustrativa con valores de ejemplo
    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

    Crear un proxy de lectura limitado

    Guarde la función TypeScript en read-public-campaigns.ts. El siguiente ejemplo es un manejador Next.js para el directorio API previsto de su aplicación.

    Use caché breve para datos públicos correctos y no-store en errores. No acepte destinos externos arbitrarios del visitante.

    Solicitud ilustrativa con valores de ejemplo
    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

    Mostrar datos verdaderos

    Lea data.entries, data.available y data.pagination. Una lista vacía, indisponibilidad y error son estados distintos; no los sustituya por eventos ficticios.

    Muestre títulos como texto y use tipo y slug reales para entradas, votación o donaciones. Preserve país e idioma sin incrustar el pago en un iframe.

    Compruebe su integración

    • Comprobar datos, ausencia de resultados y error 503 sin transacciones.
    • Mantener tipo, paginación, moneda, fechas y visibilidad reales.