Belgelere geç
SDK

Değişiklik günlüğü

Paketin tüm sürümleri, en yeniden eskiye.

0.1.0

İkinci sürüm. Kişiler yazılabiliyor ve kitleler hâlinde gruplanabiliyor, bir alan adı kendi izleme ve dosya adlarını taşıyabiliyor ve bir anahtar kendini döndürebiliyor. Bir değişiklik mevcut kodu bozuyor ve aşağıda o başlık altında listelenmiştir.

  • openemail.audiences yeni: kişilerden oluşan adlandırılmış listeler; list, get, create, update, delete, listContacts, addContact ve removeContact ile. Her çalışma alanının, builtin değeri default olan tek bir varsayılan kitlesi vardır; bu kitle her kişiyi barındırır ve silinemez.
  • openemail.contacts artık yazabiliyor. create, update ve delete, list ve get'e katıldı ve her biri id olarak e-posta adresini alıyor.
  • openemail.domains.update(), bir alan adının kendi izleme adını ve dosya adını ayarlar veya temizler; DomainResource.tracking ve DomainResource.storage da her birinin durumunu bildirir.
  • openemail.me.rotate(), çağrıyı yapan anahtarın gizli değerini değiştirir ve yeni anahtarı bütünüyle döndürür. Örtüşme aralığı yoktur; eski gizli değer, çağrı döndüğü anda çalışmayı bırakır.
  • KeyResource.domainAllowlist, addressAllowlist içindeki tek tek adreslerin yanında bir anahtarı tüm alan adlarıyla sınırlar. Bir alan adı, anahtardan sonra oluşturulanlar dahil üzerindeki her adresi kapsar.
  • Ekler referansla gönderilebiliyor. { fileId }, satır içi biçimin yanında yer alır; attachmentDelivery ise dosyaları mesajın içinde taşımak, indirme bağlantılarıyla değiştirmek veya kararı dosya boyutuna bırakmak arasında seçim yapar.
  • On webhook olayı daha, toplam yirmi: yanıtlar, teslimler, gecikmeler, engellemeler, indirmeler ve üç alan adı olayı.
  • email.downloaded, indirme bağlantısı olarak giden bir dosyayı biri indirdiğinde tetiklenir. Tek bir bağlantı, mesajın gittiği herkese hizmet eder; bu yüzden olay hiçbir alıcıyı belirtmez.
  • Dört yeni kapsam: contacts:write, audiences:read, audiences:write ve keys:write.
  • Önceden serbest dizge olan dokuz alan artık adlandırılmış tiplere sahip; aralarında RecipientKind, ContactSource, RuleMatchMode ve WebhookDeliveryStatus var. Eskisiyle aynı dizgeleri kabul eder ve döndürürler.
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]' })

0.1.0 sürümünde ne bozuluyor

  • contacts.list artık dizi yerine Page<ContactResource> döndürüyor. Satırları page.items üzerinden okuyun ve page.hasMore true olduğu sürece page.nextCursor değerini izleyin. Adres defterinin sınırı yoktur ve eski dizi 200 satırda hiçbir şey söylemeden duruyordu.
  • API_SCOPES, ERROR_TYPES, MESSAGE_ENCRYPTION_FORMATS, RULE_ACTIONS, RULE_FIELDS, RULE_OPERATORS ve WEBHOOK_EVENTS artık dizi değil, anahtarlı nesnelerdir; böylece her üyenin kendisine seslenilecek bir adı olur. Değerler değişmedi.
  • contacts.list, kendisine hiç posta gönderilmemiş kişileri başta değil sonda sıralıyor; böylece yeni oluşturduğunuz bir kişi artık defterin en üstüne sıçramıyor.
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)

Yalnızca türetilmiş tipleri kullanan kod hiç dokunulmadan çalışmayı sürdürür. ApiScope, WebhookEvent ve diğerleri eskisiyle aynı tiplerdir.

0.0.1

İlk sürüm: her uç nokta için tipli bir metot ve hiç çalışma zamanı bağımlılığı yok.

  • Gönderim: tek mesaj, toplu gönderimler, zamanlanmış gönderimler, bir geri alma penceresi ve alıcının okuduğu dile çeviri.
  • Şablonlar: oluşturma, sürümleme, yayımlama, önizleme ve gönderme.
  • İzleme: açılmalar, tıklamalar ve her mesaj için bir özet.
  • Posta kutusu: konuşma dizileri, taslaklar, etiketler, kişiler ve kurallar.
  • Çalışma alanı: alan adları, adresler, üyeler, roller ve ayarlar.
  • Webhook'lar ve WebCrypto'nun çalıştığı her yerde çalışan bir imza doğrulayıcı.
  • Takvim etkinlikleri, ICS dosyası dahil.
  • Tek kullanımlık gelen kutuları; tarayıcıda da çalışan tek bölüm.
  • Her listede listAll ve iterate üzerinden cursor tabanlı sayfalama.
  • İki hata sınıfı ve bir gönderimi asla yineleyemeyen yeniden denemeler.
  • Node 20+, Bun, Deno ve Cloudflare Workers üzerinde ESM ve CommonJS.