सहायक और स्थिरांक
क्लाइंट के मेथड के अलावा पैकेज और क्या परिभाषित करता है।
Static मेथड
| मेथड | यह क्या है |
|---|---|
| new OpenEmail(), OpenEmail.builder() | एक क्लाइंट। दोनों उस सबके लिए एनवायरनमेंट पढ़ते हैं जो आप छोड़ देते हैं। |
| OpenEmail.createTempMail() | डिस्पोज़ेबल इनबॉक्स का क्लाइंट जो कोई API कुंजी नहीं रखता। |
| OpenEmail.verifyWebhookSignature() | किसी डिलीवरी का हस्ताक्षर स्थिर समय में जाँचता है, पाँच मिनट की उस विंडो के साथ जिसे एक Duration बदलता है, और इवेंट लौटाता है। |
| OpenEmail.toBase64() | किसी अटैचमेंट के बाइट के लिए base64 टेक्स्ट। |
| OpenEmail.isApiKey() | कोई मान oe_live_ या oe_test_ आकार का है या नहीं। यह आकार की जाँच है, इस बात का सबूत नहीं कि कुंजी अब भी काम करती है। |
| OpenEmail.isAccessToken() | कोई मान OAuth access टोकन के आकार का है या नहीं: 1 से 512 अक्षर, oe_ से शुरू न होने वाला। |
| OpenEmail.isSealed() | क्या संदेश की बॉडी ciphertext है। दो हस्ताक्षरित फ़ॉर्मेट के लिए यह false है, जिनकी बॉडी खुले रूप में आई। |
| OpenEmail.resolveLanguage(), OpenEmail.languageByCode(), OpenEmail.isRtlLanguage() | वे लुकअप जो किसी भाषा पिकर को चाहिए, साथ में दी गई Languages.ALL तालिका पर। |
| client.raw().request() | ऐसा पाथ कॉल करता है जिसे अभी कोई मेथड नहीं लपेटता, क्लाइंट के क्रेडेंशियल और रीट्राई नीति के साथ। |
स्थिरांक
TypeScript SDK जो भी मान सेट एक्सपोर्ट करता है वह uk.openemail.constants में एक final क्लास है, जिसमें हर सदस्य के लिए उन्हीं नामों से एक कॉन्स्टेंट है, इसलिए WebhookEvents.EMAIL_DELIVERED का मान email.delivered है। values() पूरा सेट लौटाता है, और बाहर से आए किसी मान को जाँचने का तरीका भी यही है।
List<String> events = WebhookEvents.values();List<String> scopes = List.of(ApiScopes.EMAILS_SEND, ApiScopes.THREADS_READ);boolean known = events.contains("email.delivered"); System.out.println(events.size() + " " + String.join(",", scopes) + " " + PageLimits.MAX_LIMIT + " " + known);| स्थिरांक | इसमें क्या है |
|---|---|
| OpenEmail.VERSION | पैकेज का संस्करण। |
| ApiScopes | scope की शब्दावली, key बनाने वाली स्क्रीन के लिए। |
| WebhookEvents, WebhookSignatureHeaders | वे events जिनकी कोई endpoint सदस्यता ले सकता है, और उन header के नाम जो हर delivery लिए चलती है। |
| ErrorTypes | वह एरर शब्दावली जो ApiException.type() लौटाता है। |
| PageLimits | ज़्यादातर पेज वाली सूचियों पर सबसे बड़ा और डिफ़ॉल्ट limit, MAX_LIMIT और DEFAULT_LIMIT: 100 और 25। कुछ सूचियाँ इससे ज़्यादा लेती हैं, और हर मेथड का संदर्भ यह बताता है। |
| RuleFields, RuleOperators, RuleActions | वह शब्दावली जिससे किसी rule की शर्तें और actions बनते हैं। |
| MessageEncryptionFormats | वे पाँच envelopes जिनके नाम ingest ले सकता है। इनमें से तीन sealed हैं। |
| CredentialKinds, StepUpMethods, StepUpErrorCodes | me().get और me().ping किस क्रेडेंशियल का वर्णन करते हैं, कोई सत्यापन कोड कैसे जाँचा जाता है, और वे कोड जिनके साथ सत्यापन विफल हो सकता है। |
| ThreadSorts, PeopleSorts, FileSorts और बाक़ी *Sorts | वे क्रम जिनमें किसी सूची को लगाया जा सकता है। |
| FormStatuses, BroadcastStatuses, SuppressionReasons और बाक़ी सेट | वे मान जो किसी resource का फ़ील्ड ले सकता है। हर सेट का नाम उस पर रखा गया है जो उसमें है। |
| Languages.ALL | हर वह भाषा जिसे अनुवादित send या preview स्वीकार करता है, उसके कोड, उसके नामों और उसकी दिशा के साथ। |
ऑब्जेक्ट
जवाब डिकोड किया हुआ JSON है, एक Map<String, Object> के रूप में। पैकेज अपना टाइप केवल वहीं बनाता है जहाँ वह जवाब को आकार देता है। हर एक uk.openemail.result में एक अपरिवर्तनीय record है, और एक for लूप उसकी पंक्तियों पर चलता है।
| क्लास | इसमें क्या होता है |
|---|---|
| Page | items, hasMore और nextCursor, हर पेज वाले list से। |
| PeoplePage | वही और साथ में seen, contacts().listPeople से। |
| TempMessagesPage | वही और साथ में expiresAt, tempMail().listMessages से। |
| AddressBookPage, AddressBook | unrestricted, addresses और domains, addresses().list (hasMore और nextCursor के साथ) और addresses().listAll से। |
| BatchResult | items, sent और failed, emails().sendBatch से। |
| TemplateSends | items, total, page और pageSize, templates().listSends से। |
| PagedIterable | हर पेज पर चलने वाला क्रम, हर iterate से: एक for लूप, stream() या toList()। |
| Body, RequestOptions | एक कॉल क्या लेती है: ऐसी अनुरोध बॉडी जो अपना क्रम बनाए रखती है और null मान स्वीकार करती है, और एक कॉल के विकल्प। |
पैकेज जो भी एक्सेप्शन थ्रो करता है वह एक OpenEmailException है: ApiException और उसकी सबक्लास, NetworkException और WebhookSignatureException। कॉल में ही हुई गलती कुछ भी भेजे जाने से पहले IllegalArgumentException थ्रो करती है।
यह जानबूझकर क्या नहीं करता
- यह किसी रिक्वेस्ट बॉडी को सत्यापित नहीं करता। सर्वर का schema नियमों की इकलौती प्रति है, और यहाँ दूसरी प्रति आख़िरकार ऐसे पते को अस्वीकार कर देती जिसे नया सर्वर स्वीकार करता है, किसी ऐसे वर्शन में जिसे किसी ने दो साल पहले pin किया था।
- यह जवाब का आकार केवल एक तरह से बदलता है: किसी कलेक्शन की
dataसूची को उसके लिफ़ाफ़े से निकालकर ऊपर के किसी टाइप में रखा जाता है। बाकी हर जवाब वैसा ही लौटता है जैसा API ने भेजा, API की camelCase कुंजियों के साथ। - इसमें कोई एसिंक्रोनस मेथड नहीं है। एक कॉल जवाब आने तक अपने थ्रेड को रोके रखती है, जिसकी लागत वर्चुअल थ्रेड पर बहुत कम है।