Dokumentation

Lär dig TicketsX snabbare

Guider, alla kommandon, Premium-funktioner och REST-API:et på ett ställe.

13.24

Gränser och säkerhet

API:et är byggt så att en nyckel aldrig går att använda mot en server, inte ens om den läcker. Följande skydd gäller vid varje anrop.

På varje ändpunkt kontrolleras Premium först av allt, innan nyckeln ens slås upp och innan någon gräns räknas, så en server utan aktiv prenumeration får alltid samma 402-svar i stället för ett halvt utfört anrop.

  • Inga massutskick av pingar. I alla meddelanden från API:et (även webhook-meddelanden och taggar) är @everyone, @here och godtyckliga rollpingar avstängda. När ett ärende öppnas går det bara att pinga panelens inställda roll och den som öppnade ärendet.
  • Ingen falsk identitet. Visningsnamn för webhooks som innehåller reserverade ord som "discord" eller "clyde" byts ut, och egna profilbilder måste vara giltiga https://-adresser.
  • Premium krävs. API:et är en Premium-funktion. Utan aktiv prenumeration svarar varje anrop 402 med premium_required: true, och nya nycklar går varken att skapa eller byta.
  • Gränser. Varje nyckel har en gräns per åtgärd (till exempel: öppna ärende 10 per minut, skicka meddelande 30 per minut, byta namn 2 per 10 minuter, byta panel 2 per 10 minuter, ändra paneler 10 per minut, skicka panel igen 4 per 10 minuter, läsning 120 per minut). Över gränsen kommer 429 med ett värde retry_after i sekunder. Hämta den aktuella tabellen med GET /api/token.
  • Tunga läsningar har egna gränser. Sökning i utskrifter och nedladdning av HTML-utskrifter får 10 per minut var, och fullständiga indexerade utskrifter 30 per minut, så de tar aldrig av det generösa utrymmet på 120 läsningar per minut. Sökningen körs dessutom högst två åt gången på hela servern och avbryts med 504 om den drar över sin tid, så söktrafik kan aldrig tränga undan arbetet med ärenden.
  • Tak för öppna ärenden. När en server nått sitt säkerhetstak för öppna ärenden öppnar API:et inga fler, och det öppnar inga ärenden alls åt svartlistade användare.
  • Minsta möjliga behörighet. Känsliga behörigheter (Läsa ärendets meddelanden, Se utskrifter, Söka i utskrifter, Ladda ner utskrifter som HTML, Använda taggar, Byta namn på ärenden, Hantera paneler, Byta ärendets panel) är avstängda som standard och måste slås på med flit för varje nyckel.
  • Läsning av historik granskas. Nedladdning av en fullständig HTML-utskrift skrivs till serverns aktivitetslogg tillsammans med nyckeln som gjorde det, precis som varje ändring API:et utför.
  • Panelerna hänger ihop med din uppsättning. Hantera paneler kan bara ändra en panels utseende (namn, inbäddat meddelande, knappar). Kanaler, kategorier, roller att pinga, formulär och supportteam går inte att ändra via API:et.
  • Giltighetstid och byte. Nycklar kan få en giltighetstid, stängas av eller bytas ut från panelen; ett byte gör den tidigare hemligheten ogiltig direkt.
  • Bunden till en server. En nyckel fungerar bara för servern där den skapades, och varje anrop kontrolleras mot den servern på nytt.