Integração com a Betshield

A integração tem duas etapas. Vocês enviam uma amostra, nós escrevemos o mapeamento, e então vocês ligam o envio.

Não é necessário renomear campos. Enviem os eventos com os nomes e valores que o sistema de vocês já usa. A tradução é escrita do nosso lado.

Visão geral

EtapaResponsávelO que acontece
1. AmostraVocêsEnviam um arquivo com eventos reais, a descrição dos campos, os dados da conta, e respondem as cinco perguntas
2. MapeamentoBetshieldEscrevemos a tradução e validamos contra a amostra
3. CredenciaisBetshieldEnviamos o acesso ao painel e uma chave de API por marca
4. EnvioVocêsLigam o envio para fluxo contínuo

Aposta esportiva e aposta de cassino

Ambas usam o mesmo endereço e o mesmo tipo de evento. Não há endpoint separado para cassino.

A modalidade é identificada por um campo. Na aposta esportiva, o esporte. No cassino, o que identifica o jogo, seja o nome, o provedor ou a categoria. Se os formatos forem diferentes, incluam exemplo de cada um na amostra.

Liquidação de rodadas de cassino

Vocês emitem evento de liquidação para a rodada que perdeu, ou apenas para a que pagou?

Alguns operadores emitem apenas a rodada premiada. Perda é o principal indicador de risco, e sem ela duas das oito características do score ficam sem dado na maior parte do volume.

Etapa 1 — Amostra

Um arquivo, preferencialmente JSON, com eventos reais de cada tipo que vocês emitem, acompanhado da descrição dos campos.

RequisitoPor quê
Gerada pelo sistema que fará o envioSe o formato divergir, o mapeamento aponta para campos inexistentes e os eventos são descartados sem erro
Um exemplo de cada tipo de eventoInclusive os que parecem irrelevantes, e os dois formatos quando esporte e cassino diferem
Indicação dos eventos condicionaisSe algum tipo só é emitido em certas situações, precisamos saber qual

Exemplo

Exemplo fictício. Enviem no formato de vocês.

{
  "eventos": [
    {
      "tipo_evento": "aposta_criada",
      "cpf_cliente": "12345678901",
      "id_evento": "EV-2026-8814-0001",
      "momento": "2026-08-14T14:30:00-03:00",
      "valor_aposta": 25.00,
      "cotacao": 2.35,
      "esporte": "Futebol",
      "ao_vivo": "S"
    },
    {
      "tipo_evento": "aposta_liquidada",
      "cpf_cliente": "12345678901",
      "id_evento": "EV-2026-8814-0002",
      "momento": "2026-08-14T16:52:11-03:00",
      "valor_aposta": 25.00,
      "retorno": 0.00,
      "resultado": "PERDEU"
    },
    {
      "tipo_evento": "deposito",
      "cpf_cliente": "12345678901",
      "id_evento": "EV-2026-8814-0003",
      "momento": "2026-08-14T17:03:45-03:00",
      "valor": 100.00,
      "meio_pagamento": "PIX"
    }
  ]
}

Descrição dos campos

Enviem também a descrição de cada campo. É a partir dela que escrevemos o mapeamento e decidimos o que aproveitar primeiro. Uma linha por campo basta, no formato abaixo.

Campo             Tipo     Descrição
tipo_evento       texto    Tipo do evento. Valores: aposta_criada,
                           aposta_liquidada, deposito, saque,
                           inicio_sessao, fim_sessao
cpf_cliente       texto    CPF do apostador, 11 dígitos, sem pontuação
id_evento         texto    Identificador único do evento, em todos os tipos
momento           texto    Data e hora do evento, ISO 8601 com fuso
valor_aposta      número   Valor apostado, em reais
retorno           número   Valor pago na liquidação. Zero quando perde
resultado         texto    Resultado da aposta. Valores: GANHOU, PERDEU,
                           ANULADA, CASH_OUT
esporte           texto    Esporte. Ausente nas apostas de cassino
ao_vivo           texto    Aposta com o evento em andamento. Valores: S, N
meio_pagamento    texto    Forma de pagamento. Valores: PIX, BOLETO, CARTAO

Nos campos que só aceitam uma lista fixa de valores, como resultado e meio de pagamento, incluam a lista completa, escrita exatamente como o sistema grava.

Campos além dos listados na documentação são bem-vindos. O evento é armazenado íntegro e nada é recusado por não constar da lista.

O que responder junto com a amostra

1. Identificação do apostador

CPF em texto ou já em SHA-256? Se for hash, confirmem que é o SHA-256 do CPF apenas com dígitos. Descubra como calcular o hash.

2. Valores do campo de resultado

A lista completa dos valores possíveis, inclusive os raros, como cancelamento, devolução e encerramento antecipado.

O mesmo vale para qualquer campo que só aceite uma lista fixa de valores, como meio de pagamento ou aposta ao vivo.

3. Identificador único por evento

Existe um identificador próprio em todos os eventos? Com ele, um lote reenviado não é contado duas vezes.

Se existir apenas em parte dos eventos, não declaramos o campo, porque declarar o torna obrigatório e os eventos sem ele são recusados.

4. Marcas

Os eventos de todas as marcas saem do mesmo sistema, no mesmo formato? Cada marca recebe uma chave própria, e o envio é separado por chave.

5. Histórico

Quanto tempo para trás vocês conseguem enviar? A carga histórica usa o mesmo endereço e formato do envio corrente.

Dados para criar a conta

DadoDetalhe
Razão socialComo consta no CNPJ da licença
CNPJDa licença, não das marcas
MarcasNome comercial de cada uma
E-mail do administradorUma pessoa, com e-mail individual. Recebe o acesso ao painel e convida o restante do time

Etapa 2 — Envio

Com as chaves em mãos, a integração está documentada por completo em Enviar Eventos, com endereço, formato, exemplos em quatro linguagens, data e hora, idempotência e limites.

Um ponto merece atenção antes de ligar o envio. O código 200 indica que a requisição foi recebida, não que os eventos foram aproveitados. Essa informação está em accepted. Quando ele retorna zero com total maior que zero, a resposta traz o campo warning com o motivo, e recebemos um alerta simultâneo.


Resumo

Etapa 1. Enviem a amostra gerada pelo sistema de envio, com um exemplo de cada tipo de evento, a descrição dos campos, as respostas das cinco perguntas e os dados para criar a conta.

Etapa 2. Liguem o envio no mesmo formato, em lotes de até 2.000, acompanhando o campo accepted.

Qualquer alteração no formato de envio deve ser comunicada antes.