Alternar Tema
Carregando

Documentação
API

Bem-vindo ao portal de desenvolvedores do Brix! Conecte seu bot parceiro ou aplicação externa aos nossos serviços: conversão de moedas, consulta de perfil de usuários e muito mais, kyu~!

hero image

API do Brix: Portal de Desenvolvedores

Bem-vindo ao portal oficial de API do Brix! Aqui você encontra a documentação detalhada para integrar seu bot parceiro ou aplicação externa aos nossos serviços. Nossa API HTTP permite realizar conversão de moedas, consultar dados de usuários e expandir as integrações com o ecossistema do Brix, kyu~!

Autenticação & Como Obter um Token

A autenticação em toda a API do Brix é realizada de forma padronizada através do cabeçalho HTTP Authorization com o token de validação único fornecido exclusivamente para o seu bot ou aplicação.

Header Valor
Authorization brix_SEU_TOKEN_AQUI
Para solicitar seu token: No momento, apenas bots e desenvolvedores convidados previamente podem solicitar um token. Caso você tenha sido convidado, entre em contato diretamente através do servidor oficial de suporte, informando mais detalhes sobre seu projeto e como deseja integrar ao sistema.

API de Conversão de Moedas ( /api/pix )

Esta API permite a conversão bidirecional de moedas entre seu bot parceiro e o ecossistema do Brix. Seus usuários podem converter sua moeda em Braixencoin, e o Brix também pode disparar solicitações para o seu bot converter Braixencoin de volta para a sua moeda.

Endpoint (/api/pix)

O Brix recebe as solicitações de conversão via HTTP POST no endpoint central:

POST https://brixbot.xyz/api/pix

Mecanismo de Testes (Sandbox)

O Brix possui um sistema de testes integrado para facilitar a implementação da conversão de moedas:

  • Como testar: Envie a requisição sem o header de autorização ou com um token inválido.
  • O que acontece: O servidor aceitará a requisição (200 OK) mas marcará como teste (modo_teste: true).
  • Comportamento no Bot: O usuário passado no campo (user_id) receberá uma DM confirmando o teste, porém nenhum saldo será adicionado e nenhum log de transação será gerado, o (ref_id) será deletado automaticamente após o processamento.
Importante: Mesmo retornando 200 OK, nenhuma transação real é realizada no modo teste.

Corpo da Requisição (JSON)

O sistema usa termos em inglês universal, mantendo compatibilidade com diversos sistemas por apresentar um padrão único de identificação de campos.

Campo Tipo Requerido Descrição
user_id String / Int Sim ID do usuário no Discord que receberá a conversão.
amount Inteiro Sim Quantidade de moedas a converter.
ref_id String (24) Sim ID único de referência para a transação. Usado para evitar processamento duplicado caso a requisição seja reenviada. Padrão sugerido: 24 caracteres.
currency String Não Nome da moeda de origem. Se omitido, usa o padrão cadastrado.
currency_icon URL Não URL de imagem (PNG/JPG) usada como ícone da moeda na DM.

Exemplo cURL (Produção)

curl -X POST https://brixbot.xyz/api/pix \
     -H "Authorization: brix_seu_token_real" \
     -H "Content-Type: application/json" \
     -d '{
           "user_id": "123456789012345678",
           "amount": 654,
           "currency": "MinhaMoeda",
           "currency_icon": "https://meusite.com/moeda.png",
           "ref_id": "xN7pL9qY2mR5kH4vC8wB3jF1"
         }'

Taxas e Limites de Conversão

O sistema de conversão do Brix foi feito para ser simples, transparente e justo:

  • Sem taxas do Brix: O Brix não cobra nenhuma taxa para converter braixencoin para moedas externas, nem no caminho inverso. O valor enviado e recebido é exatamente o mesmo.
  • Limite de envio (usuários comuns): Usuários sem Brix Premium podem enviar até 1.000.000 braixencoin por transação, com limite de 1 envio por dia.
  • Envio com Brix Premium: Usuários com Brix Premium não possuem limite diário de envios, podendo realizar múltiplas transferências livremente (respeitando apenas o limite de 1.000.000 braixencoin).
  • Limite de recebimento: É possível receber até 10.000.000 braixencoin por transação, sem limite diário de recebimentos.
  • Taxas de bots parceiros: Bots externos podem aplicar taxas próprias nas conversões. Essas taxas não são controladas pelo Brix e devem ser informadas de forma clara ao usuário antes da transação.
  • Restrições do bot recebedor: O bot parceiro pode definir regras próprias (limites, validações ou bloqueios). Caso a transação não seja aceita, o webhook deve responder com um erro (status diferente de 200 OK). Nesse caso, o Brix irá cancelar a operação e devolver automaticamente os braixencoin ao usuário.

Respostas & Erros da API

Sucesso (200 OK)
{
  "~kyuuu": true,
  "modo_teste": false
}

modo_teste: true indica que a requisição foi processada como teste (token inválido/ausente).

Erros Comuns
Código Descrição
400 Bad Request JSON inválido ou mal formatado.
400 Bad Request Campos obrigatórios ausentes (user_id, amount, ref_id).
400 Bad Request user_id deve ser numérico e maior que 0.
400 Bad Request amount deve ser inteiro, maior que 0 e menor que 10.000.000.
400 Bad Request currency inválida ou muito longa (máx. 50 caracteres).
400 Bad Request currency_icon deve ser uma URL válida (http/https) e até 300 caracteres.
400 Bad Request ref_id deve ser uma string válida (24 caracteres alfanuméricos, _ ou -).
400 Bad Request Metadados excessivos (máx. 20 campos).
400 Bad Request Metadados muito grandes (chave até 50 chars, valor até 500 chars).
429 Too Many Requests Muitas requisições pelo mesmo IP (rate limit global).
429 Too Many Requests Muitas requisições para o mesmo usuário (rate limit por user_id).
200 OK Transação duplicada detectada (mesmo ref_id), ignorada com sucesso.
500 Internal Error Erro inesperado no processamento interno do servidor.

Webhook de Retorno (Brix → Parceiro)

O Brix também pode disparar solicitações para o seu bot quando um usuário utiliza o comando /bc transferir. Nesse fluxo, Braixencoins são convertidos de volta para a moeda do seu sistema.

Para receber transferências do Brix, você deve fornecer um webhook URL durante o cadastro da parceria. O Brix enviará um POST para esse endereço usando o mesmo token de validação no cabeçalho Authorization.

POST https://seubot.xyz/seu-webhook
Payload Enviado pelo Brix ao seu Webhook
Campo Tipo Descrição
user_id String ID do usuário no Discord que realizou a transferência.
amount Inteiro Quantidade de Braixencoins enviados.
bot_name String Sempre "Brix" — identifica a origem da transferência.
ref_id String (24) ID único da transação gerado pelo Brix. Utilize para evitar processamento duplicado.
currency_icon URL URL da imagem da BraixenCoin para ser exibida nas DMs do seu bot.
Exemplo de Recebimento JSON
{
  "user_id": "123456789012345678",
  "amount": 654,
  "bot_name": "Brix",
  "ref_id": "sT6vM2bN8pK1xH4jL9cQ5wR3",
  "currency_icon": "https://brixbot.xyz/cdn/icon_braixencoin.png"
}
Importante: O Brix só registrará a transação em seu sistema interno se o seu webhook responder com 200 OK. Caso contrário, o saldo de Braixencoins é devolvido automaticamente ao usuário.
Dica Profissional: Em produção (token válido), a conversão entra no estado Pendente e o bot entrega o saldo automaticamente assim que processar o log. Certifique-se de que seu webhook responde rapidamente para evitar timeouts.

API de Consulta de Usuário ( /api/user )

Disponibiliza a consulta de informações públicas de conta e saldos dos usuários do Brix (como Braixencoins, gravetos, pontuação de reputação, nível/XP e status de assinatura premium) para integração com aplicações externas.

Endpoint (/api/user)

GET POST https://brixbot.xyz/api/user

Modo Sandbox em /api/user

Consulta de Teste via Bot ID: Caso a chamada ao /api/user seja feita sem o cabeçalho Authorization ou com um token inválido, a API responderá em modo de teste ("modo_teste": true) consultando no banco de dados os dados reais da conta do próprio Brix. Isso permite testar a resposta JSON e seus campos sem a necessidade de passar um token ou ID específico!

Parâmetros de Requisição

Parâmetro Tipo Local Descrição
user_id Integer / String Query String (GET) ou Body JSON (POST) ID numérico do Discord do usuário a ser consultado. Obrigatório em produção.

Resposta JSON (/api/user)

Exemplo da resposta JSON retornada em tempo real diretamente pela rota /api/user do sistema:

{
  "status": "Carregando dados da API..."
}
Campo Tipo Descrição
id Integer ID numérico do usuário no Discord.
braixencoin Integer Saldo atual de Braixencoins do usuário.
graveto Integer Saldo atual de gravetos do usuário.
xpg Integer Pontuação de experiência / nível.
rep Integer Pontuação de reputação acumulada.
descricao String Texto "sobre mim" configurado no perfil do usuário.
premium.ativo Boolean Indica se o usuário possui assinatura Premium ativa.
premium.expiracao String / null Data de expiração da assinatura (DD/MM/YYYY) se aplicável.