Referencia API
Iniciar donativo público
Inicia donativo tras validar importe, reglas y protección; no es contribución completada.
https://api.sparkglim.net/api/public/donateModelo de acceso
- Modelo de acceso
- Acceso público con validación
- Disponibilidad documentada
- Implementado en código
Disponibilidad verificada en el código, sin garantía de producción.
Abra la URL de pago devuelta. SparkGlim Server controla precios, métodos, verificación y entrega; el retorno del navegador solo navega.
Solicitud
| Nombre | Tipo | Validación |
|---|---|---|
campaign_idObligatorioCampaña existente dentro de la cuenta y del alcance más limitado de la credencial. | string | Validación: UUID. |
amountObligatorioImporte solicitado en la moneda de campaña o cuenta; el servidor valida autoridad financiera y condiciones finales. | number | Validación: 1–1000000; incrementos de 0.01 en la moneda de campaña. |
donor_country_codeOpcionalPaís del donante, separado del país vendedor y moneda de recaudación. | string | Validación: Código ISO2 en mayúsculas. |
emailOpcionalCorreo de contacto usado por el flujo configurado; por sí solo no concede acceso. | string | Validación: Correo electrónico. |
phone_numberOpcionalTeléfono del participante; métodos y reglas pueden exigir número internacional válido. | string | Validación: Teléfono válido cuando el canal lo requiere. |
donor_nameOpcionalNombre visible del miembro o colaborador; no cambia propiedad de cuenta. | string | Validación: Sin espacios en los extremos. |
anonymousOpcionalSolicita contribución anónima existente; no envíe campos contradictorios. | boolean | Validación: No debe contradecir is_anonymous. |
is_anonymousOpcionalSolicita contribución anónima existente; no envíe campos contradictorios. | boolean | Validación: No debe contradecir anonymous. |
custom_dataOpcionalRespuestas a campos reales de campaña, valores requeridos y opciones admitidas. | object | Validación: Campos personalizados configurados. |
payment_channelOpcionalPreferencia opcional; solo se usan métodos habilitados para país vendedor, moneda y comercio reales. | enum | Validación: Solo el método configurado. |
network_codeOpcionalRed móvil configurada cuando el método de pago la requiere. | string | Validación: Red configurada. |
is_appOpcionalContexto existente para elegir configuración web o app; sin permisos extra. | boolean | Validación: Contexto del cliente. |
web_abuse_contextObligatorioDatos existentes de protección del navegador requeridos antes del pago público; no sustituyen autorización del servidor. | object | Validación: Objeto estricto; JSON de device_details <=12000 caracteres. |
web_abuse_context.device_idObligatorioSeñal existente de protección del navegador admitida por esquema actual. | string | Validación: 12–160. |
web_abuse_context.device_fingerprintObligatorioSeñal existente de protección del navegador admitida por esquema actual. | string | Validación: 12–160. |
web_abuse_context.browser_signatureOpcionalSeñal existente de protección del navegador admitida por esquema actual. | string|null | Validación: 12–160. |
web_abuse_context.hardware_signatureOpcionalSeñal existente de protección del navegador admitida por esquema actual. | string|null | Validación: 12–160. |
web_abuse_context.device_detailsOpcionalSeñal existente de protección del navegador admitida por esquema actual. | object | Validación: Objeto JSON. |
web_abuse_context.client_pattern_detectedOpcionalSeñal existente de protección del navegador admitida por esquema actual. | boolean | Validación: Protección de dispositivo existente. |
client_attempt_idOpcionalIdentificador estable usado para recuperar un intento y rechazar reintentos incompatibles. | string | Validación: Identidad de operación normalizada y estable. |
return_pathOpcionalDestino relativo de retorno al sitio actual verificado tras el pago centralizado. | string | Validación: Ruta relativa del mismo origen; sin // ni barra inversa. |
Solicitud
Los ejemplos describen el contrato y no se ejecutan. Use registros de prueba autorizados; nunca pegue secretos reales aquí.
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"
}Respuesta
{
"success": true,
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"status": "pending"
}
}{
"success": false,
"error": "<ERROR_MESSAGE>"
}Validación, permisos, registros no disponibles y fallos usan el estado HTTP y error del controlador.
Límites y reintentos
Límite predeterminado: 100 solicitudes por IP en 60 segundos. También se aplican controles específicos.
Compatibilidad del código
Las operaciones autorizadas requieren pruebas específicas de la cuenta.
server/src/api/router.tsserver/src/api/routes/public.ts