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

    Criar campanha

    Cria campanha na organização aprovada com dados validados e propriedade do Criador; rascunho não é publicação.

    POSThttps://api.sparkglim.net/api/white-label/v1/campaigns

    Modelo de acesso

    Modelo de acesso
    HMAC de Organização no servidor
    Âmbito necessário
    campaigns:write
    Disponibilidade documentada
    Implementado no código

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

    A assinatura privada fica no servidor. A API Versão 1 usa assinatura v2; não é uma API v2.

    Cabeçalhos

    NomeTipoValidação
    x-white-label-domainObrigatório

    Domínio verificado que resolve a conta de Organização aprovada e vincula este pedido.

    stringValidação: Nome de anfitrião HTTPS verificado.
    x-white-label-key-idObrigatório

    Identificador extraído da chave privada única; nunca envie o segredo neste cabeçalho.

    stringValidação: Identificador interno da chave privada emitida.
    x-white-label-signature-versionObrigatório

    Seleciona a assinatura vinculada ao domínio; as rotas API mantêm a Versão 1.

    stringValidação: 2.
    x-white-label-timestampObrigatório

    Instante da assinatura em milissegundos comparado com o relógio do servidor para rejeitar pedidos antigos.

    stringValidação: Milissegundos com 13 dígitos; dentro de cinco minutos.
    x-white-label-nonceObrigatório

    Valor aleatório novo registado pelo servidor para impedir repetição de um pedido assinado.

    stringValidação: Valor novo: 16–128 [A-Za-z0-9_-].
    x-white-label-signatureObrigatório

    HMAC-SHA256 de domínio, chave de idempotência, credencial de campanha, instante, nonce, método, caminho, consulta ordenada e hash exato do corpo.

    stringValidação: HMAC-SHA256 hexadecimal em minúsculas.
    x-white-label-campaign-keyOpcional

    Chave de campanha completa opcional que limita o pedido privado à mesma campanha autorizada.

    stringValidação: Valor keyId:secret completo, opcional e limitado ao seu âmbito.

    Pedido

    NomeTipoValidação
    titleObrigatório

    Título público da campanha fornecido pelo organizador autorizado.

    stringValidação: 3–255.
    descriptionObrigatório

    Descrição do organizador que explica campanha ou bilhete.

    stringValidação: 10–5000.
    campaign_typeObrigatório

    Seleciona bilhetes, votação ou donativos; não concede módulos não autorizados.

    enumValidação: ticketing | voting | donation.
    start_dateObrigatório

    Data de abertura da campanha em formato ISO.

    stringValidação: Data e hora no formato ISO.
    end_dateObrigatório

    Data de fecho da campanha em formato ISO.

    stringValidação: Data e hora no formato ISO.
    country_codeOpcional

    Código do país de venda configurado; servidor verifica conta e mercado.

    stringValidação: ISO2.
    currency_codeOpcional

    Moeda permitida da campanha; escolher país não autoriza moeda nova.

    stringValidação: ISO3.
    slugOpcional

    Identificador de URL da campanha ou artigo publicado existente.

    stringValidação: Esquema configurado do identificador URL.
    statusOpcional

    Estado suportado pedido; aprovação controla publicação e acesso.

    enumValidação: draft | pending_approval | approved | rejected | archived.
    vote_priceOpcional

    Valor configurado do produto na moeda ou unidade de capacidade da campanha.

    numberValidação: >=0.
    donation_goalOpcional

    Valor configurado do produto na moeda ou unidade de capacidade da campanha.

    numberValidação: >=0.
    ticket_priceOpcional

    Valor configurado do produto na moeda ou unidade de capacidade da campanha.

    numberValidação: >=0.
    ticket_capacityOpcional

    Valor configurado do produto na moeda ou unidade de capacidade da campanha.

    integerValidação: >0.
    image_urlOpcional

    URL da imagem fornecida; use media públicos autorizados.

    string|nullValidação: URL.
    banner_urlOpcional

    URL de capa fornecido pelo organizador.

    string|nullValidação: URL.
    categoryOpcional

    Categoria de campanha ou definições aprovadas conforme recurso.

    string|nullValidação: <=120.
    locationOpcional

    Local público ou filtro; separado do país financeiro de venda.

    string|nullValidação: <=255.
    event_dateOpcional

    Data e hora do evento, distintas do período de venda.

    string|nullValidação: Data e hora no formato ISO.
    verification_requiredOpcional

    Define verificação suportada sem contornar controlos do servidor.

    booleanValidação: Valor predefinido: true.
    metadataOpcional

    Metadados JSON aceites; nunca substituem autorização, preços ou propriedade.

    objectValidação: Objeto JSON.

    Pedido

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

    POST /api/white-label/v1/campaigns
    http
    POST /api/white-label/v1/campaigns HTTP/1.1
    Host: api.sparkglim.net
    x-white-label-domain: events.example.com
    x-white-label-key-id: <ISSUED_KEY_ID>
    x-white-label-signature-version: 2
    x-white-label-timestamp: <FRESH_MILLISECONDS>
    x-white-label-nonce: <FRESH_SIGNING_NONCE>
    x-white-label-signature: <SERVER_GENERATED_SIGNATURE>
    Content-Type: application/json
    
    {
      "title": "Example campaign",
      "description": "An illustrative campaign description.",
      "campaign_type": "ticketing",
      "start_date": "2030-06-01T09:00:00.000Z",
      "end_date": "2030-06-02T18:00:00.000Z"
    }

    Resposta

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

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

    Limites e novas tentativas

    Organização: 120 pedidos por chave e 300 por IP por janela; respeite Retry-After e X-RateLimit.

    Compatibilidade do código

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

    • server/src/api/router.ts
    • server/src/api/routes/white-label.ts
    • server/src/white-label/auth.ts
    • server/src/white-label/schemas.ts
    • server/src/white-label/organization-service.ts
    • server/src/white-label/service.ts