Pular para o conteúdo

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çãoO que continuaO que para
restriçãoAutentica, 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ãoNada. 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.
banimentoNada, 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.