Tipus i utilitats
Què més exporta el paquet.
Exportacions en temps d'execució
| Exportació | Què és |
|---|---|
| `init`, `openemail` | Configura el client compartit un sol cop i després importa openemail on calgui. Es construeix sol a partir d'OPENEMAIL_API_KEY si init no s'ha executat mai. |
| `getClient`, `resetClient` | El client compartit en si, i una manera de descartar-lo perquè la crida següent en construeixi un de nou, que és el que vol un test entre casos. |
| `createOpenEmail`, `createClient`, `OpenEmail` | Un client a part. createOpenEmail llegeix l'entorn per a tot allò que ometis (createClient és la mateixa funció), i new OpenEmail (també l'exportació per defecte) només agafa el que li passes. |
| `createTempMail` | Un client de bústia d'un sol ús que no porta cap clau API, i l'única part del paquet que s'executa en un navegador. |
| `OpenEmailApiError`, `OpenEmailNetworkError` | Les dues classes d'error. |
| `verifyWebhookSignature` | De temps constant, amb una finestra de repetició. Es resol amb el payload analitzat i llança una excepció davant de qualsevol error. |
| `toBase64` | Per fragments, per als bytes dels adjunts. |
| `isApiKey` | Si una cadena té la forma oe_live_ o oe_test_. És una comprovació de forma, no una prova que la clau encara funcioni. |
| `isSealed`, `MESSAGE_ENCRYPTION_FORMATS` | Si el cos d'un missatge és text xifrat, i els cinc sobres que la ingesta pot anomenar. isSealed és false per als dos formats SIGNED, els cossos dels quals van arribar en clar, i per això s'inclou en lloc de deixar que qui crida ho dedueixi de la unió. |
| `LANGUAGES`, `resolveLanguage`, `languageByCode`, `isRtlLanguage` | La taula d'idiomes inclosa, i les cerques que necessita un selector d'idioma. |
| `API_SCOPES` | El vocabulari de scopes, per a una pantalla de creació de claus. |
| `WEBHOOK_EVENTS`, `WEBHOOK_SIGNATURE_HEADERS` | Els esdeveniments als quals es pot subscriure un endpoint, i els noms de les capçaleres que porta un lliurament. |
| `RULE_FIELDS`, `RULE_OPERATORS`, `RULE_ACTIONS` | El vocabulari amb què es construeixen les condicions i les accions d'una regla. |
| `PAGE_LIMITS` | El limit màxim i el predeterminat en una llista paginada: 100 i 25. |
| `ERROR_TYPES` | El vocabulari d'errors congelat. |
| `VERSION` | La versió del paquet. |
Tipus
Cada petició i cada resposta en tenen un, i s'exporten des de l'arrel del paquet. No hi ha importacions profundes, de manera que l'estructura de fitxers continua sent un detall d'implementació que es pot moure sense una versió major. …Resource és el que retorna l'API, …Create, …Patch, …Input i …Send són el que passes tu, i …Options conté els filtres i les opcions per crida.
- Client:
ClientOptions,TempMailOptions,TransportOptions,RequestOptions,RequestScope,SendScope,InboxScope,ListOptions,Page,ApiKeyMode,FetchLike. - Errors:
ErrorType,ApiErrorPayload,ApiErrorProps. - Correus electrònics:
EmailSend,EmailListOptions,EmailTranslate,EmailResource,SentEmailResource,EmailRecipientResource,EmailEventResource,EmailStatus,EmailSource,EmailTransport,EmailTrackingSummary,EmailTranslationResource,TranslationResource,RecipientStatus,BatchItemResource,BatchResultResource. - Plantilles:
TemplateCreate,TemplatePatch,TemplateContent,TemplateListOptions,TemplatePreviewInput,TemplateSend,TemplateResource,TemplateDetailResource,TemplateVersionResource,TemplatePreviewResource,SentTemplateEmailResource,DeletedTemplateResource,TemplateEngine,TemplateProp,TemplateSlot,TemplateStatus,TemplateValueKind. - Seguiment:
TrackingListOptions,TrackingStatsOptions,TrackingHitOptions,TrackingResource,TrackingSummary,TrackingRecipientResource,TrackingLinkResource,TrackingOpenResource,TrackingClickResource,TrackingStatsResource,TrackingGrain. - Converses i esborranys:
ThreadListOptions,ThreadPatch,ThreadResource,ThreadSummaryResource,UpdatedThreadResource,TrashedThreadResource,SnoozedThreadResource,DraftInput,DraftListOptions,DraftResource,DraftSummaryResource,SavedDraftResource,DeletedDraftResource. - Etiquetes, contactes, dominis i adreces:
LabelInput,LabelColor,LabelResource,SavedLabelResource,DeletedLabelResource,ContactCreate,ContactPatch,ContactListOptions,ContactSource,ContactResource,ContactDetailResource,ContactAudienceResource,DeletedContactResource,DomainPatch,DomainResource,DomainDetailResource,DomainSendingState,DomainTracking,DomainTrackingState,AddressBookResource,AddressResource,SendableDomainResource. - Regles:
RuleCreate,RulePatch,RuleListOptions,RuleRunListOptions,RuleTestInput,RuleResource,RuleRunResource,RuleTestResource,DeletedRuleResource,RuleCondition,RuleConditionInput,RuleAction,RuleActionType,RuleField,RuleOperator. - Webhooks:
WebhookCreate,WebhookPatch,WebhookResource,CreatedWebhookResource,DeletedWebhookResource,WebhookDeliveryResource,WebhookTestResource,WebhookEvent,WebhookPayload,EmailOpenedData,EmailClickedData,EmailDownloadedData,VerifyWebhookProps,WebhookSignatureHeaders. - Calendari i configuració:
CalendarRangeOptions,CalendarOccurrenceResource,CalendarEventResource,CalendarAttendeeResource,SettingsPatch,SettingsResource. - Rols, membres i claus:
RoleCreate,RolePatch,RoleDeleteOptions,RoleResource,DeletedRoleResource,PermissionResource,MemberAdd,MemberPatch,MemberAddressGrant,MemberResource,MemberAddressResource,RemovedMemberResource,MemberAccess,KeyResource,PingResource. - Bústies d'un sol ús:
TempInboxCreate,TempMessageListOptions,TempInboxResource,CreatedTempInboxResource,DeletedTempInboxResource,TempDomainResource,TempMessageResource,TempMessagesResource,TempMessageDetailResource,DeletedTempMessageResource. - Compartits:
RecipientInput,AttachmentInput,AttachmentResource,MessageResource,MessageEncryption,MessageEncryptionFormat,TrackingRequest,TranslateOptions,SendTranslateOptions,LanguageResource,ApiScope,Permission,BuiltinRole,HitKind.
Un endpoint que això encara no embolcalla
Una versió de l'SDK no hauria de ser mai allò que et separa d'un endpoint que ja funciona. openemail.raw.request() accepta una ruta i unes opcions i es resol amb el cos analitzat, aplicant-hi la clau, la URL base, el temps d'espera i la política de reintents del client.
const result = await openemail.raw.request<Whatever>('/something-new', { method: 'POST', query: { dryRun: true }, body: { name: 'Invoices' }, repeatable: true,})Un GET es reintenta com qualsevol altra lectura. Qualsevol altre mètode s'envia un sol cop tret que passis repeatable: true, que és la teva afirmació que es pot enviar dues vegades. query omet els valors undefined, i signal funciona igual que a tots els altres mètodes.
El que deliberadament no fa
- No valida cap cos de petició. L'esquema del servidor és l'única còpia de les regles, i una segona còpia aquí acabaria rebutjant una adreça que un servidor més nou accepta, en una versió que algú va fixar fa dos anys.
- No inclou zod ni cap dependència en temps d'execució.
- Només remodela una resposta d'una manera: l'array
datad'una col·lecció s'extreu del seu sobre. Una llista paginada el retorna com aitemsal costat dehasMoreinextCursor,emails.sendBatchcom aitemsal costat desentifailed,tempMail.listMessagescom aitemsal costat d'expiresAt, iaddresses.listcom aaddressesal costat d'unrestrictedidomains. Arreu més és un array simple. Cada recurs de dins conserva la forma HTTP documentada.
La comprovació de paritat del paquet manté això honest. Fa fallar la compilació quan una operació documentada no té cap mètode, quan un mètode apunta a una operació que el document OpenAPI no té o envia una petició diferent, i quan un mètode declara scopes que l'operació no requereix.