送信APIによるインタラクティブなトランザクションメール

ほとんどのトランザクションメール送信サービスは、プレーンなHTMLしかレンダリングしません。テンプレートモードの`POST /api/v1/send`は代わりに、自分自身のスタジオプロジェクトの1つをレンダリングします — フォールバックエンジンとインタラクティブブロックを含めて。`mergeData`が動的な値の行の代わりとなるため、バックエンドが発火させるレシートや確認メールは、マーケティング送信とまったく同じように、評価ブロックや商品のアップセルを載せられます。

件名

Your order receipt

ほとんどのトランザクションメール送信サービスは、プレーンなHTMLしかレンダリングしません。テンプレートモードのPOST /api/v1/sendは代わりに、自分自身のスタジオプロジェクトの1つを、フォールバックエンジンとインタラクティブブロックを含めてレンダリングします。バックエンドが発火させるレシートや確認メールは、マーケティング送信とまったく同じように、評価ブロックや商品のアップセルを載せられます。

レシートは、企業が送信するメールの中でも開封率が最も高いものの1つです — そして、ほとんどの場合最もそっけないものでもあります。デザインシステムが結び付いた何かではなく、たいてい配線が最も簡単だったトランザクションライブラリで生成されるからです。

一度デザインし、バックエンドから発火させる

レシートや確認メールを、普通のスタジオプロジェクトとして、意味のあるブロックを組み合わせて構築します — 購入後のCSATのための評価、関連商品の商品アップセルなどです。その後、バックエンドが、プロジェクトのIDと、その特定の注文の動的な値の代わりとなるmergeDataオブジェクトを添えて、テンプレートモードで送信APIを呼び出します。

正しくトランザクションとしてマークする

typeを"transactional"に設定すると、配信停止サプレッションを回避します — マーケティングを配信停止したユーザーにもレシートは届く必要があるためです — しかしバウンスサプレッションは決して回避しません。本当に不良なアドレスには、メールの種類にかかわらず送り続けるべきではないからです。

他のAPI連携と同じように認証される

アカウントごとの名前付きAPIキーがBearer認証を行い、ダッシュボードの開発者セクションから発行・取り消しできます。Idempotency-Keyヘッダーは、再試行されたリクエストがレシートを二重に送信するのを防ぎます。

引き継がれないもの

自由形式モード(projectIdなしで、生のhtml/textのみ)は、レンダリングパイプラインを完全にスキップします — マージタグもフォールバックエンジンもなく、与えられたとおりにそのまま送信されます。ワンタイムのOTPコードのようなものには、これが正しい選択です。メール自体がインタラクティブブロックの恩恵を受けるようになったら、テンプレートモードを使う価値が出てきます。

はじめに

トランザクション用のテンプレートを、望むインタラクティブブロックとともにスタジオプロジェクトとして構築し、開発者セクションでAPIキーを発行し、mergeDataとtype: "transactional"を添えて、テンプレートモードでPOST /api/v1/sendを呼び出します。

典型的な作成・送信の流れ

  1. 1

    トランザクションテンプレートをスタジオプロジェクトとして構築する

    レシートや確認メールをスタジオで一度設計します。評価、関連商品の商品、状況を示すボタンなど、意味のあるインタラクティブブロックを組み合わせてください。

  2. 2

    APIキーを発行する

    ダッシュボードの開発者セクションで名前付きのAPIキーを作成します — これがBearerトークンとして、すべての送信APIの呼び出しを認証します。

  3. 3

    テンプレートモードで送信APIを呼び出す

    バックエンドは、プロジェクトのIDと、その特定の注文やイベントの動的な値の代わりとなる`mergeData`オブジェクトを添えて、`/api/v1/send`にPOSTします。

  4. 4

    トランザクションとしてマークする

    `type`を`"transactional"`に設定すると、送信は配信停止サプレッションを回避します(バウンスサプレッションは引き続き適用されます) — マーケティングの設定にかかわらず受信者が必要とするレシートに、正しい意味合いを与えます。

よくある質問

APIで送信されたトランザクションメールにも、通常のキャンペーンと同じインタラクティブブロックを含められますか?

はい — テンプレートモードは既存のスタジオプロジェクトを、他のどの送信の場合の`renderEmail()`ともまったく同じようにレンダリングするため、すべてのブロックと3層のフォールバックエンジン全体がそのまま引き継がれます。

APIの呼び出しにはデータソースの行がありませんが、受信者ごとのデータはどのようにテンプレートに反映されますか?

リクエストボディの`mergeData`オブジェクトがデータソースの行の代わりとなります — 最大100個のフラットなキー/値フィールドが、その1回の呼び出しについて、プロジェクトの`{{field}}`マージタグへ解決されます。

同じエンドポイントの「transactional」タイプと「marketing」タイプの違いは何ですか?

`type`フィールドは、どのサプレッションリストがチェックされるかを制御します: transactionalは配信停止サプレッションを回避しますが(配信停止したユーザーにもレシートは届く必要があります)、バウンスサプレッションは決して回避しません。marketingはどちらも尊重します。

送信APIにはレート制限がありますか?

はい — APIキーごとに毎分60リクエストに加え、すべての送信経路が共有する、アカウントごとの月間ボリューム上限が適用されます。`Idempotency-Key`ヘッダーは、再試行されたリクエストが二重に送信されるのを防ぎます。

スタジオプロジェクトの代わりに、同じエンドポイントで自由形式のHTMLメールを送信できますか?

はい — `projectId`を省略し、代わりに`html`/`text`を直接送信すると自由形式モードが使われ、レンダリングパイプラインやマージタグなしにそのまま送信されます。インタラクティブブロックとフォールバックエンジンを載せるのはテンプレートモード(`projectId`付き)です。

スタジオでこれを作ってみましょう

無料プランから始められます — すべてのインタラクティブブロックと完全なフォールバックエンジンが、どのプランにも含まれています。