Skip to content

API トリガー配信を使用してトランザクションメールを送信する

post

/transactional/v1/campaigns/{campaign_id}/send

このエンドポイントを使用して、指定したユーザーに即時の単発トランザクション・メッセージを送信する。

このエンドポイントは、Brazeトランザクションメールキャンペーンと対応するキャンペーンIDの作成と同時に使用される。

送信トリガーキャンペーンエンドポイントと同様に、このキャンペーンタイプでは、Braze ダッシュボード内にメッセージコンテンツを格納すると同時に、API 経由でメッセージを送信するタイミングと送信先を指定できます。メッセージの送信先となるオーディエンスまたはセグメントを受け入れる送信トリガーキャンペーンエンドポイントとは異なり、このキャンペーンタイプは、注文の確認やパスワードのリセットなどのアラートの1対1のメッセージングに特化しているため、このエンドポイントへのリクエストでは、external_user_id または user_alias で1人のユーザーを指定する必要があります。

前提条件

このエンドポイントを使用するには、transactional.send 権限を持つ API キーを生成する必要があります。

レート制限

Braze トランザクションメールはレート制限の対象外です。選択したパッケージに応じて、1時間あたりに設定された数のトランザクションメールが SLA によってカバーされます。このレートを超えるリクエストは送信されますが、SLA ではカバーされません。メールの99.9%が1分以内に送信されます。

パスパラメーター

パラメータ required データ型 説明
campaign_id 必須 文字列 キャンペーンのID

要求本文:

リクエストパラメーター

パラメーター required データ型 説明
external_send_id オプション 文字列 Base64互換の文字列。以下の正規表現に対して検証される:

/^[a-zA-Z0-9-_+\/=]+$/

このオプションのフィールドを使用すると、この特別な送信の内部識別子を渡すことができます。この識別子は、トランザクション HTTP イベントポストバックから送信されるイベントに含まれます。渡されると、この識別子は重複排除キーとしても使用され、Brazeはこれを24時間保存する。

別のリクエストで同じ識別子を渡すと、24時間はBrazeによる新しい送信インスタンスは生成されない。
trigger_properties オプション オブジェクト トリガープロパティを参照してください。このリクエストでユーザーに適用されるパーソナライゼーションのキーと値のペア。
recipient 必須 オブジェクト このメッセージの対象となるユーザー。attributes と単一の external_user_id または user_alias を含めることができます。

Brazeにまだ存在しない外部ユーザーIDを指定した場合、attributes オブジェクトにフィールドを渡すと、Brazeにこのユーザープロファイルが作成され、新しく作成されたユーザーにこのメッセージが送信されることに注意。

attributes オブジェクトのデータが異なる複数のリクエストを同じユーザーに送信する場合、first_namelast_name、および email 属性は同期的に更新され、メッセージにテンプレートとして組み込まれます。カスタム属性にはこれと同じような保護がないため、この API を使用してユーザーを更新し、異なるカスタム属性値を連続して渡す場合は注意して進めてください。

例のリクエスト

応答

送信トランザクションメールエンドポイントは、このメッセージ送信のインスタンスを表すメッセージの dispatch_id で応答します。この識別子は、トランザクション HTTP イベントポストバックのイベントと共に使用して、1人のユーザーに送信された個々のメールのステータスを追跡できます。

回答例

トラブルシューティング

エンドポイントはまた、場合によってはエラーコードと人間が判読可能なメッセージを返す場合もありますが、そのほとんどは検証エラーです。以下は、無効なリクエストをしたときによく出るエラーである。

エラー トラブルシューティング
The campaign is not a transactional campaign. Only transactional campaigns may use this endpoint 提供されたキャンペーンIDはトランザクションキャンペーン用ではない。
The external reference has been queued. Please retry to obtain send_id. external_send_id は最近作成されました。新しいメッセージを送信する場合は、新しい external_send_id を試してください。
Campaign does not exist 指定されたキャンペーンIDが既存のキャンペーンと一致しない。
The campaign is archived. Unarchive the campaign in order for trigger requests to take effect. 提供されたキャンペーンIDは、アーカイブされたキャンペーンに対応する。
The campaign is paused. Resume the campaign in order for trigger requests to take effect. 提供されたキャンペーンIDは、一時停止中のキャンペーンに対応する。
campaign_id must be a string of the campaign api identifier 指定されたキャンペーンIDは有効なフォーマットではない。
Error authenticating credentials 提供されたAPIキーが無効である
Invalid whitelisted IPs リクエストを送信しているIPアドレスがIPホワイトリストにない(使用されている場合)。
You do not have permission to access this resource 使用されたAPIキーには、このアクションを実行する権限がない。

Brazeのほとんどのエンドポイントにはレートリミットが実装されており、リクエストが多すぎると429レスポンスコードを返す。トランザクション送信エンドポイントは異なる動作をする。割り当てられたレート制限を超えた場合、当社のシステムはAPIコールの取り込みを継続し、成功コードを返し、メッセージを送信するが、これらのメッセージは機能の契約SLAの対象外となる可能性がある。この機能についての詳細が必要な場合は、お問い合わせいただきたい。

トランザクションHTTPイベントのポストバック

すべてのトランザクションメールは、指定した URL に HTTP リクエストとして返送されるイベントステータスポストバックによって補完されます。これにより、リアルタイムでメッセージのステータスを評価し、メッセージが未配信の場合は別のチャネルでユーザーに到達するようにアクションを取ったり、Brazeに待ち時間が発生している場合は内部システムにフォールバックしたりすることができる。

一意の識別子を使って、これらの更新を個々のメッセージに関連付けることができる:

  • dispatch_id:Brazeが各メッセージに自動的に生成するユニークなID。
  • external_send_id:顧客の内部システムと更新を一致させるために、顧客が提供する識別子(注文番号など)。

例えば、注文確認メールを送信する際、リクエストにexternal_send_id: 1234 を含めると、そのメールに対するその後のすべてのイベントポストバック(SentDeliveredのようなもの)にはexternal_send_id: 1234 が含まれる。これにより、注文番号#1234の顧客が注文確認メールを受け取ったかどうかを確認することができる。

ポストバックの設定

Brazeダッシュボードで:

  1. [設定] > [メール設定] に移動します。
  2. トランザクションイベントステータスポストバックに、Brazeがトランザクションメールのステータス更新を送信するURLを入力する。
  3. ポストバックをテストする。

ポストバック本文

メッセージステータス

ステータス 説明
sent メッセージがBrazeのメール送信パートナーに正常に送信された
processed 電子メール送信パートナーがメッセージを正常に受信し、ユーザーの受信トレイ・プロバイダに送信する準備をした。
aborted Brazeは、ユーザーがメール送信可能なアドレスを持っていないか、メッセージ本文でLiquid abortロジックが呼び出されたために、メッセージを正常に送信できなかった。すべての中止されたイベントのメタデータオブジェクト内には、メッセージが中止された理由を示す reason フィールドが含まれています
delivered メッセージがユーザーのメール受信箱プロバイダーに受け入れられた
bounced メッセージがユーザーのメール受信プロバイダーによって拒否された。すべてのバウンスイベントのメタデータオブジェクト内には、受信トレイプロバイダーによって提供されたバウンスエラーコードを反映する reason フィールドが含まれています

ポストバックの例

「このページはどの程度役に立ちましたか?」
New Stuff!