ドキュメント本文へスキップ
API

冪等性

再試行を安全にする。

仕組み

Idempotency-KeyPOST /emailsPOST /emails/batchPOST /templates/{id}/send で送れます。他のルートはこれを読みません。最初の呼び出しが実際の処理を行い、同じキーでの繰り返しは同一のメッセージを返します。POST /emailsIdempotency-Replayed: true も設定し、バッチは項目ごとに replayed を報告し、テンプレート送信はボディでそれを報告して 202 ではなく 200 を返します。この主張はデータベースへの挿入そのものとして扱われるため、同じキーで競合した 2 つのリクエストが両方とも勝つことはありません。

ヘッダー
Idempotency-Key: invoice-8812

異なるボディで同じキーを再利用すると、黙って再生されるのではなく 422 idempotency_key_reuse になります。これはたいてい、キーが十分に一意でないものから導出されていることを意味し、送っていないメッセージを誰かに再生してしまうことは、拒否するより悪いからです。

バッチではキーが項目ごとに拡張されるため、100 通に 1 つのキーを付けても、それらが最初の 1 通にまとめられることはありません。