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://igamechat.com

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://igamechat.com/api/v1/rankings/messages \
  -H "Authorization: Bearer igc_9d_abc123def456..."

# Usando X-API-Key
curl https://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/api/v1/rankings/daily-logins?date=2025-04-28&limit=50" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/campaign-responses

Ranking de participações

Retorna o ranking de usuários por total de participações em campanhas.

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://igamechat.com/api/v1/rankings/campaign-responses?limit=10" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/devices

Distribuição de dispositivos

Quebra de dispositivos dos últimos 30 dias (iOS, Android, Desktop, Unknown).

API Token

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/rankings/devices" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/daily-logins/hourly

Logins por hora

Distribuição de logins por hora do dia (24 buckets). Retorna sempre 24 elementos.

API Token
datequerystringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-04-28

utcOffsetqueryinteger

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

Exemplo: -3

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/rankings/daily-logins/hourly?date=2025-04-28&utcOffset=-3" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/daily-logins/by-date/{date}

Usuários que logaram em um dia

Lista os usuários que fizeram login em uma data específica.

API Token
datepathstringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-04-28

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/rankings/daily-logins/by-date/2025-04-28" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/daily-messages

Mensagens por dia

Contagem de mensagens por dia nos últimos N dias.

API Token
daysqueryinteger

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

Exemplo: 30

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/rankings/daily-messages?days=30" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/daily-messages/hourly

Mensagens por hora

Distribuição de mensagens por hora do dia (24 buckets).

API Token
datequerystringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-04-28

utcOffsetqueryinteger

Offset de fuso horário em horas

Exemplo: -3

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/rankings/daily-messages/hourly?date=2025-04-28" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/messages/hourly-users

Top mensageadores por hora

Usuários que mais mandaram mensagem em uma hora específica.

API Token
datequerystringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-04-28

hourqueryintegerobrigatório

Hora (0-23)

Exemplo: 14

utcOffsetqueryinteger

Offset de fuso horário

Exemplo: -3

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/rankings/messages/hourly-users?date=2025-04-28&hour=14" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/rankings/logins/hourly-users

Usuários que logaram por hora

Usuários que fizeram login em uma hora específica.

API Token
datequerystringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-04-28

hourqueryintegerobrigatório

Hora (0-23)

Exemplo: 14

utcOffsetqueryinteger

Offset de fuso horário

Exemplo: -3

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/rankings/logins/hourly-users?date=2025-04-28&hour=14" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/promotion-coins

Configuração de pontos de promoção

Retorna a configuração de pontos de promoção da brand (shareBetwin, promotionWin, promotionQuest).

API Token

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/promotion-coins" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/activities

Relatório de atividades

Relatório de atividades do dia (ou hora específica). Retorna lista de usuários com contagem de aberturas, mensagens, campanhas e nível atual.

API Token
datequerystringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-04-28

hourqueryinteger

Hora específica (0-23). Omitir retorna o dia inteiro.

Exemplo: 14

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/activities?date=2025-04-28" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/activities/conversion

Funil de conversão

Funil de conversão do dia com etapas (abriu, abriu com aberturas, enviou mensagem, participou de campanha) e taxas de conversão entre elas.

API Token
datequerystringobrigatório

Data no formato YYYY-MM-DD

Exemplo: 2025-04-28

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/activities/conversion?date=2025-04-28" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/blocked-messages

Lista de mensagens bloqueadas

Lista de mensagens bloqueadas com suporte a filtros por tipo, status e username, e paginação.

API Token
typequerystring

Filtro: `message_ban` ou `user_ban`

Exemplo: message_ban

statusquerystring

Filtro: `pending`, `confirmed` ou `reverted`

Exemplo: pending

usernamequerystring

Busca parcial por username

Exemplo: joao

pagequeryinteger

Página (padrão: 1)

Exemplo: 1

limitqueryinteger

Itens por página (padrão: 50, máximo: 200)

Exemplo: 50

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/blocked-messages?type=message_ban&status=pending" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/blocked-messages/users

Usuários com mensagens bloqueadas

Lista de usuários com mensagens bloqueadas, agregados por usuário com contadores por status e tipo.

API Token
typequerystring

Filtro por tipo

Exemplo: message_ban

statusquerystring

Filtro por status

Exemplo: confirmed

usernamequerystring

Busca parcial por username

Exemplo: joao

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/blocked-messages/users?type=message_ban" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/messages

Histórico de mensagens

Histórico de mensagens do chat com a mesma formatação do dashboard.

API Token
roomquerystring

Sala (padrão: `default`)

Exemplo: default

limitqueryinteger

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

Exemplo: 20

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/messages?room=default&limit=20" \
  -H "Authorization: Bearer igc_9d_abc123..."
POST/api/v1/messages

Enviar mensagem (como usuário)

Envia uma mensagem como um usuário específico (identificado pelo extUserId). Não dispara smartAction.

API Token

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/messages" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"extUserId": 123456, "message": "Olá galera!"}'
POST/api/v1/admin/messages

Enviar mensagem (como admin)

Envia uma mensagem como admin (atribuída à integração). Aparece no chat com o nome do admin.

API Token

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/admin/messages" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"message": "Aviso: manutenção em 5 min", "adminUsername": "Integração"}'
POST/api/v1/admin/block-message

Bloquear mensagem

Bloqueia uma mensagem existente — move para blocked_messages e emite message:blocked em tempo real.

API Token

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/admin/block-message" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"messageId": "1721034567890", "room": "default"}'
POST/api/v1/chat/lock

Trancar/destrancar chat

Tranca ou destranca o chat de uma sala. Emite chat:lock-status para todos conectados.

API Token

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/chat/lock" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"locked": true, "room": "default"}'
GET/api/v1/chat/state

Estado do chat

Retorna o estado atual do chat — se está trancado, quantos usuários estão online e a lista deles.

API Token
roomquerystring

Sala (padrão: `default`)

Exemplo: default

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/chat/state?room=default" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/campaigns/full

Lista completa de campanhas

Lista paginada completa de campanhas com suporte a filtros por tab e data.

API Token
tabquerystring

Aba: `campanhas`, `arquivadas`, `enquetes`, `enquetes-arquivadas`

Exemplo: campanhas

datequerystring

Filtro por data de criação (YYYY-MM-DD)

Exemplo: 2025-04-28

pagequeryinteger

Página (padrão: 1)

Exemplo: 1

limitqueryinteger

Itens por página (padrão: 20, máximo: 100)

Exemplo: 20

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/campaigns/full?tab=campanhas&page=1" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/campaigns/{id}/full

Campanha + vencedores + respostas

Retorna a campanha completa com vencedores e respostas em uma única chamada.

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

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

Respostas da campanha

Lista todas as respostas enviadas para uma campanha específica.

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/campaigns/camp-uuid/responses" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/campaigns/{id}/poll-results

Resultados de enquete

Resultados agregados de uma campanha do tipo poll — votos por opção, percentuais e vencedor.

API Token
idpathstring (UUID)obrigatório

ID da campanha (deve ser tipo poll)

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

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/campaigns/camp-uuid/poll-results" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/campaigns/{id}/bonifications

Bonificações da campanha

Lista de bonificações concedidas em uma campanha.

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/campaigns/camp-uuid/bonifications" \
  -H "Authorization: Bearer igc_9d_abc123..."
POST/api/v1/campaigns

Criar campanha

Cria uma campanha (inativa — não vai ao ar automaticamente). Para polls, inclua opcoesCampanha como array de strings.

API Token

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/campaigns" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"tipoCampanha": "qa", "perguntaCampanha": "Capital da França?", "respostaCampanha": "Paris"}'
PATCH/api/v1/campaigns/{id}

Editar campanha

Edita campos de uma campanha. Falha se a campanha estiver ativa (encerre antes de editar).

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

bash
curl -X PATCH "https://igamechat.com/api/v1/campaigns/camp-uuid" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"perguntaCampanha": "Nova pergunta?"}'
PATCH/api/v1/campaigns/{id}/end

Encerrar campanha

Encerra uma campanha ativa. Limpa o timer, marca finalizadoEm e emite campaign:ended para todos na sala.

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

bash
curl -X PATCH "https://igamechat.com/api/v1/campaigns/camp-uuid/end" \
  -H "Authorization: Bearer igc_9d_abc123..."
PATCH/api/v1/campaigns/{id}/archive

Arquivar/desarquivar campanha

Arquiva ou desarquiva uma campanha.

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

bash
curl -X PATCH "https://igamechat.com/api/v1/campaigns/camp-uuid/archive" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"arquivada": true}'
DELETE/api/v1/campaigns/{id}

Deletar campanha

Deleta uma campanha permanentemente. Falha se a campanha estiver ativa — encerre antes.

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

bash
curl -X DELETE "https://igamechat.com/api/v1/campaigns/camp-uuid" \
  -H "Authorization: Bearer igc_9d_abc123..."
POST/api/v1/campaigns/{id}/bonifications

Conceder bonificação

Concede uma bonificação a um usuário em uma campanha. Retorna 409 se já existe.

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/campaigns/camp-uuid/bonifications" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"username": "joao", "extSmartico": 123456}'
POST/api/v1/campaigns/{id}/winners

Adicionar vencedor

Adiciona um vencedor a uma campanha (manual). Retorna 409 se já existe.

API Token
idpathstring (UUID)obrigatório

ID da campanha

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

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/campaigns/camp-uuid/winners" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"username": "joao", "resposta": "Paris", "extSmartico": 123456}'
GET/api/v1/users/online

Usuários online

Lista de usuários online no momento (não-admin), filtrado pela brand do token.

API Token

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/users/online" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/users/banned

Usuários banidos

Lista de usuários banidos com TTL ativo ou ban permanente.

API Token

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/users/banned" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/users/{extUserId}

Dados do usuário

Retorna dados completos de um usuário incluindo histórico de nomes, nível, banimento e contagem de mensagens.

API Token
extUserIdpathintegerobrigatório

ID externo do usuário

Exemplo: 12345

Exemplo de requisição

bash
curl "https://igamechat.com/api/v1/users/12345" \
  -H "Authorization: Bearer igc_9d_abc123..."
GET/api/v1/users/{extUserId}/messages

Mensagens do usuário

Histórico de mensagens enviadas por um usuário específico.

API Token
extUserIdpathintegerobrigatório

ID externo do usuário

Exemplo: 12345

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://igamechat.com/api/v1/users/12345/messages?limit=50" \
  -H "Authorization: Bearer igc_9d_abc123..."
POST/api/v1/users/{extUserId}/ban

Banir usuário

Bane um usuário. Move suas mensagens para blocked_messages, kicka sockets conectados e atualiza a lista de banidos.

API Token
extUserIdpathintegerobrigatório

ID externo do usuário

Exemplo: 12345

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/users/12345/ban" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"banDuration": "10m"}'
POST/api/v1/users/{extUserId}/unban

Desbanir usuário

Desbane um usuário. Limpa flags de banimento, notifica sockets e broadcast da lista atualizada de banidos.

API Token
extUserIdpathintegerobrigatório

ID externo do usuário

Exemplo: 12345

Exemplo de requisição

bash
curl -X POST "https://igamechat.com/api/v1/users/12345/unban" \
  -H "Authorization: Bearer igc_9d_abc123..."
PATCH/api/v1/blocked-messages/{id}

Revisar bloqueio de mensagem

Confirma ou reverte um bloqueio de mensagem (workflow de moderação). Se status=reverted e type=user_ban, o ban do usuário é revertido automaticamente.

API Token
idpathstring (UUID)obrigatório

ID do blockedMessage

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

Exemplo de requisição

bash
curl -X PATCH "https://igamechat.com/api/v1/blocked-messages/bm-uuid" \
  -H "Authorization: Bearer igc_9d_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"status": "confirmed", "reviewedBy": "moderador"}'

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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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://igamechat.com/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 ausente, inválido ou revogado"
}