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. |