ガイド
キュー内のメールを再試行
同じメールを重複送信せずに、一時的なエラーから再試行します。
再試行が必要になるとき
タイムアウト、レート制限、一時的なサービスエラーで送信リクエストが中断されることがあります。キューでは時間をおいて再試行できます。ただし、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 を保存してジョブを完了します。配信状態は別途確認してください。受付済みリクエストの再試行ではメールは再送されません。意図的にもう一度送る場合は新しいキーを使います。