REST APIを使ってメッセージを送信する
バックエンドからリアルタイムでメッセージを送信するには、2つの異なるBrazeエンドポイントを使用できます。それぞれリクエストの形式が異なります。1つはリクエストにメッセージの全内容を含める方式で、もう1つはキャンペーンIDを指定してダッシュボードで定義されたコンテンツを送信する方式です。
この方法は、APIがサポートするあらゆるメッセージングチャネル(WhatsApp、メール、SMS、プッシュ通知、Content Cards、webhookなど)で利用できます。
2つの送信方法
/messages/send |
/campaigns/trigger/send |
|
|---|---|---|
| キャンペーンID | オプション。ダッシュボードでのキャンペーントラッキングなしで送信する場合は省略します。または、各メッセージにAPIキャンペーンIDとmessage_variation_idを付加してダッシュボードでトラッキングします。 |
必須。 |
| メッセージの内容 | リクエストにmessagesオブジェクトを含める必要があります(例:messages.whats_app、messages.email)。 |
受け付けられません。メッセージの内容は、Brazeダッシュボード内のキャンペーンで定義されます。 |
| ユースケース | APIリクエストで内容を完全に指定したメッセージを送信します。 | APIを介して、特定の受信者に対して事前作成されたキャンペーン(ダッシュボード内のコンテンツ)をトリガーします。 |
リクエストとレスポンスの詳細については、メッセージを即時送信(APIのみ)およびAPIトリガー配信を使用したキャンペーン送信のエンドポイントリファレンスを参照してください。
オプション1:リクエストにメッセージ内容を含めて送信する(/messages/send)
APIリクエストでメッセージの全内容を指定したい場合に、このエンドポイントを使用します。messagesオブジェクトを含める必要があります(例:messages.whats_app、messages.email、messages.sms)。キャンペーントラッキングなしで送信するにはcampaign_idを省略できます。または、各メッセージにAPIキャンペーンIDとmessage_variation_idを含めることで、ダッシュボードで送信をトラッキングできます(詳細はエンドポイントリファレンスを参照してください)。
必須:messages.send権限付きのAPIキー。
external_user_idsの各受信者は、Brazeに既に存在している必要があります。送信の一環としてユーザーを作成するには、まず/users/trackを使用するか、代わりにオプション2(APIトリガー型キャンペーン)を使用してください。
例:WhatsAppテンプレートメッセージ
1
2
3
POST YOUR_REST_ENDPOINT/messages/send
Content-Type: application/json
Authorization: Bearer YOUR_REST_API_KEY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"external_user_ids": ["user123"],
"messages": {
"whats_app": {
"app_id": "YOUR_APP_ID",
"subscription_group_id": "YOUR_WHATSAPP_SUBSCRIPTION_GROUP_ID",
"message_type": "template_message",
"message": {
"template_name": "new_message_received",
"template_language_code": "en_US"
}
}
}
}
WhatsAppオブジェクトの完全な仕様については、WhatsAppオブジェクトを参照してください。
/messages/sendエンドポイントは、TEXTまたはIMAGEヘッダーを持つWhatsAppテンプレートのみをサポートしています。DOCUMENT、VIDEO、その他のメディアヘッダータイプについては、代わりにAPIトリガー型キャンペーンエンドポイントまたはBrazeダッシュボードを使用してください。
例:メール
1
2
3
4
5
6
7
8
9
10
11
{
"external_user_ids": ["user123"],
"messages": {
"email": {
"app_id": "YOUR_APP_ID",
"subject": "Your order has shipped",
"from": "[email protected]",
"body": "<p>Your order #12345 is on its way.</p>"
}
}
}
他のチャネルについては、メッセージングオブジェクトを参照してください。
オプション2:ダッシュボードのコンテンツでキャンペーンをトリガーする(/campaigns/trigger/send)
メッセージの内容がBrazeダッシュボードで作成されている場合(APIトリガー型キャンペーン)に、このエンドポイントを使用します。必須のcampaign_idと受信者を送信します。messagesオブジェクトは送信しません。
必須:campaigns.trigger.send権限付きのAPIキー。
ステップ1:APIトリガー型キャンペーンを作成する
- Brazeダッシュボードで、Messaging > Campaignsに移動します。
- Create Campaignを選択し、次にAPI-Triggered Campaign(「API Campaign」ではありません)を選択します。
- メッセージチャネル(WhatsApp、メール、SMSなど)を追加し、ダッシュボードでメッセージ内容を作成します。
- Campaign ID(複数のメッセージバリアントを使用する場合はSend IDも)をメモしておきます。これらをAPIリクエストで使用します。
APIトリガー型キャンペーンの作成に関する詳細は、APIトリガー配信を参照してください。
ステップ2:API経由でキャンペーンをトリガーする
campaign_idとrecipients(またはbroadcast/audience)を指定して、/campaigns/trigger/sendにPOSTリクエストを送信します。messagesオブジェクトは含めないでください。コンテンツはキャンペーンから取得されます。
1
2
3
POST YOUR_REST_ENDPOINT/campaigns/trigger/send
Content-Type: application/json
Authorization: Bearer YOUR_REST_API_KEY
1
2
3
4
5
6
7
8
{
"campaign_id": "YOUR_CAMPAIGN_ID",
"recipients": [
{
"external_user_id": "user123"
}
]
}
リクエスト本文の全体(trigger_properties、send_to_existing_only、attributesなどを含む)については、APIトリガー配信を使用したキャンペーン送信のエンドポイントリファレンスを参照してください。
統合を確認する
- 上記のいずれかの方法でリクエストを送信します。その際、自分のユーザーIDを受信者として指定します。
- メッセージが配信されたことを確認します。
- オプション2を使用する場合、Brazeダッシュボードでキャンペーンを確認し、送信が記録されていることを確認します。
考慮事項
- 対応している場合は、Brazeのパーソナライゼーション機能を使ってコンテンツをカスタマイズしてください。
- メッセージングが関連規制に準拠していることを確認し、必要なオプトアウトオプションとプライバシー通知を含めてください。
- その他のエンドポイント(スケジューリング、Canvasトリガーなど)については、メッセージングエンドポイントを参照してください。