インストール
パッケージは 1 つ、依存関係はゼロ、あらゆるサーバーランタイムで動作する。
インストール
最初のリリースは 0.0.1。ドキュメント化されたすべての操作にメソッドが存在し、欠けたものがあればパッケージのパリティチェックがビルドを失敗させる。ラップ対象の API はすべての環境で有効になっている。
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 は共有の openemail クライアントを一度だけ設定し、それ以降に openemail を import したモジュールはすべてそのクライアントを受け取る。init を省略した場合は、最初の呼び出しが OPENEMAIL_API_KEY からクライアントを構築する。
send() が解決したことはメッセージが送信済みであることを意味しない。スケジュール送信やキャンセル可能な送信は queued または scheduled として返り、後から確定する。Promise が解決したという事実ではなく、status を読むこと。
動作環境
ランタイム依存はゼロで、Node 20+、Bun、Deno、Cloudflare Workers で動作する。使用するのはグローバルの fetch だけであり、独自の実装を渡すこともできる。
ESM と CommonJS の双方を同梱し、それぞれに型定義が付属するため、import { openemail } from '@openemail/sdk' と const { openemail } = require('@openemail/sdk') のどちらも動作する。
ブラウザーでは動作しない。クライアントはメールを送信しメールボックスを読み取れるワークスペース API キーを保持するため、window と document が存在する環境では起動を拒否する。例外は使い捨て受信箱で、createTempMail() はキーを必要とせずページ内で動作する。
これは **TypeScript/JavaScript** のクライアントであり、Python、Go、PHP、Ruby のパッケージは存在しない。他の言語から見れば API は素の HTTP と JSON である。クイックスタートには 8 つの言語で動作するリクエストが載っており、OpenAPI ドキュメントからはその他ほとんどの言語のクライアントを生成できる。