Kalo te dokumentacioni
SDK

Tipet dhe ndihmësit

Çfarë tjetër eksporton paketa.

Eksportet në kohë ekzekutimi

EksportiÇfarë është
`init`, `openemail`Konfiguroni një herë të vetme klientin e përbashkët, pastaj importoni openemail kudo. Ai ndërtohet vetë nga OPENEMAIL_API_KEY nëse init nuk është thirrur kurrë.
`getClient`, `resetClient`Vetë klienti i përbashkët dhe një mënyrë për ta hedhur tej, që thirrja tjetër të ndërtojë një të ri — pikërisht ajo që i duhet një testi midis rasteve.
`createOpenEmail`, `createClient`, `OpenEmail`Një klient më vete. createOpenEmail e lexon mjedisin për çdo gjë që lini jashtë (createClient është i njëjti funksion), kurse new OpenEmail (edhe eksporti i parazgjedhur) merr vetëm atë që i jepni.
`createTempMail`Një klient për kuti të përkohshme që nuk mbart asnjë çelës API dhe pjesa e vetme e paketës që funksionon në një shfletues.
`OpenEmailApiError`, `OpenEmailNetworkError`Dy klasat e gabimeve.
`verifyWebhookSignature`Në kohë konstante, me një dritare replay. Kthen payload-in e parsuar dhe hedh gabim në çdo dështim.
`toBase64`Në copa, për bajtat e bashkëngjitjeve.
`isApiKey`Nëse një varg e ka formën oe_live_ ose oe_test_. Një kontroll forme, jo provë se çelësi ende funksionon.
`isSealed`, `MESSAGE_ENCRYPTION_FORMATS`Nëse trupi i një mesazhi është tekst i shifruar, dhe pesë zarfet që mund të emërtojë ingest-i. isSealed është false për dy formatet SIGNED, trupat e të cilave mbërritën të hapur — prandaj vjen i gatshëm, në vend që t'i lihet thirrësit ta nxjerrë vetë nga union-i.
`LANGUAGES`, `resolveLanguage`, `languageByCode`, `isRtlLanguage`Tabela e gjuhëve e përfshirë në paketë dhe kërkimet që i duhen një zgjedhësi gjuhe.
`API_SCOPES`Fjalori i scope-ve, për një ekran krijimi çelësash.
`WEBHOOK_EVENTS`, `WEBHOOK_SIGNATURE_HEADERS`Ngjarjet te të cilat mund të abonohet një endpoint dhe emrat e header-ave që mbart një dërgesë.
`RULE_FIELDS`, `RULE_OPERATORS`, `RULE_ACTIONS`Fjalori nga i cili ndërtohen kushtet dhe veprimet e një rregulli.
`PAGE_LIMITS`Vlera më e madhe dhe ajo e parazgjedhur e limit në një listë me faqe: 100 dhe 25.
`ERROR_TYPES`Fjalori i ngrirë i gabimeve.
`VERSION`Versioni i paketës.

Tipet

Çdo kërkesë dhe çdo përgjigje ka një të tillë, dhe ato eksportohen nga rrënja e paketës. Nuk ka importe të thella, ndaj struktura e skedarëve mbetet një detaj implementimi që mund të lëvizë pa një version madhor. …Resource është ajo që kthen API-ja; …Create, …Patch, …Input dhe …Send janë ato që dërgoni ju; kurse …Options mban filtrat dhe opsionet për çdo thirrje.

  • Klienti: ClientOptions, TempMailOptions, TransportOptions, RequestOptions, RequestScope, SendScope, InboxScope, ListOptions, Page, ApiKeyMode, FetchLike.
  • Gabimet: ErrorType, ApiErrorPayload, ApiErrorProps.
  • Emailet: EmailSend, EmailListOptions, EmailTranslate, EmailResource, SentEmailResource, EmailRecipientResource, EmailEventResource, EmailStatus, EmailSource, EmailTransport, EmailTrackingSummary, EmailTranslationResource, TranslationResource, RecipientStatus, BatchItemResource, BatchResultResource.
  • Shabllonet: TemplateCreate, TemplatePatch, TemplateContent, TemplateListOptions, TemplatePreviewInput, TemplateSend, TemplateResource, TemplateDetailResource, TemplateVersionResource, TemplatePreviewResource, SentTemplateEmailResource, DeletedTemplateResource, TemplateEngine, TemplateProp, TemplateSlot, TemplateStatus, TemplateValueKind.
  • Gjurmimi: TrackingListOptions, TrackingStatsOptions, TrackingHitOptions, TrackingResource, TrackingSummary, TrackingRecipientResource, TrackingLinkResource, TrackingOpenResource, TrackingClickResource, TrackingStatsResource, TrackingGrain.
  • Bisedat dhe skicat: ThreadListOptions, ThreadPatch, ThreadResource, ThreadSummaryResource, UpdatedThreadResource, TrashedThreadResource, SnoozedThreadResource, DraftInput, DraftListOptions, DraftResource, DraftSummaryResource, SavedDraftResource, DeletedDraftResource.
  • Etiketat, kontaktet, domenet dhe adresat: LabelInput, LabelColor, LabelResource, SavedLabelResource, DeletedLabelResource, ContactCreate, ContactPatch, ContactListOptions, ContactSource, ContactResource, ContactDetailResource, ContactAudienceResource, DeletedContactResource, DomainPatch, DomainResource, DomainDetailResource, DomainSendingState, DomainTracking, DomainTrackingState, AddressBookResource, AddressResource, SendableDomainResource.
  • Rregullat: RuleCreate, RulePatch, RuleListOptions, RuleRunListOptions, RuleTestInput, RuleResource, RuleRunResource, RuleTestResource, DeletedRuleResource, RuleCondition, RuleConditionInput, RuleAction, RuleActionType, RuleField, RuleOperator.
  • Webhook-et: WebhookCreate, WebhookPatch, WebhookResource, CreatedWebhookResource, DeletedWebhookResource, WebhookDeliveryResource, WebhookTestResource, WebhookEvent, WebhookPayload, EmailOpenedData, EmailClickedData, EmailDownloadedData, VerifyWebhookProps, WebhookSignatureHeaders.
  • Kalendari dhe cilësimet: CalendarRangeOptions, CalendarOccurrenceResource, CalendarEventResource, CalendarAttendeeResource, SettingsPatch, SettingsResource.
  • Rolet, anëtarët dhe çelësat: RoleCreate, RolePatch, RoleDeleteOptions, RoleResource, DeletedRoleResource, PermissionResource, MemberAdd, MemberPatch, MemberAddressGrant, MemberResource, MemberAddressResource, RemovedMemberResource, MemberAccess, KeyResource, PingResource.
  • Kutitë e përkohshme: TempInboxCreate, TempMessageListOptions, TempInboxResource, CreatedTempInboxResource, DeletedTempInboxResource, TempDomainResource, TempMessageResource, TempMessagesResource, TempMessageDetailResource, DeletedTempMessageResource.
  • Të përbashkëta: RecipientInput, AttachmentInput, AttachmentResource, MessageResource, MessageEncryption, MessageEncryptionFormat, TrackingRequest, TranslateOptions, SendTranslateOptions, LanguageResource, ApiScope, Permission, BuiltinRole, HitKind.

Një endpoint që kjo ende nuk e mbështjell

Një publikim i SDK-së nuk duhet të jetë kurrë ajo që qëndron midis jush dhe një endpoint-i që tashmë funksionon. openemail.raw.request() merr një shteg dhe opsione dhe kthen trupin e parsuar, me çelësin, base URL-në, timeout-in dhe politikën e riprovave të klientit të zbatuara.

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

Një GET riprovohet si çdo lexim tjetër. Çdo metodë tjetër dërgohet një herë të vetme, veç nëse jepni repeatable: true, që është pohimi juaj se ajo mund të dërgohet dy herë. query i anashkalon vlerat që janë undefined, kurse signal funksionon njësoj si në çdo metodë tjetër.

Çfarë nuk bën me qëllim

  • Nuk validon asnjë trup kërkese. Skema e serverit është kopja e vetme e rregullave, dhe një kopje e dytë këtu do të përfundonte duke refuzuar një adresë që një server më i ri e pranon, në një version që dikush e ka fiksuar dy vjet më parë.
  • Nuk sjell asnjë zod dhe asnjë varësi në kohë ekzekutimi.
  • E rimodelon një përgjigje vetëm në një mënyrë: vargu data i një koleksioni nxirret jashtë zarfit të vet. Një listë me faqe e kthen si items përkrah hasMore dhe nextCursor, emails.sendBatch si items përkrah sent dhe failed, tempMail.listMessages si items përkrah expiresAt, kurse addresses.list si addresses përkrah unrestricted dhe domains. Kudo tjetër është një varg i thjeshtë. Çdo burim brenda tij e ruan formën HTTP të dokumentuar.

Kontrolli i barasvlerës i paketës e mban këtë të ndershme. Ai e dështon build-in kur një operacion i dokumentuar nuk ka metodë, kur një metodë tregon nga një operacion që dokumenti OpenAPI nuk e ka ose dërgon një kërkesë tjetër, dhe kur një metodë deklaron scope-e që operacioni nuk i kërkon.