Документация

Научи TicketsX по-бързо

Ръководства за настройка, пълният списък с команди, функциите на Premium и REST API на едно място.

13.24

Ограничения и безопасност

API е направен така, че един ключ да не може да навреди на сървъра, дори ако изтече. Следните защити важат при всяка заявка.

При всяка крайна точка проверката за Premium минава преди всичко останало, още преди ключът да бъде потърсен и преди да се брои каквото и да е ограничение, така че сървър без активен абонамент винаги получава същия отговор 402, а не наполовина изпълнена заявка.

  • Без масови споменавания. Във всички съобщения през API (включително съобщенията през webhook и етикетите) @everyone, @here и произволните споменавания на роли са изключени. При отваряне на тикет могат да бъдат споменати само ролята, зададена в панела, и този, който е отворил тикета.
  • Без представяне за друг. Показваните имена на webhook, в които има запазени думи като "discord" или "clyde", се подменят, а сложената снимка трябва да е валиден адрес https://.
  • Нужен е Premium. API е възможност от Premium. Без активен абонамент всяка заявка връща 402 с premium_required: true, а нови ключове не се създават и не се сменят.
  • Ограничения на заявките. Всеки ключ има ограничение за всяко действие (например: отваряне на тикет 10 в минута, изпращане на съобщение 30 в минута, преименуване 2 на 10 минути, смяна на панел 2 на 10 минути, промени по панели 10 в минута, повторно изпращане на панел 4 на 10 минути, четения 120 в минута). Надхвърлянето на ограничение връща 429 със стойност retry_after в секунди. Вземете текущата таблица с GET /api/token.
  • Тежките четения имат свои ограничения. Търсенето в записите и свалянето на записи в HTML имат по 10 в минута, а пълните описани записи 30 в минута, така че никога не отнемат от щедрите 120 четения в минута. Освен това търсенето върви най-много по две наведнъж за целия сървър и спира с 504, ако надхвърли отреденото си време, така че заявките за търсене никога не пречат на работата с тикетите.
  • Таван на отворените тикети. Щом сървърът стигне защитния таван на отворените тикети, API не отваря повече, а за хора в черния списък не отваря тикети изобщо.
  • Възможно най-малко права. Чувствителните права (Четене на съобщенията в тикет, Преглед на записите, Търсене в записите, Сваляне на записи в HTML, Използване на етикети, Преименуване на тикети, Управление на панели, Смяна на панела на тикет) са изключени по подразбиране и трябва да се включат нарочно за всеки ключ.
  • Четенията на стари данни се следят. Свалянето на пълен запис в HTML се вписва в дневника на действията на сървъра заедно с ключа, който го е направил, както и всяка промяна, извършена през API.
  • Панелите остават свързани с вашите настройки. Управлението на панели сменя само вида на панела (име, вградено съобщение, бутони). Каналите, категориите, ролите за споменаване, формулярите и екипите по поддръжката не се променят през API.
  • Срок и смяна. На ключовете може да се сложи срок, да се изключат или да се сменят от таблото; смяната обезсилва веднага предишната тайна.
  • Важи за един сървър. Ключът работи само в сървъра, в който е създаден, и при всяка заявка това се проверява наново.