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.
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
datai një koleksioni nxirret jashtë zarfit të vet. Një listë me faqe e kthen siitemspërkrahhasMoredhenextCursor,emails.sendBatchsiitemspërkrahsentdhefailed,tempMail.listMessagessiitemspërkrahexpiresAt, kurseaddresses.listsiaddressespërkrahunrestricteddhedomains. 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.