SDK
Seznam změn
Všechna vydání balíčku, od nejnovějšího.
0.1.0
Druhé vydání. Kontakty lze zapisovat a seskupovat do publik, doména může nést vlastní názvy pro tracking a pro soubory a klíč se umí sám rotovat. Jedna změna rozbíjí existující kód a je uvedená pod tímto seznamem.
openemail.audiencesje nové: pojmenované seznamy kontaktů, slist,get,create,update,delete,listContacts,addContactaremoveContact. Každý pracovní prostor má jedno výchozí publikum, to, jehožbuiltinjedefault, které drží všechny kontakty a nelze ho smazat.openemail.contactsumí zapisovat. Klistagetpřibylycreate,updateadeletea každá z nich bere jako id e-mailovou adresu.openemail.domains.update()nastavuje nebo maže vlastní název domény pro tracking a pro soubory aDomainResource.trackingaDomainResource.storagehlásí, jak na tom každý z nich je.openemail.me.rotate()nahradí tajemství volajícího klíče a vyhodnotí se na celý nový klíč. Neexistuje žádné překryvné okno, takže staré tajemství přestane fungovat v okamžiku, kdy se volání vrátí.KeyResource.domainAllowlistzužuje klíč na celé domény, vedle jednotlivých adres vaddressAllowlist. Doména pokrývá každou adresu na ní, včetně těch, které vznikly až po klíči.- Přílohy lze posílat odkazem.
{ fileId }stojí vedle vložené podoby aattachmentDeliveryvolí mezi nesením souborů uvnitř zprávy, jejich nahrazením odkazy ke stažení, nebo ponecháním rozhodnutí na jejich velikosti. - Deset dalších webhookových událostí, celkem dvacet: odpovědi, doručení, zpoždění, potlačení, stažení a tři události domény.
email.downloadedse spustí, když si člověk stáhne soubor, který odešel jako odkaz ke stažení. Jeden odkaz slouží všem, komu zpráva odešla, takže událost nejmenuje žádného příjemce.- Čtyři nové scopy:
contacts:write,audiences:read,audiences:writeakeys:write. - Devět polí, která byla volnými řetězci, má nyní pojmenované typy, mezi nimi
RecipientKind,ContactSource,RuleMatchModeaWebhookDeliveryStatus. Přijímají a vracejí stejné řetězce jako dřív.
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]' })Co se ve verzi 0.1.0 rozbije
contacts.listvracíPage<ContactResource>místo pole. Řádky čtěte zpage.itemsa následujtepage.nextCursor, dokud jepage.hasMoretrue. Adresář je neomezený a staré pole se bez upozornění zastavilo na 200 řádcích.API_SCOPES,ERROR_TYPES,MESSAGE_ENCRYPTION_FORMATS,RULE_ACTIONS,RULE_FIELDS,RULE_OPERATORSaWEBHOOK_EVENTSjsou klíčované objekty, ne pole, takže každý člen má jméno, kterým ho lze oslovit. Hodnoty se nemění.contacts.listřadí kontakty, kterým nikdy nic neodešlo, na konec místo na začátek, takže kontakt, který jste právě vytvořili, už neskočí na začátek adresáře.
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)Kód, který používal jen odvozené typy, funguje beze změny dál. ApiScope, WebhookEvent a ostatní jsou stále tytéž typy.
0.0.1
První vydání: jedna typovaná metoda pro každý endpoint a žádné runtime závislosti.
- Odesílání: jedna zpráva, dávky, naplánovaná odeslání, okno pro vrácení akce a překlad do jazyka, kterým příjemce čte.
- Šablony: vytvoření, verzování, publikování, náhled a odeslání.
- Sledování: otevření, kliknutí a souhrn pro každou zprávu.
- Schránka: vlákna, koncepty, štítky, kontakty a pravidla.
- Pracovní prostor: domény, adresy, členové, role a nastavení.
- Webhooky, s ověřovačem podpisu, který běží všude, kde běží WebCrypto.
- Kalendářové události, včetně souboru ICS.
- Jednorázové schránky, jediná část, která běží i v prohlížeči.
- Stránkování kurzorem u každého seznamu, přes
listAllaiterate. - Dvě třídy chyb a opakované pokusy, které nemohou zdvojit odeslání.
- ESM a CommonJS, na Node 20+, Bun, Deno a Cloudflare Workers.