दस्तावेज़ पर जाएँ
SDK

टाइप और हेल्पर

पैकेज और क्या export करता है।

रनटाइम एक्सपोर्ट

एक्सपोर्टयह क्या है
`init`, `openemail`साझा क्लाइंट को एक बार कॉन्फ़िगर करें, फिर कहीं भी openemail import करें। अगर init कभी नहीं चला तो वह खुद को OPENEMAIL_API_KEY से बना लेता है।
`getClient`, `resetClient`साझा क्लाइंट खुद, और उसे गिराने का तरीका ताकि अगला कॉल नया बना ले — यही कोई टेस्ट अपने मामलों के बीच चाहता है।
`createOpenEmail`, `createClient`, `OpenEmail`एक अलग क्लाइंट। जो कुछ आप छोड़ देते हैं उसके लिए createOpenEmail environment पढ़ता है (createClient वही function है), और new OpenEmail (जो default export भी है) केवल वही लेता है जो आप देते हैं।
`createTempMail`डिस्पोज़ेबल-इनबॉक्स क्लाइंट, जो कोई API key नहीं ढोता, और पैकेज का इकलौता हिस्सा है जो ब्राउज़र में चलता है।
`OpenEmailApiError`, `OpenEmailNetworkError`दोनों error क्लास।
`verifyWebhookSignature`स्थिर-समय में, replay विंडो के साथ। पार्स किए गए payload में resolve होता है और किसी भी विफलता पर throw करता है।
`toBase64`खंडों में, attachment बाइट्स के लिए।
`isApiKey`क्या किसी string का आकार oe_live_ या oe_test_ वाला है। यह आकार की जाँच है, इसका प्रमाण नहीं कि key अब भी काम करती है।
`isSealed`, `MESSAGE_ENCRYPTION_FORMATS`क्या किसी संदेश की body ciphertext है, और वे पाँच envelope जिनका नाम ingest ले सकता है। दो SIGNED प्रारूपों के लिए isSealed false है, जिनकी body साफ़ रूप में आई थी — इसीलिए यह शिप होता है, बजाय इसके कि कॉल करने वाला इसे union से खुद निकाले।
`LANGUAGES`, `resolveLanguage`, `languageByCode`, `isRtlLanguage`बंडल की गई भाषा तालिका, और वे lookups जो किसी भाषा चयनकर्ता को चाहिए।
`API_SCOPES`scope की शब्दावली, key बनाने वाली स्क्रीन के लिए।
`WEBHOOK_EVENTS`, `WEBHOOK_SIGNATURE_HEADERS`वे events जिनकी कोई endpoint सदस्यता ले सकता है, और उन header के नाम जो हर delivery लिए चलती है।
`RULE_FIELDS`, `RULE_OPERATORS`, `RULE_ACTIONS`वह शब्दावली जिससे किसी rule की शर्तें और actions बनते हैं।
`PAGE_LIMITS`किसी पेज वाली सूची पर सबसे बड़ी और डिफ़ॉल्ट limit: 100 और 25।
`ERROR_TYPES`जमी हुई error शब्दावली।
`VERSION`पैकेज का संस्करण।

टाइप

हर request और response का एक है, और वे पैकेज की जड़ से export होते हैं। कोई deep import नहीं है, इसलिए फ़ाइल का ढाँचा एक कार्यान्वयन विवरण बना रहता है जो major संस्करण बदले बिना हिल सकता है। …Resource वह है जो API लौटाता है, …Create, …Patch, …Input और …Send वे हैं जो आप देते हैं, और …Options में filters तथा प्रति-कॉल विकल्प होते हैं।

  • क्लाइंट: ClientOptions, TempMailOptions, TransportOptions, RequestOptions, RequestScope, SendScope, InboxScope, ListOptions, Page, ApiKeyMode, FetchLike
  • त्रुटियाँ: ErrorType, ApiErrorPayload, ApiErrorProps
  • ईमेल: EmailSend, EmailListOptions, EmailTranslate, EmailResource, SentEmailResource, EmailRecipientResource, EmailEventResource, EmailStatus, EmailSource, EmailTransport, EmailTrackingSummary, EmailTranslationResource, TranslationResource, RecipientStatus, BatchItemResource, BatchResultResource
  • टेम्पलेट: TemplateCreate, TemplatePatch, TemplateContent, TemplateListOptions, TemplatePreviewInput, TemplateSend, TemplateResource, TemplateDetailResource, TemplateVersionResource, TemplatePreviewResource, SentTemplateEmailResource, DeletedTemplateResource, TemplateEngine, TemplateProp, TemplateSlot, TemplateStatus, TemplateValueKind
  • ट्रैकिंग: TrackingListOptions, TrackingStatsOptions, TrackingHitOptions, TrackingResource, TrackingSummary, TrackingRecipientResource, TrackingLinkResource, TrackingOpenResource, TrackingClickResource, TrackingStatsResource, TrackingGrain
  • थ्रेड और ड्राफ़्ट: ThreadListOptions, ThreadPatch, ThreadResource, ThreadSummaryResource, UpdatedThreadResource, TrashedThreadResource, SnoozedThreadResource, DraftInput, DraftListOptions, DraftResource, DraftSummaryResource, SavedDraftResource, DeletedDraftResource
  • लेबल, संपर्क, डोमेन और पते: LabelInput, LabelColor, LabelResource, SavedLabelResource, DeletedLabelResource, ContactCreate, ContactPatch, ContactListOptions, ContactSource, ContactResource, ContactDetailResource, ContactAudienceResource, DeletedContactResource, DomainPatch, DomainResource, DomainDetailResource, DomainSendingState, DomainTracking, DomainTrackingState, AddressBookResource, AddressResource, SendableDomainResource
  • नियम: RuleCreate, RulePatch, RuleListOptions, RuleRunListOptions, RuleTestInput, RuleResource, RuleRunResource, RuleTestResource, DeletedRuleResource, RuleCondition, RuleConditionInput, RuleAction, RuleActionType, RuleField, RuleOperator
  • वेबहुक: WebhookCreate, WebhookPatch, WebhookResource, CreatedWebhookResource, DeletedWebhookResource, WebhookDeliveryResource, WebhookTestResource, WebhookEvent, WebhookPayload, EmailOpenedData, EmailClickedData, EmailDownloadedData, VerifyWebhookProps, WebhookSignatureHeaders
  • कैलेंडर और सेटिंग्स: CalendarRangeOptions, CalendarOccurrenceResource, CalendarEventResource, CalendarAttendeeResource, SettingsPatch, SettingsResource
  • रोल, सदस्य और keys: RoleCreate, RolePatch, RoleDeleteOptions, RoleResource, DeletedRoleResource, PermissionResource, MemberAdd, MemberPatch, MemberAddressGrant, MemberResource, MemberAddressResource, RemovedMemberResource, MemberAccess, KeyResource, PingResource
  • डिस्पोज़ेबल इनबॉक्स: TempInboxCreate, TempMessageListOptions, TempInboxResource, CreatedTempInboxResource, DeletedTempInboxResource, TempDomainResource, TempMessageResource, TempMessagesResource, TempMessageDetailResource, DeletedTempMessageResource
  • साझा: RecipientInput, AttachmentInput, AttachmentResource, MessageResource, MessageEncryption, MessageEncryptionFormat, TrackingRequest, TranslateOptions, SendTranslateOptions, LanguageResource, ApiScope, Permission, BuiltinRole, HitKind

ऐसा endpoint जिसे यह अभी नहीं लपेटता

किसी SDK रिलीज़ को कभी आपके और पहले से काम कर रहे endpoint के बीच नहीं खड़ा होना चाहिए। openemail.raw.request() एक path और विकल्प लेता है और पार्स की गई body में resolve होता है, जिसमें क्लाइंट की key, base URL, timeout और retry नीति लागू होती है।

escape-hatch.ts
const result = await openemail.raw.request<Whatever>('/something-new', {  method: 'POST',  query: { dryRun: true },  body: { name: 'Invoices' },  repeatable: true,})

GET को किसी भी दूसरे read की तरह retry किया जाता है। कोई भी दूसरा method एक ही बार भेजा जाता है, जब तक आप repeatable: true न दें, जो आपका यह दावा है कि उसे दो बार भेजा जा सकता है। query उन मानों को छोड़ देता है जो undefined हैं, और signal वैसे ही काम करता है जैसे हर दूसरे method पर।

यह जानबूझकर क्या नहीं करता

  • यह किसी request body को validate नहीं करता। नियमों की इकलौती प्रति सर्वर का schema है, और यहाँ रखी दूसरी प्रति किसी दिन ऐसा पता अस्वीकार कर देती जिसे नया सर्वर स्वीकार करता है — उस संस्करण में जिसे किसी ने दो साल पहले pin किया था।
  • यह न zod शिप करता है और न कोई रनटाइम dependency।
  • यह रिस्पॉन्स को केवल एक तरह से बदलता है: किसी संग्रह का data array उसके envelope से बाहर उठा लिया जाता है। पेज वाली सूची उसे hasMore और nextCursor के साथ items के रूप में लौटाती है, emails.sendBatch उसे sent और failed के साथ items के रूप में, tempMail.listMessages उसे expiresAt के साथ items के रूप में, और addresses.list उसे unrestricted तथा domains के साथ addresses के रूप में। बाकी हर जगह यह सादा array है। अंदर का हर resource प्रलेखित HTTP आकार बनाए रखता है।

पैकेज की parity जाँच इसे ईमानदार रखती है। वह बिल्ड तब फेल करती है जब किसी प्रलेखित ऑपरेशन का कोई method न हो, जब कोई method ऐसे ऑपरेशन की ओर इशारा करे जो OpenAPI दस्तावेज़ में नहीं है या अलग request भेजे, और जब कोई method ऐसे scope घोषित करे जो ऑपरेशन माँगता ही नहीं।