13.24
सीमाएँ और सुरक्षा
API इस तरह बनाया गया है कि टोकन बाहर निकल जाए तब भी उससे सर्वर को नुक़सान न पहुँचाया जा सके। नीचे दी सुरक्षा हर अनुरोध पर लागू होती है।
हर एंडपॉइंट पर Premium की जाँच सबसे पहले होती है, टोकन ढूँढ़ने से भी पहले और कोई सीमा गिनने से भी पहले, ताकि चालू सदस्यता के बिना सर्वर को हमेशा वही 402 जवाब मिले, न कि आधा-अधूरा चला हुआ अनुरोध।
- सामूहिक बुलावे नहीं। API से जाने वाले हर संदेश में (वेबहुक संदेश और टैग समेत)
@everyone,@hereऔर मनमाने भूमिका बुलावे बंद रहते हैं। टिकट खोलते समय सिर्फ़ पैनल में तय भूमिका और टिकट खोलने वाले को ही बुलाया जा सकता है। - किसी और का रूप धरना नहीं। जिन वेबहुक नामों में "discord" या "clyde" जैसे आरक्षित शब्द हों, वे बदल दिए जाते हैं, और तस्वीर बदलने के लिए दिया पता सही
https://होना चाहिए। - Premium ज़रूरी है। API एक Premium सुविधा है। चालू सदस्यता न होने पर हर अनुरोध
402औरpremium_required: trueलौटाता है, और नए टोकन न बनाए जा सकते हैं न बदले जा सकते हैं। - अनुरोध सीमाएँ। हर टोकन पर हर काम की अलग सीमा है (जैसे टिकट खोलना प्रति मिनट 10, संदेश भेजना प्रति मिनट 30, नाम बदलना 10 मिनट में 2, पैनल बदलना 10 मिनट में 2, पैनल में बदलाव प्रति मिनट 10, पैनल दोबारा भेजना 10 मिनट में 4, और पढ़ाई प्रति मिनट 120)। सीमा पार होने पर सेकंडों में
retry_afterमान के साथ429मिलता है। ताज़ा तालिका के लिएGET /api/tokenचलाएँ। - भारी पढ़ाई की सीमाएँ अलग हैं। रिकॉर्ड में खोज और HTML रिकॉर्ड डाउनलोड को प्रति मिनट 10-10 मिलते हैं, और पूरे अनुक्रमित रिकॉर्ड को प्रति मिनट 30, इसलिए वे प्रति मिनट 120 पढ़ाई वाले खुले हिस्से में से कुछ नहीं लेते। इसके ऊपर खोज पूरे सर्वर पर एक साथ ज़्यादा से ज़्यादा दो ही चलती हैं और तय समय पार करने पर
504के साथ रुक जाती हैं, ताकि खोज का बोझ कभी टिकटों के काम को न रोके। - खुले टिकटों की हद। सर्वर खुले टिकटों की सुरक्षा हद तक पहुँच जाए तो API और टिकट नहीं खोलता, और काली सूची वाले उपयोगकर्ताओं के लिए तो टिकट खोलता ही नहीं।
- कम से कम अनुमतियाँ। नाज़ुक अनुमतियाँ (टिकट के संदेश पढ़ना, रिकॉर्ड देखना, रिकॉर्ड में खोजना, HTML रिकॉर्ड डाउनलोड करना, टैग इस्तेमाल करना, टिकट का नाम बदलना, पैनल सँभालना, टिकट का पैनल बदलना) शुरू में बंद रहती हैं और हर टोकन के लिए अलग से चालू करनी पड़ती हैं।
- पुराने डेटा की पढ़ाई दर्ज होती है। पूरा HTML रिकॉर्ड डाउनलोड करना सर्वर के गतिविधि लॉग में उस टोकन के साथ दर्ज होता है जिससे यह हुआ, और API के किए हर बदलाव के साथ भी यही होता है।
- पैनल आपकी सेटिंग्स से बँधे रहते हैं। पैनल सँभालने की अनुमति सिर्फ़ पैनल की सूरत बदल सकती है (नाम, एम्बेड, बटन)। चैनल, श्रेणियाँ, बुलाई जाने वाली भूमिकाएँ, फ़ॉर्म और सहायता टीमें API से नहीं बदली जा सकतीं।
- अवधि और बदलाव। टोकन की अवधि तय की जा सकती है, उन्हें बंद किया जा सकता है या डैशबोर्ड से बदला जा सकता है; बदलते ही पुराना गुप्त मान तुरंत बेकार हो जाता है।
- एक ही सर्वर तक सीमित। टोकन सिर्फ़ उसी सर्वर पर चलता है जहाँ वह बना था, और हर अनुरोध पर यह बात दोबारा जाँची जाती है।