SDK
Változásnapló
A csomag összes kiadása, a legújabbtól kezdve.
0.1.0
A második kiadás. A névjegyek írhatók és célközönségekbe rendezhetők, a domainek saját követési és fájlnevet kaphatnak, a kulcs pedig cserélheti önmagát. Egy változás megtöri a meglévő kódot, és az alatta van felsorolva.
- Az
openemail.audiencesúj: névjegyek elnevezett listái,list,get,create,update,delete,listContacts,addContactésremoveContactmetódusokkal. Minden munkaterületen van egy alapértelmezett célközönség – az, amelynek abuiltinértékedefault–, amely minden névjegyet tartalmaz, és nem törölhető. - Az
openemail.contactsmár írni is tud. Alistés agetmellé belép acreate, azupdateés adelete, és mindegyik az e-mail-címet veszi azonosítónak. - Az
openemail.domains.update()beállítja vagy törli a domain saját követési nevét és fájlnevét, aDomainResource.trackingés aDomainResource.storagepedig megmutatja, hol tart mindkettő. - Az
openemail.me.rotate()lecseréli a hívó kulcs titkos értékét, és a teljes új kulccsal tér vissza. Nincs átfedési ablak, tehát a régi titok abban a pillanatban érvénytelenné válik, amikor a hívás visszatér. - A
KeyResource.domainAllowlistteljes domainekre szűkíti a kulcsot, azaddressAllowlistegyedi címei mellett. A domain minden rajta lévő címet lefed, azokat is, amelyek a kulcs után jöttek létre. - A mellékletek hivatkozással is küldhetők. A
{ fileId }a beágyazott forma mellett áll, azattachmentDeliverypedig eldönti, hogy a fájlok az üzenetben utazzanak, letöltési linkekké alakuljanak, vagy a méretük döntsön. - Tíz további webhookesemény, összesen húsz: válaszok, kézbesítések, késések, letiltások, letöltések és a három domainesemény.
- Az
email.downloadedakkor indul, amikor valaki letölt egy olyan fájlt, amely letöltési linkként ment ki. Egy link mindenkit kiszolgál, akinek az üzenet ment, ezért az esemény nem nevez meg címzettet. - Négy új hatókör:
contacts:write,audiences:read,audiences:writeéskeys:write. - Kilenc mező, amely korábban laza sztring volt, mostantól nevesített típusú, köztük a
RecipientKind, aContactSource, aRuleMatchModeés aWebhookDeliveryStatus. Ugyanazokat a sztringeket fogadják el és adják vissza, mint eddig.
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]' })Mi törik el a 0.1.0-ban
- A
contacts.listtömb helyettPage<ContactResource>értéket ad vissza. A sorokat apage.itemsmezőből olvasd, és kövesd apage.nextCursorértékét, amíg apage.hasMoreigaz. A címjegyzék korlátlan, a régi tömb pedig 200 sornál megállt anélkül, hogy szólt volna. - Az
API_SCOPES, azERROR_TYPES, aMESSAGE_ENCRYPTION_FORMATS, aRULE_ACTIONS, aRULE_FIELDS, aRULE_OPERATORSés aWEBHOOK_EVENTStömb helyett kulcsolt objektum, így minden tagnak van neve, amelyen hivatkozni lehet rá. Az értékek változatlanok. - A
contacts.listazokat a névjegyeket, amelyeknek soha nem küldtek levelet, hátulra rendezi, nem előre, így a frissen létrehozott névjegy többé nem ugrik a címjegyzék tetejére.
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)Az a kód, amely csak a származtatott típusokat használta, változtatás nélkül működik tovább. Az ApiScope, a WebhookEvent és a többi ugyanaz a típus, ami eddig volt.
0.0.1
Az első kiadás: minden végponthoz egy tipizált metódus, futásidejű függőségek nélkül.
- Küldés: egyetlen üzenet, kötegek, ütemezett küldések, visszavonási ablak, és fordítás arra a nyelvre, amelyen a címzett olvas.
- Sablonok: létrehozás, verziózás, publikálás, előnézet és küldés.
- Követés: megnyitások, kattintások és üzenetenkénti összesítés.
- Postafiók: beszélgetések, piszkozatok, címkék, névjegyek és szabályok.
- Munkaterület: domainek, címek, tagok, szerepkörök és beállítások.
- Webhookok, aláírás-ellenőrzővel, amely mindenhol fut, ahol a WebCrypto is.
- Naptáresemények, az ICS-fájllal együtt.
- Eldobható postafiókok – az egyetlen rész, amely böngészőben is fut.
- Kurzoros lapozás minden listán, a
listAllés aziteratesegítségével. - Két hibaosztály, és olyan újrapróbálkozások, amelyek nem duplikálhatnak küldést.
- ESM és CommonJS, Node 20+, Bun, Deno és Cloudflare Workers alatt.