Sendery
Sendery

言語別 SDK

JavaScript / TypeScript

JavaScript / TypeScript から Sendery の公開済みテンプレートを送信します。

インストール
npm install @sendery/sdk
ソースコード

動作環境

Node.js 22.12 以上が必要です。ES モジュールのインポートを使用し、TypeScript の型定義を含みます。

設定

name と action_url を使う welcome テンプレートを公開し、プロジェクトの API キーを作成します。サーバーの環境変数 SENDERY_API_KEY に保存してください。 SDK はサーバーでのみ使用してください。

Shell
export SENDERY_API_KEY="your_project_api_key"

メールを送信

受付済みメールの id と status が返ります。

JavaScript and TypeScript
import { Sendery } from '@sendery/sdk';

const apiKey = process.env.SENDERY_API_KEY;
if (!apiKey) throw new Error('Set SENDERY_API_KEY on your server.');

const sendery = new Sendery(apiKey);
const receipt = await sendery.send({
  to: '[email protected]',
  template: 'welcome',
  data: { name: 'Alex', action_url: 'https://example.com/start' },
});

console.log(receipt.id);

メールの状態を取得

返された ID で配信状態を確認します。

JavaScript and TypeScript
const message = await sendery.get(receipt.id);
console.log(message.status);

送信を再試行

welcome-123 などのキーを 1 通に割り当て、再試行時は元の内容を使います。retry(3) は一時的なエラーに対して最大 3 回の追加試行を行い、send() だけでは 1 回のみ試行します。

JavaScript and TypeScript
const email = sendery.prepare({
  to: '[email protected]',
  template: 'welcome',
  data: { name: 'Alex', action_url: 'https://example.com/start' },
}, 'welcome-123');

const receipt = await email.retry(3).send();

エラー処理

SDK の例外を捕捉してステータスとコードを確認します。再試行の待機時間は秒単位です。以下では再試行の例で作成した email を使用します。

JavaScript and TypeScript
import { SenderyError } from '@sendery/sdk';

try {
  const receipt = await email.retry(3).send();
  console.log(receipt.id);
} catch (error) {
  if (error instanceof SenderyError) {
    console.error(error.status, error.code, error.errors);
    // error.retryAfter is a delay in seconds, when provided.
  }
  throw error;
}