Documentação da APIReferência

Referência

API iGameChat

Esta documentação cobre todos os endpoints da plataforma iGameChat. Use a API v1 para integrações externas autenticadas por token, e a API do Widget para os endpoints utilizados pelo widget embarcado nas plataformas parceiras.

Base URL

https://www.igamechat.com.br

Versão

v1.0

Formato

JSON

Autenticação

A API v1 requer autenticação via token. Os tokens são gerados no painel administrativo (seção Empresa → API) e são escopados por brand — ou seja, um token gerado para a brand 9d só acessa dados dessa brand.

Header de autenticação

Inclua o token em todas as requisições à API v1 via header Authorization ou X-API-Key:

Opção 1 — Bearer Token

Authorization: Bearer igc_brand_...

Opção 2 — API Key

X-API-Key: igc_brand_...

⚠️ Segurança

Nunca exponha tokens de API no lado do cliente (JavaScript do browser). Use sempre em código server-side. O token é exibido apenas uma vez na criação — salve-o com segurança.

Exemplo completo

bash
# Usando Authorization: Bearer
curl https://www.igamechat.com.br/api/v1/rankings/messages \
  -H "Authorization: Bearer igc_9d_abc123def456..."

# Usando X-API-Key
curl https://www.igamechat.com.br/api/v1/campaigns \
  -H "X-API-Key: igc_9d_abc123def456..."

API v1

Token

Endpoints para integrações externas. Requerem API Token gerado no painel administrativo.

GET/api/v1/check-user/{extUserId}

Verificar usuário

Verifica se um usuário existe na plataforma a partir do ID externo (extSmartico). Retorna dados básicos do perfil como username, avatar e o ID externo.

API Token
extUserIdpathintegerobrigatório

ID externo do usuário (extSmartico)

Exemplo: 12345

Exemplo de requisição

bash
curl https://www.igamechat.com.br/api/v1/check-user/12345 \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/campaigns

Listar campanhas

Lista as campanhas (enquetes) da brand associada ao token. Pode filtrar por status e paginar os resultados.

API Token
statusquerystring

Filtrar por status: `active` (ativas) ou `archived` (arquivadas). Omitir retorna todas.

Exemplo: active

limitqueryinteger

Número máximo de resultados (padrão: 50, máximo: 200)

Exemplo: 20

offsetqueryinteger

Número de registros a ignorar para paginação (padrão: 0)

Exemplo: 0

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/v1/campaigns?status=active&limit=10" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/campaigns/active/current

Campanha ativa atual

Retorna a campanha (enquete) ativa no momento para a brand. Útil para exibir a enquete em andamento em interfaces externas.

API Token

Exemplo de requisição

bash
curl https://www.igamechat.com.br/api/v1/campaigns/active/current \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/campaigns/{id}

Buscar campanha por ID

Retorna os dados completos de uma campanha específica da brand.

API Token
idpathstring (UUID)obrigatório

ID único da campanha

Exemplo: 550e8400-e29b-41d4-a716-446655440000

Exemplo de requisição

bash
curl https://www.igamechat.com.br/api/v1/campaigns/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/campaigns/{id}/winners

Vencedores da campanha

Lista todos os usuários que acertaram a resposta de uma campanha finalizada, em ordem cronológica (primeiro a acertar primeiro).

API Token
idpathstring (UUID)obrigatório

ID da campanha

Exemplo: 550e8400-e29b-41d4-a716-446655440000

Exemplo de requisição

bash
curl https://www.igamechat.com.br/api/v1/campaigns/camp-uuid/winners \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/messages

Ranking por mensagens

Retorna o ranking dos usuários que mais enviaram mensagens na comunidade, ordenado de forma decrescente.

API Token
limitqueryinteger

Máximo de resultados (padrão: 50, máximo: 200)

Exemplo: 10

offsetqueryinteger

Offset para paginação

Exemplo: 0

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/v1/rankings/messages?limit=10" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/campaign-winners

Ranking de vencedores de enquetes

Retorna o ranking de usuários com mais acertos em campanhas (enquetes), agrupado por usuário.

API Token
limitqueryinteger

Máximo de resultados (padrão: 50, máximo: 200)

Exemplo: 10

offsetqueryinteger

Offset para paginação

Exemplo: 0

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/v1/rankings/campaign-winners?limit=10" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/daily-logins

Logins diários

Lista os registros de login diário dos usuários. Pode filtrar por data específica.

API Token
datequerystring

Data no formato `YYYY-MM-DD`. Omitir retorna todos os registros.

Exemplo: 2025-04-28

limitqueryinteger

Máximo de resultados (padrão: 50, máximo: 200)

Exemplo: 50

offsetqueryinteger

Offset para paginação

Exemplo: 0

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/v1/rankings/daily-logins?date=2025-04-28&limit=50" \
  -H "Authorization: Bearer igc_9d_abc123..."

API do Widget

Público

Endpoints utilizados pelo widget de chat embarcado. Não requerem autenticação externa.

GET/api/check-user/{extUserId}

Verificar usuário (widget)

Verifica se um usuário existe pelo ID externo. Usado pelo widget para saber se o usuário já se registrou na comunidade.

Público
extUserIdpathintegerobrigatório

ID externo do usuário

Exemplo: 12345

brandquerystring

Slug da brand (inferido automaticamente em contextos com widget configurado)

Exemplo: 9d

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/check-user/12345?brand=9d"
GET/api/avatars

Listar avatars

Retorna a lista de avatars disponíveis para os usuários escolherem no perfil.

Público

Exemplo de requisição

bash
curl https://www.igamechat.com.br/api/avatars
POST/api/change-avatar

Alterar avatar

Atualiza o avatar do usuário.

Público

Exemplo de requisição

bash
curl -X POST https://www.igamechat.com.br/api/change-avatar \
  -H "Content-Type: application/json" \
  -d '{"extUserId": 12345, "avatar": "Girl 03.png"}'
POST/api/change-username

Alterar nome de usuário

Atualiza o username de exibição do usuário na comunidade.

Público

Exemplo de requisição

bash
curl -X POST https://www.igamechat.com.br/api/change-username \
  -H "Content-Type: application/json" \
  -d '{"extUserId": 12345, "newUsername": "joao_novo"}'
GET/api/brand-config/{brand}

Configuração da brand

Retorna a configuração de features e visual da brand, usada pelo widget para se adaptar ao tema da plataforma.

Público
brandpathstringobrigatório

Slug da brand

Exemplo: 9d

Exemplo de requisição

bash
curl https://www.igamechat.com.br/api/brand-config/9d

Rankings & Métricas

Endpoints públicos para exibir rankings de usuários e métricas de uso da comunidade.

GET/api/rankings/messages

Ranking de mensagens

Retorna os usuários que mais enviaram mensagens na comunidade.

Público
brandquerystring

Slug da brand

Exemplo: 9d

limitquerynumber

Máximo de resultados (padrão 20, máximo 100)

Exemplo: 20

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/messages?brand=9d&limit=10"
GET/api/rankings/campaign-responses

Ranking de participações em campanhas

Retorna os usuários que mais participaram de campanhas (total de respostas).

Público
brandquerystring

Slug da brand

Exemplo: 9d

limitquerynumber

Máximo de resultados (padrão 20, máximo 100)

Exemplo: 20

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/campaign-responses?brand=9d"
GET/api/rankings/campaign-winners

Ranking de acertos em campanhas

Retorna os usuários com mais respostas corretas em campanhas.

Público
brandquerystring

Slug da brand

Exemplo: 9d

limitquerynumber

Máximo de resultados (padrão 20, máximo 100)

Exemplo: 20

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/campaign-winners?brand=9d"
GET/api/rankings/devices

Distribuição de dispositivos

Retorna a contagem de usuários por tipo de dispositivo (iOS, Android, Desktop).

Público
brandquerystring

Slug da brand

Exemplo: 9d

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/devices?brand=9d"
GET/api/rankings/daily-logins

Logins por dia

Retorna a quantidade de logins únicos por dia para os últimos N dias.

Público
brandquerystring

Slug da brand

Exemplo: 9d

daysquerynumber

Número de dias (padrão 30, máximo 365)

Exemplo: 30

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/daily-logins?brand=9d&days=7"
GET/api/rankings/daily-logins-hourly

Logins por hora (dia específico)

Retorna a quantidade de logins por hora em um dia específico. Sempre retorna 24 elementos (hora 0–23).

Público
brandquerystring

Slug da brand

Exemplo: 9d

datequerystringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-01-10

utcOffsetquerynumber

Offset de fuso horário em horas (ex: -3 para BRT)

Exemplo: -3

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/daily-logins-hourly?brand=9d&date=2025-01-10&utcOffset=-3"
GET/api/rankings/daily-messages

Mensagens por dia

Retorna a quantidade de mensagens enviadas por dia.

Público
brandquerystring

Slug da brand

Exemplo: 9d

daysquerynumber

Número de dias (padrão 90)

Exemplo: 30

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/daily-messages?brand=9d&days=30"
GET/api/rankings/daily-messages-hourly

Mensagens por hora (dia específico)

Retorna a quantidade de mensagens por hora em um dia específico. Sempre retorna 24 elementos (hora 0–23).

Público
brandquerystring

Slug da brand

Exemplo: 9d

datequerystringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-01-10

utcOffsetquerynumber

Offset de fuso horário em horas (ex: -3 para BRT)

Exemplo: -3

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/daily-messages-hourly?brand=9d&date=2025-01-10&utcOffset=-3"
GET/api/rankings/daily-logins/{date}

Usuários que logaram em um dia

Retorna a lista de usuários que fizeram login em uma data específica.

Público
datepathstringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-01-10

brandquerystring

Slug da brand

Exemplo: 9d

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/rankings/daily-logins/2025-01-10?brand=9d"

Campanhas

Endpoints para listar campanhas, consultar vencedores, respostas e resultados de enquetes.

GET/api/campaigns

Listar campanhas

Retorna a lista de campanhas com suporte a filtros de brand, status e paginação.

Público
brandquerystring

Slug da brand

Exemplo: 9d

statusquerystring

Filtro de status: active | ended | archived

Exemplo: active

limitquerynumber

Itens por página (padrão 20)

Exemplo: 20

offsetquerynumber

Offset para paginação

Exemplo: 0

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/campaigns?brand=9d&status=active"
GET/api/campaigns/active/current

Campanha ativa atual

Retorna a campanha ativa no momento para a brand informada.

Público
brandquerystring

Slug da brand

Exemplo: 9d

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/campaigns/active/current?brand=9d"
GET/api/campaigns/{id}

Buscar campanha por ID

Retorna os detalhes completos de uma campanha específica.

Público
idpathstringobrigatório

ID da campanha

Exemplo: cm_abc123

brandquerystring

Slug da brand

Exemplo: 9d

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/campaigns/cm_abc123"
GET/api/campaigns/{id}/winners

Vencedores da campanha

Retorna a lista de usuários que venceram (acertaram) a campanha.

Público
idpathstringobrigatório

ID da campanha

Exemplo: cm_abc123

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/campaigns/cm_abc123/winners"
GET/api/campaigns/{id}/responses

Respostas da campanha

Retorna todas as respostas enviadas para uma campanha.

Público
idpathstringobrigatório

ID da campanha

Exemplo: cm_abc123

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/campaigns/cm_abc123/responses"
GET/api/campaigns/{id}/poll-results

Resultados de enquete

Retorna os resultados agregados de uma campanha do tipo enquete (poll), com percentuais e votos por opção.

Público
idpathstringobrigatório

ID da campanha (deve ser do tipo poll)

Exemplo: cm_abc123

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/campaigns/cm_abc123/poll-results"
GET/api/campaigns/{id}/bonifications

Listar bonificações

Retorna os usuários que foram bonificados em uma campanha.

Público
idpathstringobrigatório

ID da campanha

Exemplo: cm_abc123

Exemplo de requisição

bash
curl "https://www.igamechat.com.br/api/campaigns/cm_abc123/bonifications"

Erros

Todos os erros retornam um objeto JSON com o campo error descrevendo o problema.

CódigoSignificadoCausa comum
400Bad RequestParâmetro obrigatório ausente ou com formato inválido
401UnauthorizedToken ausente, inválido ou revogado
403ForbiddenToken válido mas sem permissão para o recurso
404Not FoundRecurso não encontrado ou não pertence à brand do token
500Internal Server ErrorErro inesperado no servidor. Contate o suporte.

Exemplo de resposta de erro

json
{
  "error": "Token inválido ou revogado"
}