13.24
Limites de uso e segurança
A API foi feita para que um token nunca possa ser usado para abusar de um servidor, mesmo se vazar. As proteções abaixo valem para toda requisição.
Em cada endpoint o Premium é verificado antes de tudo, antes mesmo de o token ser consultado e de qualquer limite de uso ser contado, então um servidor sem assinatura ativa sempre recebe a mesma resposta 402 em vez de uma requisição aplicada pela metade.
- Nada de menções em massa. Todas as mensagens enviadas pela API (inclusive as de webhook e as tags) têm
@everyone,@heree menções de cargos arbitrários desativados. Ao abrir um ticket, só o cargo configurado do painel e quem criou o ticket podem ser avisados. - Nada de fingir ser outra pessoa. Nomes de webhook com palavras reservadas como "discord" ou "clyde" são substituídos, e avatares alternativos precisam ser URLs
https://válidas. - Premium obrigatório. A API é um recurso Premium. Sem assinatura ativa, cada requisição retorna
402compremium_required: true, e não dá para criar nem renovar tokens. - Limites de uso. Cada token tem limite por ação (por exemplo: abrir ticket 10/min, enviar mensagem 30/min, renomear 2/10min, trocar painel 2/10min, editar painel 10/min, reenviar painel 4/10min, leituras 120/min). Passar de um limite retorna
429com um valorretry_afterem segundos. ChameGET /api/tokenpara ver a tabela atualizada. - Leituras pesadas têm limite à parte. A busca em transcrições e o download de HTML têm 10/min cada, e as transcrições indexadas completas 30/min, para nunca consumirem a cota generosa de 120/min das leituras. Além disso, a busca roda no máximo duas vezes ao mesmo tempo em todo o servidor e é interrompida com
504se passar do tempo máximo, então o tráfego de busca nunca sufoca as operações nos tickets. - Teto de tickets abertos. A API para de abrir tickets novos quando um servidor chega ao seu teto de segurança, e se recusa a abrir tickets para usuários bloqueados.
- Privilégio mínimo. Permissões sensíveis (Ler mensagens de tickets, Ver transcrições, Pesquisar transcrições, Baixar o HTML das transcrições, Usar tags, Renomear tickets, Gerenciar painéis, Trocar o painel de um ticket) vêm desativadas por padrão e precisam ser ligadas de propósito em cada token.
- Leituras de dados históricos ficam auditadas. Baixar uma transcrição HTML completa é gravado no registro de atividades do servidor junto com o token que fez isso, assim como cada alteração feita pela API.
- Os painéis continuam presos à sua configuração. Gerenciar painéis só permite mudar a aparência de um painel (nome, embed, botões). Canais, categorias, cargos a mencionar, formulários e equipes de suporte não podem ser alterados pela API.
- Validade e renovação. Os tokens podem receber uma data de validade, ser desativados ou renovados pelo painel; ao renovar, o segredo anterior perde a validade na hora.
- Escopo de servidor. Um token só funciona para o servidor onde foi criado, e cada requisição é conferida de novo contra esse servidor.