Dokumentacja

Poznaj TicketsX szybciej

Poradniki konfiguracji, pełny spis komend, funkcje Premium i API REST w jednym miejscu.

13.24

Limity i bezpieczeństwo

API zbudowaliśmy tak, aby tokenem nie dało się zaszkodzić serwerowi, nawet jeśli wycieknie. Poniższe zabezpieczenia obowiązują przy każdym żądaniu.

W każdym punkcie końcowym sprawdzenie Premium odbywa się przed wszystkim innym, jeszcze przed odszukaniem tokenu i policzeniem limitów, więc serwer bez aktywnej subskrypcji zawsze dostaje tę samą odpowiedź 402 zamiast żądania wykonanego do połowy.

  • Żadnych masowych oznaczeń. We wszystkich wiadomościach z API (także w wiadomościach webhooka i tagach) wyłączone są @everyone, @here i dowolne oznaczenia ról. Przy otwieraniu zgłoszenia można oznaczyć wyłącznie rolę ustawioną w panelu oraz osobę, która otworzyła zgłoszenie.
  • Żadnego podszywania się. Wyświetlane nazwy webhooków zawierające zastrzeżone słowa, takie jak "discord" czy "clyde", są zamieniane, a podmieniony awatar musi być poprawnym adresem https://.
  • Wymagane Premium. API to funkcja Premium. Bez aktywnej subskrypcji każde żądanie zwraca 402 z polem premium_required: true, a tokenów nie da się tworzyć ani wymieniać.
  • Limity zapytań. Każdy token ma limit dla każdej czynności (na przykład: otwarcie zgłoszenia 10 na minutę, wysłanie wiadomości 30 na minutę, zmiana nazwy 2 na 10 minut, zmiana panelu 2 na 10 minut, edycja paneli 10 na minutę, ponowne wysłanie panelu 4 na 10 minut, odczyty 120 na minutę). Przekroczenie limitu zwraca 429 z wartością retry_after w sekundach. Aktualną tabelę pobierzesz przez GET /api/token.
  • Ciężkie odczyty mają osobne limity. Wyszukiwanie w zapisach i pobieranie zapisów HTML dostają po 10 na minutę, a pełne zindeksowane zapisy 30 na minutę, więc nigdy nie sięgają po hojną pulę 120 odczytów na minutę. Wyszukiwanie działa dodatkowo najwyżej w dwóch instancjach naraz na całym serwerze i przerywa się z kodem 504 po przekroczeniu wyznaczonego czasu, dzięki czemu ruch z wyszukiwania nigdy nie blokuje pracy nad zgłoszeniami.
  • Górna granica otwartych zgłoszeń. Gdy serwer osiągnie bezpieczną granicę otwartych zgłoszeń, API nie otworzy kolejnych, a dla osób z czarnej listy nie otworzy zgłoszenia w ogóle.
  • Najmniejsze potrzebne uprawnienia. Wrażliwe uprawnienia (Odczyt wiadomości zgłoszeń, Podgląd zapisów, Wyszukiwanie w zapisach, Pobieranie zapisów HTML, Korzystanie z tagów, Zmiana nazw zgłoszeń, Zarządzanie panelami, Zmiana paneli zgłoszeń) są domyślnie wyłączone i trzeba je włączyć osobno dla każdego tokenu.
  • Odczyty historii są rejestrowane. Pobranie pełnego zapisu HTML trafia do dziennika działań serwera razem z tokenem, którym to zrobiono, podobnie jak każda zmiana wykonana przez API.
  • Panele pozostają zgodne z twoją konfiguracją. Uprawnienie Zarządzanie panelami zmienia wyłącznie wygląd panelu (nazwę, osadzoną wiadomość, przyciski). Kanałów, kategorii, ról do oznaczenia, formularzy ani zespołów obsługi nie da się zmienić przez API.
  • Wygasanie i wymiana. Tokenom można nadać termin wygaśnięcia, wyłączyć je albo wymienić w panelu; wymiana od razu unieważnia poprzedni sekret.
  • Zakres jednego serwera. Token działa wyłącznie na serwerze, na którym powstał, a każde żądanie jest pod tym kątem sprawdzane na nowo.