Ir para a documentação
SparkGlimSparkGlim Programadores
Pesquisar em toda a documentação

Experimente um tema na sua língua ou um caminho API exato.

    Referência API

    Iniciar donativo público

    Inicia donativo após validar montante, regras e proteção; não é contribuição concluída.

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

    Modelo de acesso

    Modelo de acesso
    Acesso público com validação
    Disponibilidade documentada
    Implementado no código

    Disponibilidade verificada no código, sem garantia de produção.

    Abra o URL de pagamento devolvido. O SparkGlim Server controla preços, métodos, verificação e entrega; o regresso do navegador apenas navega.

    Pedido

    NomeTipoValidação
    campaign_idObrigatório

    Campanha existente na conta e no âmbito mais limitado de qualquer credencial de campanha.

    stringValidação: UUID.
    amountObrigatório

    Montante pedido na moeda de campanha ou conta; o servidor valida autoridade financeira e condições finais.

    numberValidação: 1–1000000; incrementos de 0.01 na moeda da campanha.
    donor_country_codeOpcional

    País do doador, separado do país de venda e moeda da campanha.

    stringValidação: Código ISO2 em maiúsculas.
    emailOpcional

    Email de contacto usado pelo fluxo configurado; por si só não concede acesso.

    stringValidação: Endereço de e-mail.
    phone_numberOpcional

    Telefone do participante; métodos e regras podem exigir número internacional válido.

    stringValidação: Telefone válido quando o canal o exige.
    donor_nameOpcional

    Nome apresentado do membro ou contribuinte; não muda propriedade da conta.

    stringValidação: Sem espaços nas extremidades.
    anonymousOpcional

    Pede contribuição anónima existente; não envie campos contraditórios.

    booleanValidação: Não deve contradizer is_anonymous.
    is_anonymousOpcional

    Pede contribuição anónima existente; não envie campos contraditórios.

    booleanValidação: Não deve contradizer anonymous.
    custom_dataOpcional

    Respostas aos campos reais da campanha, valores exigidos e opções suportadas.

    objectValidação: Campos personalizados configurados.
    payment_channelOpcional

    Preferência opcional; só se usam métodos ativos para país de venda, moeda e comerciante reais.

    enumValidação: Apenas o método configurado.
    network_codeOpcional

    Rede móvel configurada quando o método de pagamento a exige.

    stringValidação: Rede configurada.
    is_appOpcional

    Contexto existente para escolher configuração Web ou App; sem permissões extra.

    booleanValidação: Contexto do cliente.
    web_abuse_contextObrigatório

    Dados existentes de proteção do navegador exigidos antes do pagamento público; não substituem autorização do servidor.

    objectValidação: Objeto estrito; JSON de device_details <=12000 caracteres.
    web_abuse_context.device_idObrigatório

    Sinal existente de proteção do navegador aceite pelo esquema atual.

    stringValidação: 12–160.
    web_abuse_context.device_fingerprintObrigatório

    Sinal existente de proteção do navegador aceite pelo esquema atual.

    stringValidação: 12–160.
    web_abuse_context.browser_signatureOpcional

    Sinal existente de proteção do navegador aceite pelo esquema atual.

    string|nullValidação: 12–160.
    web_abuse_context.hardware_signatureOpcional

    Sinal existente de proteção do navegador aceite pelo esquema atual.

    string|nullValidação: 12–160.
    web_abuse_context.device_detailsOpcional

    Sinal existente de proteção do navegador aceite pelo esquema atual.

    objectValidação: Objeto JSON.
    web_abuse_context.client_pattern_detectedOpcional

    Sinal existente de proteção do navegador aceite pelo esquema atual.

    booleanValidação: Proteção de dispositivo existente.
    client_attempt_idOpcional

    Identificador estável usado para recuperar uma tentativa e rejeitar repetições incompatíveis.

    stringValidação: Identidade de operação normalizada e estável.
    return_pathOpcional

    Destino relativo de regresso ao site atual verificado após pagamento central.

    stringValidação: Caminho relativo da mesma origem; sem // nem barra invertida.

    Pedido

    Os exemplos descrevem o contrato e não são executados. Use registos de teste autorizados; nunca cole segredos reais aqui.

    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"
    }

    Resposta

    Resposta de sucesso · HTTP 200
    json
    {
      "success": true,
      "data": {
        "id": "11111111-1111-4111-8111-111111111111",
        "status": "pending"
      }
    }
    Resposta de erro · HTTP 400
    json
    {
      "success": false,
      "error": "<ERROR_MESSAGE>"
    }

    Validação, permissões, registos indisponíveis e falhas usam estado HTTP e erro do controlador.

    Limites e novas tentativas

    Limite padrão: 100 pedidos por IP em 60 segundos. Aplicam-se também controlos específicos.

    Compatibilidade do código

    As operações autorizadas exigem testes específicos da conta.

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