Ugrás a dokumentációra
SDK

Típusok és segédfüggvények

Mit exportál még a csomag.

Futásidejű exportok

ExportMi ez
`init`, `openemail`Állítsd be egyszer a megosztott klienst, aztán bárhol importálhatod az openemail-t. Ha az init soha nem futott, az OPENEMAIL_API_KEY alapján építi fel magát.
`getClient`, `resetClient`Maga a megosztott kliens, és egy mód az eldobására, hogy a következő hívás újat építsen – ez kell egy tesztnek az esetek között.
`createOpenEmail`, `createClient`, `OpenEmail`Külön kliens. A createOpenEmail a környezetből olvas ki mindent, amit nem adsz meg (a createClient ugyanaz a függvény), a new OpenEmail pedig (egyben az alapértelmezett export) csak azt veszi figyelembe, amit átadsz.
`createTempMail`Eldobható postafiókhoz való kliens, amely nem hordoz API-kulcsot, és a csomag egyetlen olyan része, amely böngészőben is fut.
`OpenEmailApiError`, `OpenEmailNetworkError`A két hibaosztály.
`verifyWebhookSignature`Konstans idejű, visszajátszási ablakkal. A feldolgozott payloaddal tér vissza, és minden hibánál dob.
`toBase64`Darabolva, mellékletbájtokhoz.
`isApiKey`Azt mondja meg, hogy egy string oe_live_ vagy oe_test_ alakú-e. Alakellenőrzés, nem bizonyíték arra, hogy a kulcs még működik.
`isSealed`, `MESSAGE_ENCRYPTION_FORMATS`Azt mondja meg, hogy egy üzenet törzse titkosított szöveg-e, valamint az az öt boríték, amelyet a beérkeztetés megnevezhet. Az isSealed hamis a két ALÁÍRT formátumnál, amelyek törzse nyílt szövegként érkezett – ezért része a csomagnak, ahelyett hogy a hívóra bíznánk az unióból való levezetését.
`LANGUAGES`, `resolveLanguage`, `languageByCode`, `isRtlLanguage`A csomagolt nyelvtábla, és azok a keresők, amelyekre egy nyelvválasztónak szüksége van.
`API_SCOPES`A hatókörök szótára, kulcslétrehozó képernyőhöz.
`WEBHOOK_EVENTS`, `WEBHOOK_SIGNATURE_HEADERS`Az események, amelyekre egy végpont feliratkozhat, és azoknak a fejléceknek a nevei, amelyeket egy kézbesítés hordoz.
`RULE_FIELDS`, `RULE_OPERATORS`, `RULE_ACTIONS`Az a szótár, amelyből egy szabály feltételei és műveletei felépülnek.
`PAGE_LIMITS`A lapozott lista legnagyobb és alapértelmezett limit értéke: 100 és 25.
`ERROR_TYPES`A befagyasztott hibaszótár.
`VERSION`A csomag verziója.

Típusok

Minden kérésnek és válasznak van típusa, és mind a csomag gyökeréből exportálódik. Mély importok nincsenek, így a fájlszerkezet implementációs részlet marad, amely major verzió nélkül is mozgatható. A …Resource az, amit az API visszaad, a …Create, a …Patch, az …Input és a …Send az, amit átadsz, a …Options pedig a szűrőket és a híváson belüli beállításokat tartja.

  • Kliens: ClientOptions, TempMailOptions, TransportOptions, RequestOptions, RequestScope, SendScope, InboxScope, ListOptions, Page, ApiKeyMode, FetchLike.
  • Hibák: ErrorType, ApiErrorPayload, ApiErrorProps.
  • E-mailek: EmailSend, EmailListOptions, EmailTranslate, EmailResource, SentEmailResource, EmailRecipientResource, EmailEventResource, EmailStatus, EmailSource, EmailTransport, EmailTrackingSummary, EmailTranslationResource, TranslationResource, RecipientStatus, BatchItemResource, BatchResultResource.
  • Sablonok: TemplateCreate, TemplatePatch, TemplateContent, TemplateListOptions, TemplatePreviewInput, TemplateSend, TemplateResource, TemplateDetailResource, TemplateVersionResource, TemplatePreviewResource, SentTemplateEmailResource, DeletedTemplateResource, TemplateEngine, TemplateProp, TemplateSlot, TemplateStatus, TemplateValueKind.
  • Követés: TrackingListOptions, TrackingStatsOptions, TrackingHitOptions, TrackingResource, TrackingSummary, TrackingRecipientResource, TrackingLinkResource, TrackingOpenResource, TrackingClickResource, TrackingStatsResource, TrackingGrain.
  • Beszélgetések és piszkozatok: ThreadListOptions, ThreadPatch, ThreadResource, ThreadSummaryResource, UpdatedThreadResource, TrashedThreadResource, SnoozedThreadResource, DraftInput, DraftListOptions, DraftResource, DraftSummaryResource, SavedDraftResource, DeletedDraftResource.
  • Címkék, névjegyek, domainek és címek: LabelInput, LabelColor, LabelResource, SavedLabelResource, DeletedLabelResource, ContactCreate, ContactPatch, ContactListOptions, ContactSource, ContactResource, ContactDetailResource, ContactAudienceResource, DeletedContactResource, DomainPatch, DomainResource, DomainDetailResource, DomainSendingState, DomainTracking, DomainTrackingState, AddressBookResource, AddressResource, SendableDomainResource.
  • Szabályok: RuleCreate, RulePatch, RuleListOptions, RuleRunListOptions, RuleTestInput, RuleResource, RuleRunResource, RuleTestResource, DeletedRuleResource, RuleCondition, RuleConditionInput, RuleAction, RuleActionType, RuleField, RuleOperator.
  • Webhookok: WebhookCreate, WebhookPatch, WebhookResource, CreatedWebhookResource, DeletedWebhookResource, WebhookDeliveryResource, WebhookTestResource, WebhookEvent, WebhookPayload, EmailOpenedData, EmailClickedData, EmailDownloadedData, VerifyWebhookProps, WebhookSignatureHeaders.
  • Naptár és beállítások: CalendarRangeOptions, CalendarOccurrenceResource, CalendarEventResource, CalendarAttendeeResource, SettingsPatch, SettingsResource.
  • Szerepkörök, tagok és kulcsok: RoleCreate, RolePatch, RoleDeleteOptions, RoleResource, DeletedRoleResource, PermissionResource, MemberAdd, MemberPatch, MemberAddressGrant, MemberResource, MemberAddressResource, RemovedMemberResource, MemberAccess, KeyResource, PingResource.
  • Eldobható postafiókok: TempInboxCreate, TempMessageListOptions, TempInboxResource, CreatedTempInboxResource, DeletedTempInboxResource, TempDomainResource, TempMessageResource, TempMessagesResource, TempMessageDetailResource, DeletedTempMessageResource.
  • Közös: RecipientInput, AttachmentInput, AttachmentResource, MessageResource, MessageEncryption, MessageEncryptionFormat, TrackingRequest, TranslateOptions, SendTranslateOptions, LanguageResource, ApiScope, Permission, BuiltinRole, HitKind.

Olyan végpont, amelyet ez még nem csomagol be

Egy SDK-kiadás soha ne álljon közted és egy már működő végpont közé. Az openemail.raw.request() egy útvonalat és beállításokat vár, és a feldolgozott törzzsel tér vissza, a kliens kulcsával, alap-URL-jével, időkorlátjával és újrapróbálkozási szabályaival együtt.

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

A GET ugyanúgy újrapróbálkozik, mint bármely más olvasás. Minden más metódus egyszer megy el, hacsak nem adod át a repeatable: true beállítást, amellyel kijelented, hogy kétszer is elküldhető. A query kihagyja az undefined értékeket, a signal pedig ugyanúgy működik, mint minden más metóduson.

Amit szándékosan nem csinál

  • Semmilyen kéréstörzset nem validál. A szabályok egyetlen példánya a szerver sémája; egy második példány itt előbb-utóbb elutasítana egy olyan címet, amelyet egy újabb szerver elfogad – egy olyan verzióban, amelyet valaki két éve rögzített.
  • Nem tartalmaz zodot és egyáltalán semmilyen futásidejű függőséget.
  • A választ egyetlen módon alakítja át: a gyűjtemény data tömbjét kiemeli a borítékból. A lapozott lista items néven adja vissza a hasMore és a nextCursor mellett, az emails.sendBatch items néven a sent és a failed mellett, a tempMail.listMessages items néven az expiresAt mellett, az addresses.list pedig addresses néven az unrestricted és a domains mellett. Mindenhol máshol egyszerű tömb. A benne lévő minden erőforrás megtartja a dokumentált HTTP-alakot.

A csomag paritásellenőrzése tartja ezt tisztességben. Megbuktatja a buildet, ha egy dokumentált művelethez nincs metódus, ha egy metódus olyan műveletre mutat, amely nincs az OpenAPI-dokumentumban, vagy más kérést küld, illetve ha egy metódus olyan hatóköröket deklarál, amelyeket a művelet nem követel meg.