Criar e gerenciar um App
O que se faz no painel do portal, e o que cada gesto significa do lado do servidor. Nenhum destes passos tem rota: a configuração do App não aceita a credencial do próprio App.
Criar
No painel, um nome e uma descrição bastam. Os dois são o que cada servidor lê na tela de autorização quando alguém instala o seu App, então eles são identidade e não rótulo interno. Uma conta tem um teto de Apps, e criar tem ritmo próprio — a recusa diz qual dos dois foi.
A credencial nasce junto e aparece uma vez, numa janela que só fecha quando você diz que guardou. Não existe segunda chance e a listagem não a devolve: o Trivo guarda o sha256 do token, nunca o token. A forma dela, e o que ela abre, estão em Autenticação.
O próximo passo, na ordem em que ele importa
O cartão de cada App diz o que falta para ele fazer alguma coisa, e a ordem é de gravidade — cada degrau só aparece quando o de cima está resolvido:
- Gere uma credencial. Sem credencial viva, o App não autentica em lugar nenhum.
- Instale o App num servidor. Sem uma casa, ele não recebe evento nenhum. Quem instala é uma pessoa com
gerenciar_apps, pelo link de instalação da ficha. - Configure o endpoint, se quiser receber por HTTP. É opcional: por padrão as interações chegam pela conexão do Gateway.
Um App sob sanção não recebe passo nenhum — a faixa da sanção já é a resposta, e sugerir um gesto ali seria a tela contradizendo o servidor.
Trocar a credencial, e rotacionar sem queda
São dois gestos diferentes, e a diferença é a janela de queda. Trocar mata a credencial atual no instante em que a nova nasce, e serve a quem vazou um segredo e quer o vazamento fechado já. Emitir a segunda usa a segunda vaga: as duas valem ao mesmo tempo, você sobe o processo com a nova, confere, e só então revoga a primeira.
Revogar uma das duas vagas derruba só as conexões daquela vaga. A ordem e o que cada código de fechamento significa estão em Autenticação.
Quem pode instalar o seu App
Todo App nasce privado: o link de instalação existe para ser compartilhado, e enquanto o App está fechado quem o abrir não instala nada — só você põe o App num servidor. Abrir é um clique na ficha do App.
A régua é do servidor, e não da tela: com o App privado, tanto a página de instalação quanto a rota respondem a quem não é dono o mesmo 404 de App inexistente — dizer "esse App é privado" confirmaria o Application ID a quem está varrendo.
O que a tela de autorização mostra
O desenvolvedor, o Application ID e os escopos pedidos, com os sensíveis num bloco à parte e desmarcados. Nada instala por GET nem por parâmetro: a única mutação é o gesto de quem autoriza. O que se pede ali é o teto da instalação, e o que ele produz de verdade está em Permissões e escopos.
Quando a moderação da plataforma age
A moderação do Trivo pode sancionar um App, e as três sanções não são graus da mesma coisa: elas fecham portas diferentes, e o conserto de quem integra é diferente em cada uma. A faixa no cartão do App diz qual está vigente, e o prazo quando há um.
| Sanção | O que continua | O que para |
|---|---|---|
restrição | Autentica, fica conectado ao Gateway e continua recebendo as interações do endpoint. Apagar mensagem ou cargo, ajustar capacidades e registrar comandos continuam valendo. | Pôr coisa nova na frente dos outros: publicar e editar mensagem, reagir, criar canal, cargo ou categoria e responder interação voltam 403 com APP_RESTRICTED, e os comandos dele somem do /. O defer passa. |
suspensão | Nada. Ela tem prazo e sai sozinha quando ele vence. | Não autentica, não recebe evento e não recebe interação. O Gateway fecha com APP_SANCTIONED e reconnect: false. |
banimento | Nada, e ele não passa sozinho. | Tudo o que a suspensão para, mais as credenciais, que são revogadas. |
Não existe irmão da restrição para a conta dona do App: a restrição pessoal de quem o criou não alcança o App em execução. Suspensão e banimento da conta dona, esses sim, desligam os Apps dela — o código é OWNER_SANCTIONED.
Excluir
A exclusão é definitiva e pede o nome do App digitado à mão. A credencial cai junto, com APP_DELETED nas conexões abertas, e as instalações somem dos servidores onde ele estava. Não há desfazer, e não há rota: o gesto é do painel, com sessão de gente.