13.24
Limiti e sicurezza
L'API è costruita in modo che un token non possa mai essere usato per danneggiare un server, nemmeno se finisce nelle mani sbagliate. Le protezioni che seguono valgono per ogni richiesta.
Su ogni endpoint il controllo su Premium avviene prima di qualsiasi altra cosa, prima ancora di cercare il token e di contare i limiti di richieste, così un server senza abbonamento attivo riceve sempre la stessa risposta 402 invece di una richiesta applicata a metà.
- Niente menzioni di massa. In tutti i messaggi inviati dall'API (messaggi webhook e tag compresi) sono disattivati
@everyone,@heree le menzioni arbitrarie dei ruoli. All'apertura di un ticket si possono menzionare solo il ruolo configurato nel pannello e chi ha aperto il ticket. - Niente sostituzioni di identità. I nomi visualizzati dei webhook che contengono parole riservate come "discord" o "clyde" vengono sostituiti, e gli avatar personalizzati devono essere URL
https://validi. - Premium obbligatorio. L'API è una funzione Premium. Senza un abbonamento attivo ogni richiesta risponde
402conpremium_required: true, e non si possono creare o ruotare token. - Limiti di richieste. Ogni token ha un limite per azione (ad esempio: apertura ticket 10 al minuto, invio messaggi 30 al minuto, rinomina 2 ogni 10 minuti, cambio pannello 2 ogni 10 minuti, modifiche ai pannelli 10 al minuto, reinvio dei pannelli 4 ogni 10 minuti, letture 120 al minuto). Superare un limite restituisce
429con un valoreretry_afterin secondi. ChiamaGET /api/tokenper la tabella aggiornata. - Le letture pesanti hanno limiti a parte. La ricerca nelle trascrizioni e il download dell'HTML hanno 10 richieste al minuto ciascuna, e le trascrizioni indicizzate complete 30 al minuto, così non attingono mai al generoso limite di 120 letture al minuto. La ricerca inoltre gira al massimo due volte in parallelo su tutto il server e si interrompe con
504se supera il tempo consentito, così il traffico di ricerca non toglie mai risorse alle operazioni sui ticket. - Tetto ai ticket aperti. Quando un server raggiunge il tetto di sicurezza dei ticket aperti l'API non ne apre altri, e si rifiuta di aprire ticket per utenti nella lista nera.
- Privilegi minimi. I permessi delicati (Leggere i messaggi dei ticket, Vedere le trascrizioni, Cercare nelle trascrizioni, Scaricare l'HTML delle trascrizioni, Usare i tag, Rinominare i ticket, Gestire i pannelli, Cambiare il pannello dei ticket) sono disattivati per impostazione predefinita e vanno attivati di proposito su ogni token.
- Le letture dello storico sono tracciate. Il download di una trascrizione HTML completa finisce nel registro attività del server insieme al token che lo ha fatto, come ogni modifica eseguita dall'API.
- I pannelli restano legati alla tua configurazione. Il permesso Gestire i pannelli può cambiare solo l'aspetto di un pannello (nome, embed, pulsanti). Canali, categorie, ruoli da menzionare, moduli e team di staff non si possono cambiare dall'API.
- Scadenza e rotazione. I token possono avere una scadenza, essere disattivati o ruotati dalla dashboard; la rotazione rende subito inutilizzabile il segreto precedente.
- Ambito limitato al server. Un token funziona solo per il server in cui è stato creato e ogni richiesta viene ricontrollata rispetto a quel server.