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.
https://api.sparkglim.net/api/public/donateModè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
| Nom | Type | Validation |
|---|---|---|
campaign_idObligatoireCampagne existante dans le compte et dans tout périmètre de clé de campagne plus limité. | string | Validation : UUID. |
amountObligatoireMontant demandé dans la devise de campagne ou compte ; le serveur valide l’autorité financière et les conditions finales. | number | Validation : 1–1000000 ; pas de 0.01 dans la devise de campagne. |
donor_country_codeFacultatifPays du donateur, distinct du pays vendeur et de la devise de collecte. | string | Validation : Code ISO2 en majuscules. |
emailFacultatifEmail de contact utilisé par le parcours configuré ; il ne donne jamais accès à lui seul. | string | Validation : Adresse e-mail. |
phone_numberFacultatifTéléphone du participant ; les moyens de paiement et règles peuvent exiger un numéro international valide. | string | Validation : Numéro de téléphone valide lorsque le canal l’exige. |
donor_nameFacultatifNom affiché du membre ou contributeur, sans modifier la propriété du compte. | string | Validation : Sans espaces périphériques. |
anonymousFacultatifDemande le comportement de contribution anonyme existant ; évitez des champs contradictoires. | boolean | Validation : Ne doit pas contredire is_anonymous. |
is_anonymousFacultatifDemande le comportement de contribution anonyme existant ; évitez des champs contradictoires. | boolean | Validation : Ne doit pas contredire anonymous. |
custom_dataFacultatifRéponses aux champs réels de campagne, valeurs requises et options prises en charge. | object | Validation : Champs personnalisés configurés. |
payment_channelFacultatifPréférence facultative ; seuls les moyens activés pour le pays vendeur, la devise et le marchand sont utilisables. | enum | Validation : Méthode configurée uniquement. |
network_codeFacultatifRéseau mobile configuré lorsque le moyen de paiement choisi l’exige. | string | Validation : Réseau configuré. |
is_appFacultatifContexte existant pour choisir configuration Web ou App ; aucune permission supplémentaire. | boolean | Validation : Contexte du client. |
web_abuse_contextObligatoireDonnées existantes de protection navigateur requises avant paiement public ; elles ne remplacent pas l’autorisation serveur. | object | Validation : Objet strict ; JSON de device_details <=12000 caractères. |
web_abuse_context.device_idObligatoireSignal existant de protection navigateur accepté par le schéma actuel de paiement public. | string | Validation : 12–160. |
web_abuse_context.device_fingerprintObligatoireSignal existant de protection navigateur accepté par le schéma actuel de paiement public. | string | Validation : 12–160. |
web_abuse_context.browser_signatureFacultatifSignal existant de protection navigateur accepté par le schéma actuel de paiement public. | string|null | Validation : 12–160. |
web_abuse_context.hardware_signatureFacultatifSignal existant de protection navigateur accepté par le schéma actuel de paiement public. | string|null | Validation : 12–160. |
web_abuse_context.device_detailsFacultatifSignal existant de protection navigateur accepté par le schéma actuel de paiement public. | object | Validation : Objet JSON. |
web_abuse_context.client_pattern_detectedFacultatifSignal existant de protection navigateur accepté par le schéma actuel de paiement public. | boolean | Validation : Protection d’appareil existante. |
client_attempt_idFacultatifIdentifiant stable d’opération utilisé pour retrouver une tentative et rejeter les reprises incompatibles. | string | Validation : Identité d’opération normalisée et stable. |
return_pathFacultatifDestination relative de retour sur le site actuel vérifié après paiement centralisé. | string | Validation : 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/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
{
"success": true,
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"status": "pending"
}
}{
"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.tsserver/src/api/routes/public.ts