B2B integration docs

Documentacao completa da API do agregador.

Portal de integracao da API api/partner/v1 da SharkGame, com exemplos reais por endpoint, busca rapida por rota, material pronto para Postman e especificacao OpenAPI para Swagger Editor.

Exemplos por endpointCada rota principal possui payload ou resposta de exemplo diretamente na pagina.
Busca e filtroPesquise por nome, metodo, path, categoria ou termo operacional.
OpenAPI + PostmanCollection, environment e especificacao OpenAPI no mesmo pacote.

Base URL

http://api.sharkgame.com.br/api/partner/v1

Fluxo recomendado

1. Validar token/status
2. Ler cassino/providers e /games
3. Fazer launch/launch
4. Ler sports/sports/status
5. Consultar feeds/sports/feed/*

Autenticacao e onboarding

Todos os endpoints usam o middleware de parceiro. O token deve pertencer a uma conta ativa no admin ou ao modo configurado da SharkGame.

Headers aceitos
Authorization: Bearer <partner-token>
X-Partner-Key: <partner-token>
Accept: application/json

Checklist

  1. criar o parceiro no painel admin
  2. gerar ou receber o token
  3. configurar callback_url quando houver retorno webhook
  4. confirmar modulo de cassino e provider esportivo ativos
  5. testar GET /api/partner/v1/status antes de integrar launch ou feeds

Busca de endpoints

Localize rapidamente qualquer rota por metodo, path, categoria, palavra-chave ou recurso funcional.

Pesquisar

Exemplos: launch, odds, catalog, POST, cassino.

Total: 0 Visiveis: 0

Envelope de resposta

O contrato externo e estavel. O conteudo de data pode variar conforme o provider e o endpoint chamado.

Sucesso padrao
{
  "success": true,
  "partner": {
    "id": 1,
    "name": "Partner API",
    "slug": "partner-api",
    "status": "active"
  },
  "data": {}
}
Erro padrao
{
  "success": false,
  "message": "Parceiro invalido ou inativo."
}

Cassino

Bloco principal do agregador para consulta de providers, jogos e criacao da URL de launch de um jogador externo.

GET/api/partner/v1/status

Status do parceiro

Valida o token e retorna partner, configuracao do cassino e provider esportivo ativo.

corehealthauth check
Ver exemplo de resposta
Response 200
{
  "success": true,
  "data": {
    "partner": {
      "id": 1,
      "name": "Partner API",
      "slug": "partner-api",
      "status": "active",
      "commission_percent": 20
    },
    "playfiver_configured": true,
    "sports_gateway": {
      "configured": true,
      "provider": "thesports"
    }
  }
}
GET/api/partner/v1/providers

Providers

Lista os providers de cassino disponiveis no agregador.

casinoproviders
Ver exemplo de resposta
Response 200
{
  "success": true,
  "partner": {
    "id": 1,
    "slug": "partner-api"
  },
  "data": {
    "list": [
      {
        "provider": "spribe",
        "provider_id": 1,
        "name": "Spribe"
      }
    ]
  }
}
GET/api/partner/v1/games?provider=1

Games

Lista o catalogo de jogos, com filtro opcional por provider.

casinogamesprovider integer
Ver exemplo de resposta
Response 200
{
  "success": true,
  "partner": {
    "id": 1,
    "slug": "partner-api"
  },
  "data": {
    "games": [
      {
        "game_code": "aviator",
        "provider": "spribe",
        "name": "Aviator",
        "enabled": true
      }
    ]
  }
}
POST/api/partner/v1/launch

Launch

Cria ou resolve o contexto do jogador e retorna os dados de launch do jogo no provider.

casinolaunchplayer context
Ver payload e resposta
Payload
{
  "external_player_id": "player-1001",
  "player_name": "Joao Silva",
  "player_email": "joao@partner.com",
  "player_balance": 250.75,
  "game_code": "aviator",
  "provider": "spribe",
  "game_original": true,
  "lang": "pt",
  "user_rtp": 96
}
Response 200
{
  "success": true,
  "partner": {
    "id": 1,
    "slug": "partner-api"
  },
  "data": {
    "launch": {
      "url": "https://provider.example/launch/session-123"
    },
    "partner_player": {
      "id": 10,
      "external_player_id": "player-1001",
      "internal_user_id": 55,
      "balance": 250.75
    }
  }
}

Sports

Os endpoints esportivos estao divididos em status, catalogo local, feeds de consumo e detalhes de eventos e odds do provider configurado.

GET/api/partner/v1/sports/status

Status esportivo

Retorna provider ativo, estado do modulo e capacidades publicadas.

sportsstatus
Ver exemplo
Response 200
{
  "success": true,
  "partner": {
    "id": 1,
    "name": "Partner API",
    "slug": "partner-api",
    "status": "active"
  },
  "data": {
    "provider": "thesports",
    "capabilities": [
      "leagues",
      "upcoming-events",
      "live-events",
      "event-odds"
    ]
  }
}
POST/api/partner/v1/sports/catalog/refresh

Refresh de catalogo

Atualiza o catalogo local administravel de ligas, paises, times e eventos.

sportscatalogrefresh
Ver payload e resposta
Payload
{
  "sport_id": 1,
  "import_leagues": true,
  "import_events": true
}
Response 200
{
  "success": true,
  "data": {
    "sport_id": 1,
    "import_leagues": true,
    "import_events": true,
    "message": "Refresh operacional iniciado."
  }
}
GET/api/partner/v1/sports/catalog/overview

Overview

Resumo estatistico do catalogo local pronto para consumo operacional.

sportscatalogoverview
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "sports_total": 1,
    "countries_total": 12,
    "leagues_total": 38,
    "teams_total": 740,
    "events_total": 520
  }
}
GET/api/partner/v1/sports/catalog/sports

Sports

Lista esportes do catalogo local com filtros de busca, ativo, pagina e volume.

sportscataloglist
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "id": 1,
        "name": "Futebol",
        "active": true
      }
    ],
    "meta": {
      "page": 1,
      "per_page": 50,
      "total": 1
    }
  }
}
GET/api/partner/v1/sports/catalog/countries

Countries

Lista paises disponiveis no catalogo local.

sportscatalogcountries
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "name": "Brazil",
        "active": true
      }
    ]
  }
}
GET/api/partner/v1/sports/catalog/leagues

Leagues

Lista ligas filtradas por esporte, pais, pagina e busca textual.

sportscatalogleagues
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "id": "league-1",
        "name": "Brasileirao Serie A",
        "country": "Brazil"
      }
    ]
  }
}
GET/api/partner/v1/sports/catalog/teams

Teams

Lista times com o mesmo padrao de filtros do catalogo local.

sportscatalogteams
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "id": "team-1",
        "name": "Flamengo",
        "country": "Brazil"
      }
    ]
  }
}
GET/api/partner/v1/sports/catalog/filters

Filters

Retorna opcoes dinamicas de filtros para source prematch ou live.

sportscatalogfilters
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "sports": ["1"],
    "countries": ["Brazil"],
    "leagues": ["league-1"],
    "teams": ["team-1"]
  }
}
GET/api/partner/v1/sports/feed/prematch

Prematch feed

Feed pronto para interface com filtros por esporte, liga, time, pais, datas e ordenacao.

sportsfeedprematch
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "event_id": "evt-1",
        "league_name": "Brasileirao Serie A",
        "home_name": "Flamengo",
        "away_name": "Palmeiras",
        "has_odds": true
      }
    ]
  }
}
GET/api/partner/v1/sports/feed/live

Live feed

Feed local de eventos ao vivo com a mesma estrutura de filtros do prematch.

sportsfeedlive
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "event_id": "evt-live-1",
        "home_name": "Corinthians",
        "away_name": "Santos",
        "score": "1-0",
        "minute": 63
      }
    ]
  }
}
GET/api/partner/v1/sports/leagues

Ligas do provider

Consulta direta de ligas no provider esportivo ativo.

sportsproviderleagues
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "provider": "thesports",
    "results": [
      {
        "league_id": "league-1",
        "league_name": "Brasileirao Serie A"
      }
    ]
  }
}
GET/api/partner/v1/sports/events/upcoming

Agenda futura

Lista eventos futuros do provider com pagina opcional.

sportseventsupcoming
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "event_id": "evt-100",
        "home_name": "Flamengo",
        "away_name": "Palmeiras",
        "starts_at": "2026-05-16T21:00:00Z"
      }
    ]
  }
}
GET/api/partner/v1/sports/events/live

Eventos ao vivo

Lista os eventos live disponiveis para o esporte informado.

sportseventslive
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "event_id": "evt-live-1",
        "home_name": "Corinthians",
        "away_name": "Santos",
        "score": "1-0"
      }
    ]
  }
}
GET/api/partner/v1/sports/events/live/{eventId}

Detalhe live

Detalha um evento live especifico.

sportseventsdetail
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "event_id": "evt-live-1",
    "home_name": "Corinthians",
    "away_name": "Santos",
    "minute": 63,
    "score": "1-0"
  }
}
GET/api/partner/v1/sports/events/ended

Eventos encerrados

Consulta historico encerrado por esporte, dia e pagina.

sportseventsended
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "results": [
      {
        "event_id": "evt-ended-1",
        "home_name": "Team A",
        "away_name": "Team B",
        "score": "2-1"
      }
    ]
  }
}
GET/api/partner/v1/sports/events/{eventId}/odds

Odds pre-match

Retorna as odds do evento solicitado.

sportsoddsprematch
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "event_id": "evt-100",
    "markets": [
      {
        "name": "1X2",
        "odds": [
          {"label": "Home", "value": 1.95},
          {"label": "Draw", "value": 3.2},
          {"label": "Away", "value": 4.1}
        ]
      }
    ]
  }
}
GET/api/partner/v1/sports/events/{eventId}/odds/live

Odds live

Retorna as odds ao vivo do evento solicitado.

sportsoddslive
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "event_id": "evt-live-1",
    "markets": [
      {
        "name": "Next Goal",
        "odds": [
          {"label": "Home", "value": 2.25},
          {"label": "Away", "value": 3.8}
        ]
      }
    ]
  }
}
GET/api/partner/v1/sports/events/{eventId}/lineup

Lineup

Escalacao e informacoes complementares de lineup.

sportslineup
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "home": ["Player 1", "Player 2"],
    "away": ["Player A", "Player B"]
  }
}
GET/api/partner/v1/sports/events/{eventId}/stats-trend

Stats trend

Estatisticas e tendencia do evento.

sportsstatstrend
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "possession_home": 58,
    "shots_on_target_home": 4,
    "shots_on_target_away": 2
  }
}
GET/api/partner/v1/sports/events/{eventId}/result

Resultado

Resultado final consolidado do evento.

sportsresult
Ver exemplo
Response 200
{
  "success": true,
  "data": {
    "event_id": "evt-ended-1",
    "home_score": 2,
    "away_score": 1,
    "winner": "home"
  }
}

Status e erros comuns

Os codigos abaixo representam o comportamento esperado para autenticacao, validacao e falhas do provider.

200Sucesso com envelope success: true.
401Token ausente, invalido ou parceiro inativo.
422Payload ou query params invalidos.
404Evento ou resultado nao encontrado.
500Erro interno de aplicacao.
502Falha ao consultar o provider esportivo.

Arquivos do pacote

Importe a collection e o environment abaixo no Postman ou use a especificacao OpenAPI em qualquer viewer Swagger compativel.

READMEGuia textual completo de onboarding, contratos e fluxo recomendado.Abrir README.md
Postman CollectionCollection com core, cassino, catalogo sports, feeds e eventos.Baixar collection
Postman EnvironmentEnvironment com baseUrl, partnerToken, eventId e variaveis de launch.Baixar environment
OpenAPI / SwaggerEspecificacao OpenAPI 3.0 para Swagger Editor, Redoc e geradores de cliente.Abrir openapi.json

Observacoes operacionais

Alguns pontos importantes para integracao em homologacao e producao.

A callback_url do parceiro nao e cadastrada por endpoint publico desta API. Ela deve ser definida no painel admin da SharkGame ou no painel do proprio parceiro no agregador.

O envelope externo da resposta permanece estavel, mas o payload de data e provider_response pode variar conforme o provider esportivo configurado no ambiente.