API para integrações
A API JSON atual é a que o próprio aplicativo usa. Ela não possui chaves de desenvolvedor, OAuth para terceiros ou garantia de compatibilidade além do contrato versionado no repositório. Trate-a como integração com uma conta do Unkvoid, usando Authorization: Bearer de um token do Sanctum, e valide erros 403 e 422.
Endpoints públicos
| Rota | Finalidade |
|---|---|
GET /api/config |
Descobre a URL pública do SFU. |
POST /api/auth/register |
Cria conta com e-mail, senha e identificação do dispositivo. |
POST /api/auth/login |
Entra e recebe token de acesso; pode receber token de renovação. |
POST /api/auth/refresh |
Troca um token de renovação por um par novo. |
POST /api/errors |
Envia relatório técnico limitado por IP. |
GET /downloads/latest.json |
Lê o manifesto de atualização. |
GET /downloads/{plataforma} |
Redireciona para o pacote publicado da plataforma. |
Endpoints com conta
Depois de autenticar, a API expõe estes grupos:
GET,PATCHe rotas de avatar em/api/mepara perfil.GETePOST /api/servers, mais leitura, edição, saída, ícone, convite e auditoria em/api/servers/{server}.- Entrada por
POST /api/invites/{code}. - Cargos em
/api/servers/{server}/rolese/api/roles/{role}. - Canais, sobrescritas, mensagens e leitura em
/api/channels/{channel}/...e/api/messages/{message}. - Token, movimento e desconexão de voz em
/api/channels/{channel}/voice/.... - Amigos em
/api/friends/...e mensagens diretas em/api/dm/....
As rotas respeitam a mesma autorização do aplicativo: ter um token não substitui ser membro, ver o canal ou possuir a permissão necessária.
O que não é público para integração
/api/sfu/events, /api/sfu/authorize, /api/releases e as rotas HTTP internas do SFU usam assinaturas entre serviços. Não as chame de um cliente externo e não há segredo a copiar desta documentação. A mídia também não é enviada pela API REST: a conta pede um token de voz e o aplicativo fala com o SFU pelo protocolo de sinalização.
Para os campos, respostas e regras completos, consulte docs/CONTRATO.md na mesma versão do código com a qual a integração será usada.