Carregando, Aguarde...
Início Register Login
📘 Documentação oficial · Atualizada em 03/08/2026

Integração FiverGames API

Referência completa para autenticar agentes, consultar o catálogo, criar usuários, administrar saldos, lançar jogos e consultar o GGR na plataforma FiverGames.

27 Providers Catálogo unificado de jogos ativos
6 Operações Métodos principais documentados
IP Whitelist Proteção obrigatória em toda requisição

Base da API

Envie todas as requisições em JSON por meio do método HTTP POST.

POST https://api.fivergames.com
Item Valor
Content-Type application/json
Método HTTP POST
Codificação UTF-8
Atenção: o campo method é sensível a maiúsculas e minúsculas. Envie exatamente os valores em letras minúsculas mostrados nesta página.
Formato monetário: todos os saldos, apostas e ganhos são informados na unidade decimal da moeda, nunca em centavos inteiros. Em BRL, 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.
Corpo mínimo da requisição
{
  "agent_code": "AGENT001",
  "agent_token": "TOKEN_SECRETO",
  "method": "provider_list"
}
Regras de acesso: antes de executar qualquer método, a API confirma as credenciais, exige que o agente esteja ativo e verifica se o IP de origem está ativo e autorizado na whitelist do agente.

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."
    ]
  }
}
O campo status não substitui o status HTTP. Sempre trate os dois valores: respostas de erro podem usar 401, 403, 404, 409, 422, 500 ou 502.

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
PGSOFTPG SoftAtivo
PRAGMATICPragmatic PlayAtivo
EZUGIEZUGIAtivo
FIVERGAMESFiverGames OriginalsAtivo
PLAYNGOPlay'n GOAtivo
EGTEGTAtivo
ISOFTBETiSoftBetAtivo
GAMOMATGamomatAtivo
PLAYTECHPlaytechAtivo
AMATICAmaticAtivo
ARISTOCRATAristocratAtivo
CTECHNOLOGYC-TechnologyAtivo
GREENTUBEGreentubeAtivo
IGROSOFTIgrosoftAtivo
NETENTNetEntAtivo
NOVOMATICNovomaticAtivo
SKYWINDSkywindAtivo
MAINAMAMainamaAtivo
KAGAMINGKa-GamingAtivo
VPOWERVPower GamingAtivo
WAZDANWazdanAtivo
VISIONVisionAtivo
PLAYGTPlayGTAtivo
CQ9CQ9 GamingAtivo
GDGAMESGD GamesAtivo
BETSOFTBetSoftAtivo
NETGAMENetGameAtivo

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.
A resposta contém apenas jogos ativos, remove duplicidades pelo game_code, prioriza a integração principal de cada jogo e ordena o catálogo por nome.
Requisição
{
  "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.
O user_code aceita apenas letras, números, ponto, sublinhado e hífen. A verificação de duplicidade não diferencia letras maiúsculas de minúsculas.
Utilize pelo menos três caracteres no identificador. Por exemplo, prefira "u01" em vez de "u1" para que o mesmo código possa ser criado e posteriormente utilizado no game_launch.
O saldo inicial é descontado do agente. Se o agente não tiver saldo suficiente, o usuário não será criado.
Requisição
{
  "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.
Quando all_users for verdadeiro, essa consulta tem prioridade e user_code é ignorado.

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.
Regra do balance: envie o saldo total desejado, não o valor do depósito. A API transfere do agente apenas a diferença positiva entre o valor enviado e o saldo atual do usuário.
Tipos obrigatórios: envie game_code como string JSON, mesmo quando o identificador possuir somente números. Use "126", e não 126. Envie também balance e currency em toda solicitação de lançamento.
Agentes Seamless: os parâmetros obrigatórios do game_launch permanecem os mesmos. A validação ocorre antes da criação da sessão e dos fluxos posteriores; se algum parâmetro for inválido, nenhuma chamada será enviada ao Site Endpoint configurado.
O usuário deve ter sido criado anteriormente e estar ativo. Um código curto como "u1" só pode ser usado no game_launch se já existir; o método user_create exige de 3 a 100 caracteres.
Lobby: o game_launch exige um game_code ativo retornado pelo game_list. Não envie uma solicitação genérica de lobby sem game_code.
  • 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.
Requisição
{
  "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.
Sem date_from e date_to, a API consulta somente o dia atual. O período máximo permitido é de 366 dias, incluindo as datas inicial e final.
Fórmulas: GGR = total apostado − total ganho pelos jogadores; wallet_net = total ganho − total apostado; margem = (GGR ÷ total apostado) × 100.
Valores de moedas diferentes nunca são somados. Os resumos são agrupados por moeda, e o detalhamento por provedor também preserva essa separação.
Requisição com todos os filtros
{
  "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.
Todos esses métodos ainda exigem credenciais válidas, agente ativo e IP autorizado.
Resposta de user_deposit
{
  "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.
Para erros temporários de sincronização, aguarde o número de segundos informado em retry_after antes de repetir o game_launch.
🚀

Pronto para integrar?

Acesse seu painel, copie suas credenciais e comece a usar a API FiverGames.