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

Опануй 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 не змінюються.
  • Строк дії та заміна. Ключам можна задати строк дії, вимкнути їх або замінити в панелі керування; заміна одразу знеструмлює попередню таємницю.
  • Дія на одному сервері. Ключ працює лише на тому сервері, де його створено, і в кожному запиті це перевіряється наново.