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

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

    Référence API

    Démarrer un don public

    Démarre un don après validation du montant, des règles et de la protection ; ce n’est pas une contribution achevée.

    POSThttps://api.sparkglim.net/api/public/donate

    Modèle d’accès

    Modèle d’accès
    Accès public avec validation
    Disponibilité documentée
    Implémenté dans le code

    La disponibilité est vérifiée dans le code, pas garantie en production.

    Ouvrez l’URL de paiement retournée. SparkGlim Server contrôle prix, moyens, vérification et exécution ; le retour navigateur est uniquement une navigation.

    Requête

    NomTypeValidation
    campaign_idObligatoire

    Campagne existante dans le compte et dans tout périmètre de clé de campagne plus limité.

    stringValidation : UUID.
    amountObligatoire

    Montant demandé dans la devise de campagne ou compte ; le serveur valide l’autorité financière et les conditions finales.

    numberValidation : 1–1000000 ; pas de 0.01 dans la devise de campagne.
    donor_country_codeFacultatif

    Pays du donateur, distinct du pays vendeur et de la devise de collecte.

    stringValidation : Code ISO2 en majuscules.
    emailFacultatif

    Email de contact utilisé par le parcours configuré ; il ne donne jamais accès à lui seul.

    stringValidation : Adresse e-mail.
    phone_numberFacultatif

    Téléphone du participant ; les moyens de paiement et règles peuvent exiger un numéro international valide.

    stringValidation : Numéro de téléphone valide lorsque le canal l’exige.
    donor_nameFacultatif

    Nom affiché du membre ou contributeur, sans modifier la propriété du compte.

    stringValidation : Sans espaces périphériques.
    anonymousFacultatif

    Demande le comportement de contribution anonyme existant ; évitez des champs contradictoires.

    booleanValidation : Ne doit pas contredire is_anonymous.
    is_anonymousFacultatif

    Demande le comportement de contribution anonyme existant ; évitez des champs contradictoires.

    booleanValidation : Ne doit pas contredire anonymous.
    custom_dataFacultatif

    Réponses aux champs réels de campagne, valeurs requises et options prises en charge.

    objectValidation : Champs personnalisés configurés.
    payment_channelFacultatif

    Préférence facultative ; seuls les moyens activés pour le pays vendeur, la devise et le marchand sont utilisables.

    enumValidation : Méthode configurée uniquement.
    network_codeFacultatif

    Réseau mobile configuré lorsque le moyen de paiement choisi l’exige.

    stringValidation : Réseau configuré.
    is_appFacultatif

    Contexte existant pour choisir configuration Web ou App ; aucune permission supplémentaire.

    booleanValidation : Contexte du client.
    web_abuse_contextObligatoire

    Données existantes de protection navigateur requises avant paiement public ; elles ne remplacent pas l’autorisation serveur.

    objectValidation : Objet strict ; JSON de device_details <=12000 caractères.
    web_abuse_context.device_idObligatoire

    Signal existant de protection navigateur accepté par le schéma actuel de paiement public.

    stringValidation : 12–160.
    web_abuse_context.device_fingerprintObligatoire

    Signal existant de protection navigateur accepté par le schéma actuel de paiement public.

    stringValidation : 12–160.
    web_abuse_context.browser_signatureFacultatif

    Signal existant de protection navigateur accepté par le schéma actuel de paiement public.

    string|nullValidation : 12–160.
    web_abuse_context.hardware_signatureFacultatif

    Signal existant de protection navigateur accepté par le schéma actuel de paiement public.

    string|nullValidation : 12–160.
    web_abuse_context.device_detailsFacultatif

    Signal existant de protection navigateur accepté par le schéma actuel de paiement public.

    objectValidation : Objet JSON.
    web_abuse_context.client_pattern_detectedFacultatif

    Signal existant de protection navigateur accepté par le schéma actuel de paiement public.

    booleanValidation : Protection d’appareil existante.
    client_attempt_idFacultatif

    Identifiant stable d’opération utilisé pour retrouver une tentative et rejeter les reprises incompatibles.

    stringValidation : Identité d’opération normalisée et stable.
    return_pathFacultatif

    Destination relative de retour sur le site actuel vérifié après paiement centralisé.

    stringValidation : Chemin relatif de même origine ; sans // ni barre oblique inverse.

    Requête

    Les exemples décrivent le contrat et ne sont pas exécutés. Utilisez des données de test autorisées ; ne saisissez jamais de secret réel ici.

    POST /api/public/donate
    http
    POST /api/public/donate HTTP/1.1
    Host: api.sparkglim.net
    Content-Type: application/json
    
    {
      "campaign_id": "11111111-1111-4111-8111-111111111111",
      "amount": 10,
      "anonymous": true,
      "web_abuse_context": {
        "device_id": "<EXISTING_DEVICE_ID>",
        "device_fingerprint": "<EXISTING_DEVICE_FINGERPRINT>"
      },
      "client_attempt_id": "example_stable_attempt_0001"
    }

    Réponse

    Réponse de succès · HTTP 200
    json
    {
      "success": true,
      "data": {
        "id": "11111111-1111-4111-8111-111111111111",
        "status": "pending"
      }
    }
    Réponse d’erreur · HTTP 400
    json
    {
      "success": false,
      "error": "<ERROR_MESSAGE>"
    }

    Validation, permissions, données indisponibles et pannes utilisent le statut HTTP et l’erreur du gestionnaire.

    Limites et tentatives

    Limite serveur par défaut : 100 requêtes par IP sur 60 secondes. Des contrôles spécifiques s’appliquent.

    Compatibilité du code

    Les opérations autorisées nécessitent des tests propres au compte.

    • server/src/api/router.ts
    • server/src/api/routes/public.ts