Pāriet uz dokumentāciju
SDK

Izmaiņu žurnāls

Katrs pakotnes laidiens, jaunākais vispirms.

0.1.0

Otrais laidiens. Kontaktus var rakstīt un grupēt auditorijās, domēnam var būt savi izsekošanas un failu nosaukumi, un atslēga var rotēt pati sevi. Viena izmaiņa salauž esošo kodu, un tā ir uzskaitīta zemāk.

  • openemail.audiences ir jauns: nosaukti kontaktu saraksti ar list, get, create, update, delete, listContacts, addContact un removeContact. Katrai darbvietai ir viena noklusējuma auditorija — tā, kuras builtin ir default —, kurā ir katrs kontakts un kuru nevar izdzēst.
  • openemail.contacts var rakstīt. create, update un delete pievienojas list un get, un katra no tām kā id pieņem e-pasta adresi.
  • openemail.domains.update() iestata vai notīra domēna paša izsekošanas nosaukumu un failu nosaukumu, un DomainResource.tracking un DomainResource.storage ziņo katra no tiem stāvokli.
  • openemail.me.rotate() nomaina izsaucošās atslēgas noslēpumu un atrisinās ar jauno atslēgu pilnībā. Pārklāšanās loga nav, tāpēc vecais noslēpums pārstāj darboties brīdī, kad izsaukums atgriežas.
  • KeyResource.domainAllowlist sašaurina atslēgu līdz veseliem domēniem, līdzās atsevišķajām adresēm addressAllowlist sarakstā. Domēns aptver katru adresi uz tā, arī tās, kas izveidotas pēc atslēgas.
  • Pielikumus var sūtīt pēc atsauces. { fileId } stāv līdzās iekļautajai formai, un attachmentDelivery izvēlas, vai nest failus ziņojuma iekšienē, aizstāt tos ar lejupielādes saitēm vai ļaut izlemt to izmēram.
  • Vēl desmit webhook notikumi, pavisam divdesmit: atbildes, piegādes, aizkaves, bloķēšanas, lejupielādes un trīs domēnu notikumi.
  • email.downloaded nostrādā, kad cilvēks ielādē failu, kas aizgāja kā lejupielādes saite. Viena saite apkalpo visus, kam ziņojums tika sūtīts, tāpēc notikums nenosauc adresātu.
  • Četri jauni tvērumi: contacts:write, audiences:read, audiences:write un keys:write.
  • Deviņiem laukiem, kas bija brīvas virknes, tagad ir nosaukti tipi, to vidū RecipientKind, ContactSource, RuleMatchMode un WebhookDeliveryStatus. Tie pieņem un atgriež tās pašas virknes kā agrāk.
audiences.ts
const audience = await openemail.audiences.create({ name: 'Product updates' }) await openemail.contacts.create({ email: '[email protected]', name: 'Grace Hopper' })await openemail.audiences.addContact(audience.id, { email: '[email protected]' })

Kas salūzt versijā 0.1.0

  • contacts.list masīva vietā atgriež Page<ContactResource>. Lasiet rindas no page.items un sekojiet page.nextCursor, kamēr page.hasMore ir true. Adrešu grāmata ir neierobežota, un vecais masīvs apstājās pie 200 rindām, to nepasakot.
  • API_SCOPES, ERROR_TYPES, MESSAGE_ENCRYPTION_FORMATS, RULE_ACTIONS, RULE_FIELDS, RULE_OPERATORS un WEBHOOK_EVENTS ir objekti ar atslēgām, nevis masīvi, tāpēc katram loceklim ir nosaukums, ar kuru to saukt. Vērtības nav mainījušās.
  • contacts.list kontaktus, kuriem nekad nav sūtīts pasts, kārto beigās, nevis sākumā, tāpēc tikko izveidots kontakts vairs neuzlec grāmatas augšgalā.
migrate.ts
import { API_SCOPES, WEBHOOK_EVENTS } from '@openemail/sdk' const scopes = Object.values(API_SCOPES)const subscribable = new Set<string>(Object.values(WEBHOOK_EVENTS)) const page = await openemail.contacts.list()for (const contact of page.items) send(contact.email)

Kods, kas izmantoja tikai atvasinātos tipus, turpina darboties neskarts. ApiScope, WebhookEvent un pārējie ir tie paši tipi, kas bija.

0.0.1

Pirmais laidiens: viena tipizēta metode katram galapunktam un nekādu izpildlaika atkarību.

  • Sūtīšana: viens ziņojums, partijas, plānoti sūtījumi, atsaukšanas logs un tulkošana valodā, kurā adresāts lasa.
  • Veidnes: izveide, versionēšana, publicēšana, priekšskatīšana un sūtīšana.
  • Izsekošana: atvēršanas, klikšķi un kopsavilkums katram ziņojumam.
  • Pastkaste: pavedieni, melnraksti, etiķetes, kontakti un noteikumi.
  • Darbvieta: domēni, adreses, dalībnieki, lomas un iestatījumi.
  • Webhook ar paraksta verificētāju, kas darbojas visur, kur darbojas WebCrypto.
  • Kalendāra notikumi, tostarp ICS fails.
  • Vienreizlietojamas iesūtnes — vienīgā daļa, kas darbojas arī pārlūkā.
  • Kursora lappušošana katrā sarakstā, izmantojot listAll un iterate.
  • Divas kļūdu klases un atkārtojumi, kas nevar dublēt sūtījumu.
  • ESM un CommonJS uz Node 20+, Bun, Deno un Cloudflare Workers.