Sendery
Sendery

ガイド

キュー内のメールを再試行

同じメールを重複送信せずに、一時的なエラーから再試行します。

再試行が必要になるとき

タイムアウト、レート制限、一時的なサービスエラーで送信リクエストが中断されることがあります。キューでは時間をおいて再試行できます。ただし、Sendery がメールを受け付けた後にタイムアウトする場合もあるため、重複送信を防ぐ必要があります。

同じリクエストを使う

送信前に、メールのデータと固有の冪等性キーをジョブに保存します。毎回同じ値を使ってください。受付済みの場合、Sendery は重複送信せずに元の ID を返します。

JavaScript
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);

// Save this object with your job before the first attempt.
const job = {
  key: 'your-idempotency-key',
  input: {
    to: '[email protected]',
    template: 'your-template',
    data: { name: 'Alex', action_url: 'https://example.com/start' },
  },
};

// On each attempt, load the same saved object.
const receipt = await sendery.prepare(job.input, job.key).send();

再試行の回数と間隔を設定

キューで最大試行回数と待機時間を設定します。API が Retry-After を返した場合は、その時間以上待ってください。認証、テンプレート、請求のエラーは原因を修正してから再試行します。

リクエストが成功したら

返されたメール ID を保存してジョブを完了します。配信状態は別途確認してください。受付済みリクエストの再試行ではメールは再送されません。意図的にもう一度送る場合は新しいキーを使います。