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

Освой TicketsX быстрее

Инструкции по настройке, полный справочник команд, Premium-функции и REST API в одном месте.

13.24

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

API устроен так, чтобы токен нельзя было использовать во вред серверу, даже если он утечёт. Перечисленные ниже меры действуют для каждого запроса.

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

  • Никаких массовых упоминаний. Во всех сообщениях, отправленных через API, включая вебхуки и теги, отключены @everyone, @here и произвольные упоминания ролей. При открытии тикета пинг получают только заданная в панели роль и автор тикета.
  • Никаких подделок под других. Отображаемые имена вебхуков с зарезервированными словами вроде «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 не меняются.
  • Срок действия и замена. Токену можно задать срок действия, отключить его или заменить в панели управления. При замене прежний секрет сразу становится недействительным.
  • Привязка к серверу. Токен работает только для того сервера, где его создали, и каждый запрос заново сверяется с этим сервером.