Aller à la documentation
SparkGlimSparkGlim Développeurs
Rechercher dans toute la documentation

Essayez un sujet dans votre langue ou un chemin API exact.

    Guides d’intégration

    Utiliser l’API Organisation Version 1 côté serveur

    Commencez par un domaine approuvé et des clés complètes, puis par une lecture avant les opérations privées signées.

    Avant de commencer

    • Compte Organisation approuvé, domaine HTTPS vérifié et clés complètes copiées dans Créateur.
    • Node 20+ pour le SDK local de l’espace de travail, ou Python/PHP HTTPS sur votre serveur.
    • Référence Version 1 et capacités requises ; version API 1 et version de signature 2 sont distinctes.
    01

    Configurer les clés et lire sans mutation

    Gardez SPARKGLIM_APPROVED_DOMAIN et les clés keyId:secret côté serveur. Les lectures utilisent x-white-label-domain et la clé publique ou campagne complète, sans inventer un identifiant configuré séparément.

    L’exemple TypeScript suppose @sparkglim/organization-sdk construit et accessible dans votre projet. Sa publication npm n’est pas vérifiée. Python et PHP utilisent directement HTTPS, sans prétendre être des SDK dédiés.

    Requête illustrative avec valeurs fictives
    typescript
    import { SparkGlimOrganization } from '@sparkglim/organization-sdk';
    const client = new SparkGlimOrganization({
      baseUrl: 'https://api.sparkglim.net',
      domain: process.env.SPARKGLIM_APPROVED_DOMAIN!,
      publicKey: process.env.SPARKGLIM_PUBLIC_KEY,
      privateKey: process.env.SPARKGLIM_PRIVATE_KEY,
      campaignKey: process.env.SPARKGLIM_CAMPAIGN_KEY,
    });
    export async function readOrganizationCampaigns() {
      return client.campaigns.list();
    }
    02

    Comprendre la signature privée

    Les requêtes privées utilisent HMAC version 2, domaine, horodatage, nonce neuf, portée et idempotence. Forme : v2.domain.idempotencyKey.campaignKey.timestamp.nonce.METHOD.pathname.sortedQuery.sha256(rawBody). Signez les octets transmis et la requête triée encodée.

    Le SDK signe ses méthodes existantes. Ne l’incluez pas au navigateur et ne réutilisez ni nonce ni ancien signataire WordPress.

    03

    Préparer un paiement de test explicite

    La fonction inactive appelle client.checkout.create avec champs réels documentés et return_path relatif autorisé. L’entrée n’est pas un ordre dont le prix fait autorité.

    Réutilisez la clé d’idempotence pour la même opération et renvoyez authorization_url au client. Server contrôle paiement et délivrance ; aucun vérificateur ou suivi périodique dans le navigateur.

    Requête illustrative avec valeurs fictives
    typescript
    import { randomUUID } from 'node:crypto';
    import { SparkGlimOrganization } from '@sparkglim/organization-sdk';
    export async function createApprovedTestCheckout(client: SparkGlimOrganization, input: unknown, stableRequestId: string, approvedTest: boolean) {
      if (!approvedTest) throw new Error('Approved test configuration required');
      const data = await client.checkout.create(input, stableRequestId);
      if (typeof data.authorization_url !== 'string') throw new Error('No paid checkout URL returned');
      const target = new URL(data.authorization_url);
      if (target.origin !== 'https://checkout.sparkglim.net' || target.username || target.password) throw new Error('Invalid checkout URL');
      return { authorization_url: target.href };
    }
    export const newRequestId = () => randomUUID();

    Vérifier votre intégration

    • Contrôler domaine, portée et absence de secrets dans les bundles ou journaux.
    • Tester signatures invalides seulement en environnement contrôlé et distinguer code disponible, publication et déploiement.