Dokumentace

Nauč se TicketsX rychleji

Návody k nastavení, přehled všech příkazů, funkce Premium a REST API na jednom místě.

13.24

Limity a bezpečnost

API je postavené tak, aby se token nedal zneužít proti serveru, ani kdyby unikl. Následující ochrany platí u každého požadavku.

U každého koncového bodu se Premium kontroluje dřív než cokoli jiného, ještě před vyhledáním tokenu a před započtením jakéhokoli limitu, takže server bez aktivního předplatného dostane vždy stejnou odpověď 402 místo napůl provedeného požadavku.

  • Žádné hromadné označování. Ve všech zprávách z API (včetně zpráv přes webhook a značek) jsou vypnuté @everyone, @here i libovolná označení rolí. Při zakládání tiketu lze označit jen roli nastavenou u panelu a toho, kdo tiket založil.
  • Žádné vydávání se za někoho jiného. Zobrazovaná jména webhooků s vyhrazenými slovy jako "discord" nebo "clyde" se nahrazují a vlastní avatar musí být platná adresa https://.
  • Nutné Premium. API je funkce Premium. Bez aktivního předplatného vrací každý požadavek 402 s polem premium_required: true a nové tokeny nejde vytvořit ani vyměnit.
  • Limity požadavků. Každý token má limit pro jednotlivé úkony (třeba: založení tiketu 10 za minutu, odeslání zprávy 30 za minutu, přejmenování 2 za 10 minut, změna panelu 2 za 10 minut, úpravy panelů 10 za minutu, opětovné odeslání panelu 4 za 10 minut, čtení 120 za minutu). Při překročení limitu přijde 429 s hodnotou retry_after v sekundách. Aktuální tabulku získáte přes GET /api/token.
  • Náročné čtení má vlastní limity. Hledání v přepisech a stahování přepisů v HTML mají po 10 za minutu a úplné zaindexované přepisy 30 za minutu, takže nikdy neubírají ze štědrého limitu 120 čtení za minutu. Hledání navíc běží na celém serveru nejvýše dvakrát naráz a při překročení vymezeného času se ukončí s kódem 504, takže provoz z hledání nikdy nebrzdí práci s tikety.
  • Strop otevřených tiketů. Jakmile server dosáhne bezpečnostního stropu otevřených tiketů, API další nezaloží, a pro uživatele na černé listině tiket nezaloží vůbec.
  • Co nejméně oprávnění. Citlivá oprávnění (Čtení zpráv tiketů, Zobrazení přepisů, Hledání v přepisech, Stahování přepisů v HTML, Používání značek, Přejmenování tiketů, Správa panelů, Změna panelu tiketů) jsou ve výchozím stavu vypnutá a je třeba je u každého tokenu vědomě zapnout.
  • Čtení historie se zaznamenává. Stažení úplného přepisu v HTML se zapíše do záznamu činnosti serveru spolu s tokenem, který to provedl, stejně jako každá změna, kterou API udělá.
  • Panely zůstávají svázané s vaším nastavením. Oprávnění Správa panelů umí změnit jen vzhled panelu (název, vloženou zprávu, tlačítka). Kanály, kategorie, role k označení, formuláře ani týmy podpory přes API měnit nejde.
  • Platnost a výměna. Tokenům lze nastavit platnost, vypnout je nebo je z nástěnky vyměnit; výměna okamžitě zneplatní předchozí tajemství.
  • Vázanost na server. Token funguje jen na serveru, na kterém vznikl, a u každého požadavku se to znovu kontroluje.