API de Eventos de Apostas
Esta documentação descreve o endpoint para registro de eventos relacionados a apostas, fundamentais para o monitoramento de atividades de jogos e compliance PLD.
Registrar Evento de Aposta
[POST]
/betting-events
Registra um novo evento relacionado a atividades de apostas no sistema, com suporte completo para apostas simples e múltiplas.
Parâmetros do corpo
Nome do campo | Tipo de dado | Obrigatório | Descrição |
---|---|---|---|
tax_id |
string | Sim | CPF do jogador. Exemplo: "012.345.678-90" . |
event |
string | Sim | Tipo do evento. Opções: "new_bet" , "result" , "cancellation" . |
last_player_balance |
number | Sim | Saldo anterior do jogador em centavos. Exemplo: 20000 para R$ 200,00. |
current_player_balance |
number | Sim | Saldo atual do jogador em centavos. Exemplo: 25000 para R$ 250,00. |
event_date |
datetime | Não | Data e hora do evento. Se não informado, usa o momento atual. |
bet_slip_id |
string | Sim | Identificador único do bilhete de apostas. Exemplo: "slip_abc123def456" . |
bet_slip_state |
string | Não | Estado geral do bilhete. Opções: "open" , "settled" , "cancelled" . |
total_stake |
number | Sim | Valor total apostado no bilhete em centavos. Exemplo: 5000 para R$ 50,00. |
total_odds |
number | Sim | Odds combinadas de todo o bilhete. Exemplo: 2.5 . |
leg_count |
number | Sim | Número de seleções no bilhete (1 para simples, >1 para múltiplas). |
is_live |
boolean | Não | Se é aposta ao vivo. Padrão: false . |
is_free_bet |
boolean | Não | Se é aposta grátis. Padrão: false . |
bonus_amount |
number | Não | Valor de bônus utilizado em centavos. Exemplo: 1000 para R$ 10,00. |
is_each_way |
boolean | Não | Se é aposta each-way. Padrão: false . |
bet_legs |
array | Sim | Array com detalhes de cada seleção do bilhete. |
meta |
object | Não | Metadados adicionais sobre o evento (JSON livre). |
Estrutura de bet_legs
Cada objeto no array bet_legs
deve conter:
Nome do campo | Tipo de dado | Obrigatório | Descrição |
---|---|---|---|
leg_id |
string | Sim | Identificador único da seleção. Exemplo: "leg_xyz789" . |
odds |
number | Sim | Odds específicas desta seleção. Exemplo: 1.85 . |
sport_id |
string | Não | Identificador do esporte. Exemplo: "66" . |
sport_name |
string | Não | Nome do esporte. Exemplo: "Futebol" . |
event_id |
string | Não | Identificador único do evento. Exemplo: "evt_abc123" . |
event_name |
string | Não | Nome do evento. Exemplo: "Inter de Milão vs. Fluminense" . |
tournament_id |
string | Não | Identificador do torneio. Exemplo: "tourn_copa_libertadores" . |
tournament_name |
string | Não | Nome do torneio. Exemplo: "Copa Libertadores 2024" . |
market_id |
string | Não | Identificador do mercado. Exemplo: "mkt_winner" . |
market_name |
string | Não | Nome do mercado. Exemplo: "Vencedor do encontro" . |
selection_id |
string | Não | Identificador da seleção. Exemplo: "sel_inter_milan" . |
selection_name |
string | Não | Nome da seleção. Exemplo: "Inter de Milão" . |
event_start_time |
datetime | Não | Data/hora real de início do evento. Exemplo: "2024-01-15T20:00:00Z" . |
event_end_time |
datetime | Não | Data/hora real de fim do evento. Exemplo: "2024-01-15T22:00:00Z" . |
leg_state |
string | Não | Estado da seleção. Opções: "open" , "won" , "lost" , "void" . |
result |
string | Não | Resultado da seleção. Opções: "won" , "lost" , "void" , "push" . |
amount_won |
number | Não | Valor ganho desta seleção em centavos (para resultados). |
Exemplos de Requisição
Aposta Simples - Nova Aposta
curl --location 'https://aml.paag.io/betting-events' \
--header 'accept: application/json' \
--header 'x-api-key: {{ token }}' \
--header 'Content-Type: application/json' \
--header 'Origin: *' \
--data '{
"tax_id": "012.345.678-90",
"event": "new_bet",
"last_player_balance": 30000,
"current_player_balance": 25000,
"event_date": "2024-01-15T15:30:00Z",
"bet_slip_id": "slip_simple_123",
"bet_slip_state": "open",
"total_stake": 5000,
"total_odds": 2.5,
"leg_count": 1,
"is_live": false,
"is_free_bet": false,
"bonus_amount": 0,
"is_each_way": false,
"bet_legs": [
{
"leg_id": "leg_abc123",
"odds": 2.5,
"sport_id": "66",
"sport_name": "Futebol",
"event_id": "evt_fla_palm_001",
"event_name": "Flamengo vs. Palmeiras",
"tournament_id": "tourn_brasileirao_2024",
"tournament_name": "Campeonato Brasileiro 2024",
"market_id": "mkt_winner",
"market_name": "Vencedor do encontro",
"selection_id": "sel_flamengo",
"selection_name": "Flamengo",
"event_start_time": "2024-01-15T21:00:00Z",
"leg_state": "open"
}
]
}'
Aposta Múltipla - Nova Aposta
curl --location 'https://https://gateway.prd.pppay.cloud/betting-events' \
--header 'accept: application/json' \
--header 'x-api-key: {{ token }}' \
--header 'Content-Type: application/json' \
--header 'Origin: *' \
--data '{
"tax_id": "012.345.678-90",
"event": "new_bet",
"last_player_balance": 50000,
"current_player_balance": 40000,
"event_date": "2024-01-15T15:30:00Z",
"bet_slip_id": "slip_multiple_456",
"bet_slip_state": "open",
"total_stake": 10000,
"total_odds": 6.25,
"leg_count": 3,
"is_live": false,
"is_free_bet": false,
"bonus_amount": 2000,
"is_each_way": false,
"bet_legs": [
{
"leg_id": "leg_001",
"odds": 1.8,
"sport_name": "Futebol",
"event_name": "Flamengo vs. Palmeiras",
"tournament_name": "Campeonato Brasileiro 2024",
"market_name": "Vencedor do encontro",
"selection_name": "Flamengo",
"event_start_time": "2024-01-15T21:00:00Z",
"leg_state": "open"
},
{
"leg_id": "leg_002",
"odds": 2.1,
"sport_name": "Futebol",
"event_name": "Santos vs. Corinthians",
"tournament_name": "Campeonato Brasileiro 2024",
"market_name": "Mais de 2.5 gols",
"selection_name": "Sim",
"event_start_time": "2024-01-15T19:00:00Z",
"leg_state": "open"
},
{
"leg_id": "leg_003",
"odds": 1.65,
"sport_name": "Basquete",
"event_name": "Lakers vs. Warriors",
"tournament_name": "NBA 2023-24",
"market_name": "Vencedor do jogo",
"selection_name": "Lakers",
"event_start_time": "2024-01-16T02:00:00Z",
"leg_state": "open"
}
]
}'
Resultado de Aposta Múltipla
curl --location 'https://https://gateway.prd.pppay.cloud/betting-events' \
--header 'accept: application/json' \
--header 'x-api-key: {{ token }}' \
--header 'Content-Type: application/json' \
--header 'Origin: *' \
--data '{
"tax_id": "012.345.678-90",
"event": "result",
"last_player_balance": 40000,
"current_player_balance": 102500,
"event_date": "2024-01-16T05:30:00Z",
"bet_slip_id": "slip_multiple_456",
"bet_slip_state": "settled",
"total_stake": 10000,
"total_odds": 6.25,
"leg_count": 3,
"is_live": false,
"is_free_bet": false,
"bonus_amount": 2000,
"is_each_way": false,
"bet_legs": [
{
"leg_id": "leg_001",
"odds": 1.8,
"event_name": "Flamengo vs. Palmeiras",
"selection_name": "Flamengo",
"leg_state": "won",
"result": "won",
"amount_won": 18000
},
{
"leg_id": "leg_002",
"odds": 2.1,
"event_name": "Santos vs. Corinthians",
"selection_name": "Sim",
"leg_state": "won",
"result": "won",
"amount_won": 37800
},
{
"leg_id": "leg_003",
"odds": 1.65,
"event_name": "Lakers vs. Warriors",
"selection_name": "Lakers",
"leg_state": "won",
"result": "won",
"amount_won": 62500
}
]
}'