Instalacja
Jeden pakiet, zero zależności, każde serwerowe środowisko uruchomieniowe.
Instalacja
Pierwsze wydanie to 0.0.1. Każda udokumentowana operacja ma metodę, kontrola zgodności pakietu wywraca build, gdy którejś zabraknie, a API, które opakowuje, jest włączone w każdym środowisku.
pnpm add @openemail/sdkimport { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const email = await openemail.emails.send({ from: 'Acme Billing <[email protected]>', to: '[email protected]', subject: 'Your September invoice', html: '<p>Invoice attached.</p>',}) console.log(email.id, email.status)init konfiguruje współdzielonego klienta openemail jeden raz, a każdy moduł, który później zaimportuje openemail, dostaje tego klienta. Pomiń je, a pierwsze wywołanie zbuduje klienta z OPENEMAIL_API_KEY.
Rozwiązanie się send() nie znaczy, że wiadomość poszła. Wysyłka zaplanowana albo anulowalna wraca jako queued lub scheduled i rozstrzyga się później. Czytaj status, a nie fakt, że obietnica się rozwiązała.
Gdzie działa
Zero zależności czasu wykonania, na Node 20+, Bun, Deno i Cloudflare Workers. Używa globalnego fetch i niczego więcej, a możesz podać własny.
Dostarczane są i ESM, i CommonJS, każdy z własnymi deklaracjami typów, więc działa zarówno import { openemail } from '@openemail/sdk', jak i const { openemail } = require('@openemail/sdk').
Nie w przeglądarce. Klient niesie klucz API przestrzeni roboczej, który może wysyłać pocztę i czytać skrzynkę, więc odmawia startu tam, gdzie istnieją window i document. Jednorazowe skrzynki są wyjątkiem: createTempMail() nie potrzebuje klucza i działa na stronie.
To jest klient **TypeScript/JavaScript** i nie ma pakietu dla Pythona, Go, PHP ani Ruby. Z innego języka API to zwykły HTTP i JSON: szybki start niesie działające żądanie w ośmiu językach, a dokument OpenAPI wygeneruje klienta w większości pozostałych.