はじめに

Resendからの移行

ResendのHTTP送信をSendHQに対応付け、切り替え前に互換性の境界を把握します。

互換性の境界

SendHQは、HTTPで直接送信する場合の一般的なResend形式のJSONフィールドを受け付けますが、Resend SDKのそのままの代替ではありません。自社のサーバー側HTTPアダプターを/api/v1/emailsに向けてください。ResendのホストがハードコードされたSDKを再設定できるとは想定しないでください。

フィールドの対応

from、to、cc、bcc、subject、html、text、reply_to、安全なカスタムheadersはそのまま対応します。SendHQは、message_class、ホスト型templateの参照、draft_id、返信/スレッドのフィールドも受け付けます。Resend固有のReactペイロード、インライン添付ファイルの配列、タグ、オーディエンス、ブロードキャスト、予約送信のフィールドには、受け付けられる同等のものはありません。

添付ファイルとテンプレート

添付ファイルはSendHQの下書きにアップロードしてから、draft_idを指定して送信します。ホスト型テンプレートは、公開バージョンと型付きデータを持つSendHQのリソースです。プロバイダーのテンプレート識別子をコピーするのではなく、テンプレートIDとレンダリングの呼び出しを明示的に移行してください。

再試行

論理的な送信1件につき、安定したIdempotency-Keyを1つ生成します。再試行では、そのキーを使ってまったく同じJSONペイロードを送ってください。件名、本文、受信者、ヘッダー、テンプレートのデータが変わる場合は、新しいキーを使います。そうしないと、SendHQは409を返します。保存済みのレスポンスが再送される場合は、Idempotent-Replayed: trueが含まれます。

切り替えのチェックリスト

  1. 使用するすべてのFromドメインと、正確な送信元アドレスを検証する。
  2. 管理下の受信トレイに、テキストとHTMLの管理されたメッセージを送信する。
  3. プロバイダーによる受け付けを、配信イベントとは別に確認する。
  4. 409、422、423、429、5xxの処理を実際に試す。
  5. トランザクションとライフサイクルの両方の経路で問題がなくなるまで、以前のプロバイダーのアダプターを使える状態にしておく。