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,@herei 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
402z polempremium_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
429z wartościąretry_afterw sekundach. Aktualną tabelę pobierzesz przezGET /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
504po 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.