Base da API
Envie todas as requisições em JSON por meio do método HTTP POST.
| Item | Valor |
|---|---|
| Content-Type | application/json |
| Método HTTP | POST |
| Codificação | UTF-8 |
1.00 representa R$ 1,00 e 10.50 representa R$ 10,50.
Autenticação e whitelist de IP
Os três campos abaixo são obrigatórios em todas as operações da API.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
agent_code |
string | Sim | Código do agente cadastrado na FiverGames. |
agent_token |
string | Sim | Token secreto vinculado ao agente. |
method |
string | Sim | Nome exato da operação que será executada. |
{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "provider_list"
}
O IP é identificado pelos cabeçalhos do Cloudflare ou proxy reverso e, por último, pelo endereço da conexão.
Nunca exponha o agent_token no navegador, em aplicativos públicos ou em repositórios de código.
Formato das respostas
Todas as respostas usam JSON. O campo status indica o resultado lógico da operação.
Resposta de sucesso{
"status": 1,
"msg": "SUCCESS"
}
Resposta de erro
{
"status": 0,
"msg": "INVALID_PARAMETER",
"message": "Existem parâmetros inválidos.",
"errors": {
"campo": [
"Mensagem de validação."
]
}
}
Provider List
Retorna todos os provedores públicos disponíveis para o agente.
method: provider_list Requisição{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "provider_list"
}
Resposta abreviada
{
"status": 1,
"msg": "SUCCESS",
"providers": [
{
"code": "PGSOFT",
"name": "PG Soft",
"status": 1
},
{
"code": "PRAGMATIC",
"name": "Pragmatic Play",
"status": 1
}
]
}
Códigos de provedores
| provider_code | Nome | Status |
|---|---|---|
PGSOFT | PG Soft | Ativo |
PRAGMATIC | Pragmatic Play | Ativo |
EZUGI | EZUGI | Ativo |
FIVERGAMES | FiverGames Originals | Ativo |
PLAYNGO | Play'n GO | Ativo |
EGT | EGT | Ativo |
ISOFTBET | iSoftBet | Ativo |
GAMOMAT | Gamomat | Ativo |
PLAYTECH | Playtech | Ativo |
AMATIC | Amatic | Ativo |
ARISTOCRAT | Aristocrat | Ativo |
CTECHNOLOGY | C-Technology | Ativo |
GREENTUBE | Greentube | Ativo |
IGROSOFT | Igrosoft | Ativo |
NETENT | NetEnt | Ativo |
NOVOMATIC | Novomatic | Ativo |
SKYWIND | Skywind | Ativo |
MAINAMA | Mainama | Ativo |
KAGAMING | Ka-Gaming | Ativo |
VPOWER | VPower Gaming | Ativo |
WAZDAN | Wazdan | Ativo |
VISION | Vision | Ativo |
PLAYGT | PlayGT | Ativo |
CQ9 | CQ9 Gaming | Ativo |
GDGAMES | GD Games | Ativo |
BETSOFT | BetSoft | Ativo |
NETGAME | NetGame | Ativo |
Game List
Retorna o catálogo ativo de um provedor específico.
method: game_list| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
provider_code |
string | Sim | Código retornado pelo método provider_list. O valor é normalizado para letras maiúsculas. |
{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "game_list",
"provider_code": "PGSOFT"
}
Resposta
{
"status": 1,
"msg": "SUCCESS",
"provider_code": "PGSOFT",
"provider_name": "PG Soft",
"total": 1,
"games": [
{
"game_code": "126",
"game_name": "Fortune Tiger",
"banner": "https://cdn.exemplo.com/fortune-tiger.png",
"status": 1
}
]
}
User Create
Cria um usuário vinculado ao agente e transfere o saldo inicial informado.
method: user_create| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
user_code |
string | Sim | Identificador único por agente, com 3 a 100 caracteres. |
balance |
number | Sim | Saldo inicial maior ou igual a zero, arredondado para duas casas decimais. |
currency |
string | Não | Código monetário de três letras. O padrão é BRL. |
cur |
string | Não | Alias legado de currency, usado somente quando currency não for enviado. |
{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "user_create",
"user_code": "user123",
"balance": 20.00,
"currency": "BRL"
}
Resposta
{
"status": 1,
"msg": "SUCCESS",
"user_code": "user123",
"user_balance": 20.00,
"currency": "BRL",
"agent_balance": 980.00
}
Money Info
Consulta o saldo do agente, de um usuário específico ou de todos os usuários do agente.
method: money_info| Consulta | Parâmetros adicionais | Resultado |
|---|---|---|
| Somente agente | Nenhum | Retorna o código e o saldo do agente. |
| Usuário específico | user_code |
Retorna o agente e o usuário, incluindo saldo e moeda. |
| Todos os usuários | all_users: true |
Retorna o agente e a lista de usuários ordenada por user_code. |
Saldo do agente
Requisição{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "money_info"
}
Resposta
{
"status": 1,
"msg": "SUCCESS",
"agent": {
"agent_code": "AGENT001",
"balance": 1000.00
}
}
Saldo de um usuário
Requisição{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "money_info",
"user_code": "user123"
}
Resposta
{
"status": 1,
"msg": "SUCCESS",
"agent": {
"agent_code": "AGENT001",
"balance": 1000.00
},
"user": {
"user_code": "user123",
"balance": 20.00,
"currency": "BRL"
}
}
Saldo de todos os usuários
Requisição{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "money_info",
"all_users": true
}
Resposta
{
"status": 1,
"msg": "SUCCESS",
"agent": {
"agent_code": "AGENT001",
"balance": 1000.00
},
"user_list": [
{
"user_code": "user123",
"balance": 20.00,
"currency": "BRL"
}
]
}
Game Launch
Cria uma sessão válida por uma hora, ajusta o saldo do usuário e retorna a URL do jogo.
method: game_launch| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
user_code |
string | Sim | Usuário existente e ativo do agente, com até 255 caracteres. |
game_code |
string | Sim | Código retornado pelo método game_list, com até 255 caracteres. |
provider_code |
string | Sim | Provedor ao qual o jogo pertence, com até 50 caracteres. |
balance |
number | Sim | Saldo total que o usuário deverá possuir, maior ou igual a zero. |
currency |
string | Condicional | Campo oficial. Obrigatório quando cur não for enviado; use três letras, como BRL, USD ou PYG. |
cur |
string | Condicional | Alias legado que pode substituir currency. |
language |
string | Não | Idioma do jogo com até 10 caracteres. O padrão é pt. |
lang |
string | Não | Alias de language. É usado quando language não for enviado. |
- Se o saldo enviado for igual ao saldo atual, nenhuma transferência será feita.
- Se for maior, somente a diferença será descontada do agente.
- Se for menor, a API retorna BALANCE_BELOW_CURRENT_USER_BALANCE e não reduz o saldo existente.
- Se o provedor falhar antes de entregar a URL, a transferência, a moeda e a sessão são estornadas automaticamente.
{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "game_launch",
"provider_code": "PGSOFT",
"user_code": "user123",
"game_code": "126",
"balance": 50.00,
"currency": "BRL",
"language": "pt"
}
Resposta
{
"status": 1,
"msg": "SUCCESS",
"provider": "PGSOFT",
"game_code": "126",
"currency": "BRL",
"language": "pt",
"launch_url": "https://api.fivergames.com/...",
"user_balance": 50.00,
"agent_balance": 950.00
}
Game Log e GGR
Retorna o histórico paginado de transações e calcula o GGR do agente autenticado. Esta operação é somente para consulta e não movimenta saldos.
method: get_game_log| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
date_from |
string | Não | Data inicial no formato YYYY-MM-DD. O padrão é a data atual. |
date_to |
string | Não | Data final inclusiva no formato YYYY-MM-DD. O padrão é a data atual. |
provider_code |
string | Não | Filtra por um provedor ativo, com até 50 caracteres. |
user_code |
string | Não | Filtra pelo usuário do agente, sem diferenciar maiúsculas e minúsculas. |
game_code |
string | Não | Filtra pelo código do jogo, sem diferenciar maiúsculas e minúsculas. |
currency |
string | Não | Filtra por um código monetário de três letras. |
page |
integer | Não | Página maior ou igual a 1. O padrão é 1. |
limit |
integer | Não | Registros por página, de 1 a 200. O padrão é 50. |
{
"agent_code": "AGENT001",
"agent_token": "TOKEN_SECRETO",
"method": "get_game_log",
"date_from": "2026-08-01",
"date_to": "2026-08-03",
"provider_code": "PGSOFT",
"user_code": "user123",
"game_code": "126",
"currency": "BRL",
"page": 1,
"limit": 50
}
Resposta abreviada
{
"status": 1,
"msg": "SUCCESS",
"formula": {
"ggr": "total_bet - total_win",
"wallet_net": "total_win - total_bet",
"margin_percent": "(ggr / total_bet) * 100"
},
"filters": {
"agent_code": "AGENT001",
"provider_code": "PGSOFT",
"user_code": "user123",
"game_code": "126",
"currency": "BRL",
"date_from": "2026-08-01",
"date_to": "2026-08-03"
},
"summary": [
{
"currency": "BRL",
"transaction_count": 8,
"total_bet": 3.20,
"total_win": 0.40,
"ggr": 2.80,
"ggr_margin_percent": 87.5,
"wallet_net": -2.80
}
],
"ggr_by_provider": [
{
"provider_code": "PGSOFT",
"currency": "BRL",
"transaction_count": 8,
"total_bet": 3.20,
"total_win": 0.40,
"ggr": 2.80,
"ggr_margin_percent": 87.5,
"wallet_net": -2.80
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 8,
"last_page": 1,
"has_more": false
},
"data": [
{
"id": 1001,
"agent_code": "AGENT001",
"user_code": "user123",
"provider_code": "PGSOFT",
"currency": "BRL",
"game_code": "126",
"type": "bet",
"bet": 0.40,
"win": 0.00,
"txn_id": "TXN-EXAMPLE-001",
"txn_type": "BET",
"agent_start_balance": 950.00,
"agent_end_balance": 950.40,
"user_start_balance": 50.00,
"user_end_balance": 49.60,
"created_at": "2026-08-03T18:30:00-03:00"
}
]
}
Métodos de compatibilidade
Estes métodos permanecem reconhecidos pela API, mas não realizam movimentações diretas.
| Método | HTTP | Retorno atual |
|---|---|---|
user_deposit |
422 | METHOD_NOT_SUPPORTED. Use o saldo total informado no game_launch. |
user_withdraw |
422 | METHOD_NOT_SUPPORTED. Use o fluxo de encerramento e callbacks. |
user_withdraw_reset |
200 | Retorna SUCCESS sem dados adicionais. |
{
"status": 0,
"msg": "METHOD_NOT_SUPPORTED",
"message": "Depósito direto não é suportado. Utilize o saldo informado no game_launch."
}
Resposta de user_withdraw
{
"status": 0,
"msg": "METHOD_NOT_SUPPORTED",
"message": "Saque direto não é suportado. Utilize o fluxo de encerramento e callbacks."
}
Resposta de user_withdraw_reset
{
"status": 1,
"msg": "SUCCESS"
}
Códigos de erro e status HTTP
Use o campo msg como código estável para tratar erros na sua integração.
| Código | HTTP | Significado |
|---|---|---|
INVALID_METHOD |
422 | O method não foi enviado ou não é suportado. |
INVALID_AGENT_CREDENTIALS |
422 | agent_code ou agent_token não foi enviado. |
INVALID_AGENT |
401 | Agente não encontrado ou token inválido. |
BLOCKED_AGENT |
403 | O agente está inativo ou bloqueado. |
INVALID_CLIENT_IP |
403 | Não foi possível identificar um IP válido. |
IP_NOT_AUTHORIZED |
403 | O IP de origem não está na whitelist do agente. |
IP_BLOCKED |
403 | O IP cadastrado está bloqueado ou inativo. |
INVALID_PARAMETER |
422 | Um ou mais parâmetros não passaram pela validação. |
INVALID_DATE |
422 | Uma das datas informadas é inválida. |
INVALID_DATE_RANGE |
422 | date_from é posterior a date_to. |
DATE_RANGE_TOO_LARGE |
422 | O período solicitado ultrapassa o máximo de 366 dias. |
INVALID_PROVIDER |
422 | Provedor inválido, inativo ou não implementado. |
INVALID_GAME |
404 | Jogo inexistente, inativo ou pertencente a outro provedor. |
INVALID_USER |
404 | Usuário não encontrado para o agente. |
USER_BLOCKED |
403 | O usuário está inativo ou bloqueado. |
DUPLICATED_USER |
409 | Já existe um usuário com esse código para o agente. |
INSUFFICIENT_AGENT_FUNDS |
422 | O agente não possui saldo suficiente. |
BALANCE_BELOW_CURRENT_USER_BALANCE |
409 | O balance enviado é menor que o saldo atual do usuário. |
BALANCE_OPERATION_FAILED |
422 / 500 | Não foi possível processar ou reservar o saldo. |
WALLET_SYNC_PENDING |
409 | A sessão anterior ainda está sincronizando. Respeite retry_after e tente novamente. |
PROVIDER_CONFIGURATION_ERROR |
422 | A integração do provedor não está configurada corretamente. |
LAUNCH_FAILED |
422 / 502 | O provedor não conseguiu iniciar o jogo ou gerar a URL. |
USER_CREATE_FAILED |
422 / 500 | Não foi possível criar o usuário. |
METHOD_NOT_SUPPORTED |
422 | O método é reconhecido, mas a operação direta não é suportada. |
INTERNAL_ERROR |
500 | Ocorreu um erro interno ao processar a solicitação. |