13.24
Limite și siguranță
API-ul este făcut astfel încât un jeton să nu poată fi folosit vreodată împotriva unui server, chiar dacă ajunge pe mâini străine. Protecțiile de mai jos se aplică la fiecare cerere.
La fiecare punct de acces, Premium se verifică înaintea oricărui alt pas, chiar înainte ca jetonul să fie căutat și înainte să se numere vreo limită, așa că un server fără abonament activ primește mereu același răspuns 402, nu o cerere aplicată pe jumătate.
- Fără mențiuni în masă. În toate mesajele trimise prin API (inclusiv mesajele prin webhook și etichetele),
@everyone,@hereși mențiunile de rol la întâmplare sunt oprite. La deschiderea unui tichet pot fi menționate doar rolul configurat pe panou și cel care a deschis tichetul. - Fără uzurpare de identitate. Numele afișate de webhook care conțin cuvinte rezervate precum "discord" sau "clyde" sunt înlocuite, iar imaginea pusă în locul celei obișnuite trebuie să fie o adresă
https://validă. - Premium obligatoriu. API-ul este o funcție Premium. Fără abonament activ, fiecare cerere răspunde cu
402șipremium_required: true, iar jetoanele noi nu pot fi create sau înlocuite. - Limite de cereri. Fiecare jeton are o limită pentru fiecare acțiune (de exemplu: deschidere de tichet 10 pe minut, trimitere de mesaj 30 pe minut, redenumire 2 la 10 minute, schimbare de panou 2 la 10 minute, modificări de panouri 10 pe minut, retrimitere de panou 4 la 10 minute, citiri 120 pe minut). Depășirea unei limite aduce
429și o valoareretry_afterîn secunde. Cere tabelul actual cuGET /api/token. - Citirile grele au limite separate. Căutarea în transcrieri și descărcarea transcrierilor HTML au câte 10 pe minut, iar transcrierile indexate complete 30 pe minut, așa că nu consumă niciodată din cele 120 de citiri pe minut. În plus, căutarea rulează cel mult de două ori deodată pe tot serverul și se oprește cu
504dacă își depășește timpul, așa că traficul de căutare nu poate încurca niciodată lucrul la tichete. - Plafon de tichete deschise. Când un server atinge plafonul de siguranță al tichetelor deschise, API-ul nu mai deschide altele, iar pentru utilizatorii de pe lista neagră nu deschide deloc tichete.
- Cât mai puține drepturi. Permisiunile delicate (Citirea mesajelor din tichete, Vizualizarea transcrierilor, Căutarea în transcrieri, Descărcarea transcrierilor HTML, Folosirea etichetelor, Redenumirea tichetelor, Gestionarea panourilor, Schimbarea panoului tichetelor) sunt oprite din start și trebuie pornite anume pentru fiecare jeton.
- Citirile din istoric sunt urmărite. Descărcarea unei transcrieri HTML complete ajunge în jurnalul de activitate al serverului, împreună cu jetonul care a făcut-o, la fel ca fiecare modificare făcută de API.
- Panourile rămân legate de configurarea ta. Gestionarea panourilor poate schimba doar înfățișarea unui panou (numele, mesajul încorporat, butoanele). Canalele, categoriile, rolurile menționate, formularele și echipele de asistență nu pot fi schimbate prin API.
- Expirare și înlocuire. Jetoanelor li se poate pune o dată de expirare, pot fi oprite sau înlocuite din panou; înlocuirea scoate imediat din uz secretul vechi.
- Legat de un singur server. Un jeton merge doar pe serverul pe care a fost creat, iar fiecare cerere este verificată din nou față de serverul acela.