メッセージのアーカイブ
メッセージのアーカイブを使用すると、アーカイブやコンプライアンスの目的で、ユーザーに送信したメッセージのコピーを AWS S3 バケット、Azure Blob Storage コンテナー、または Google Cloud Storage バケットに保存できます。
この記事では、メッセージ・アーカイブの設定方法、JSONペイロードの参照方法、よくある質問について説明する。
メッセージのアーカイブはアドオン機能として利用できます。メッセージのアーカイブを開始するには、Braze カスタマーサクセスマネージャーにお問い合わせください。
仕組み
この機能がオンになっている場合、クラウドストレージバケットを Braze に接続し、それをデフォルトのデータエクスポート先としてマークすると、Braze は、選択したチャネルを通じてユーザーに送信されるメッセージ (メール、SMS、またはプッシュ) ごとに gzip 圧縮された JSON ファイルをクラウドストレージバケットに書き込みます。
このファイルには、[ファイル参照] で定義されたフィールドが含まれており、ユーザーに送信されるテンプレート化された最終的なメッセージが反映されます。キャンペーンで定義されたテンプレートの値 ({{${first_name}}}
など) が、プロファイル情報に基づいてユーザーが受け取った最終的な値を示します。これにより、コンプライアンス、監査、顧客サポートの要件を満たすために、送信されたメッセージのコピーを保持することができる。
複数のクラウドストレージプロバイダーの認証情報を設定した場合、メッセージのアーカイブ機能では、デフォルトのデータエクスポート先として明示的にマークされたプロバイダーにのみエクスポートされます。明示的なデフォルトが提供されておらず、AWS S3バケットが接続されている場合、メッセージアーカイブはそのバケットにアップロードされます。
この機能をオンにすると、正確性を保つためにメッセージ送信の直前にファイルのアップロードが行われるため、メッセージの配信速度に影響が出る。これにより、Braze 送信パイプラインに追加の遅延が発生し、送信速度に影響します。
JSON は、次のキー構造を使用してストレージバケットに保存されます。
sent_messages/channel/(one of: md5, e164 phone number, email, or push token)/(campaign_id OR canvas_step_id)/DispatchId.json.gz
ファイルの例を以下に示します。
sent_messages/email/819baa08d8d7e77e19d4666f5fc6050b/ee965cb2-8934-4b0a-acf1-91c899c2f915/651fd10b282850b39e1169c13975234b.json.gz
バケット内でのプッシュトークンの検出に苦労している場合のヒント
Braze は、プッシュトークンをハッシュする前にその大文字を小文字にします。これにより、プッシュトークン Test_Push_Token12345
はキーパス内で小文字の test_push_token12345
になり、ハッシュは 32b802170652af2b5624b695f34de089
です。
メッセージのアーカイブの設定
このセクションでは、ワークスペースのメッセージアーカイブの設定について説明する。先に進む前に、会社でメッセージアーカイブを購入し、有効にしていることを確認してください。
ステップ 1: クラウドストレージバケットの接続
まだクラウドストレージバケットを接続していない場合は、Braze に接続します。手順については、Amazon S3、Azure Blob Storage または Google Cloud Storage に関するパートナーのドキュメントを参照してください。
ステップ 2: メッセージをアーカイブするチャネルの選択
[メッセージのアーカイブ] の設定ページで、送信するメッセージのコピーをクラウドストレージバケットに保存するチャネルを制御します。
チャネルを選択するには次のステップに従います。
- [設定] > [メッセージのアーカイブ] に移動します。
- チャネルを選択します。
- 変更の保存を選択します。
[設定] に [メッセージのアーカイブ] が表示されない場合は、会社がメッセージのアーカイブ機能を購入して有効にしていることを確認してください。
ファイル参照
以下に、メッセージが送信されるたびにクラウドストレージバケットに配信される JSON ペイロードの参照を示します。メッセージのアーカイブのサンプル ファイルについては、コード例リポジトリを参照してください。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"version" : 1, //numerical version of the json structure
"to": ToAddress, ("[email protected]")
"subject": SubjectLine ("20% off coupon inside!"),
"from_name": DisplayName ("Braze"),
"from_address": FromAddress ("[email protected]"),
"html_body": HtmlBody,
"plaintext_body": PlainTextBody,
"amp_body": AMPEmailBody,
"extras": Extra hash—for SendGrid users, this will be passed to SendGrid as Unique Arguments,
"headers": HashOfHeaders,
"sent_at": UnixTimestamp,
"dispatch_id": DispatchIdFromBraze,
"campaign_id": CampaignApiId, // may not be available
"canvas_id": CanvasApiId, // may not be available
"canvas_step_id": CanvasStepApiId, // may not be available
"canvas_variation_id" : CanvasVariationApiId, // may not be available
"message_variation_id": MessageVariationApiId, // may not be available,
"attachments": Array of JSON Objects containing 'bytes' and 'file_name', // may not be available
"user_id": String,
"campaign_name": String, // will only be available if the message is from a campaign
"canvas_name": String, // will only be available if the message is a from Canvas
"canvas_step_name": String, // will only be available if the message is from a Canvas
"external_id": String
}
このペイロードの extras
フィールドは、メールの作成時に [メールエクストラ] フィールドに追加されたキーと値のペアを表します。Currents にデータを送り返す方法については、メッセージエクストラを参照してください。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"version" : 1 //numerical version of the json structure
"to": PhoneNumber, ("+15555555555"),
"body": Body ("Hi there!"),
"subscription_group": SubscriptionGroupExternalId,
"provider": StringOfProviderName,
"media_urls": ArrayOfString,
"sent_at": UnixTimestamp,
"dispatch_id": DispatchIdFromBraze,
"campaign_id": CampaignApiId, // may not be available
"canvas_id": CanvasApiId, // may not be available
"canvas_step_id": CanvasStepApiId, // may not be available
"canvas_variation_id" : CanvasVariationApiId, // may not be available
"message_variation_id": MessagVariationApiId, // may not be available
"user_id": String,
"campaign_name": String, // will only be available if the message is from a campaign
"canvas_name": String, // will only be available if the message is a from Canvas
"canvas_step_name": String, // will only be available if the message is from a Canvas
"external_id": String
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"version" : 1, //numerical version of the json structure
"to": PushToken,
"payload": JsonOfEntirePushPayload,
"platform": ios/android/web/kindle,
"app_id": ApiKeyOfApp,
"sent_at": UnixTimestamp,
"dispatch_id": DispatchIdFromBraze,
"campaign_id": CampaignApiId, // may not be available
"canvas_id": CanvasApiApiId, // may not be available
"canvas_step_id": CanvasStepApiId, // may not be available
"canvas_variation_id" : CanvasVariationApiId, // may not be available
"message_variation_id": MessagVariationApiId, // may not be available
"user_id": String,
"campaign_name": String, // will only be available if the message is from a campaign
"canvas_name": String, // will only be available if the message is a from Canvas
"canvas_step_name": String, // will only be available if the message is from a Canvas
"external_id": String
}
よくある質問
ペイロードに含まれていないテンプレートは何ですか?
メッセージがBrazeを離れた後に行われた修正は、クラウドストレージバケットに保存されたファイルには反映されない。これには、クリック追跡のためのリンクのラッピングやトラッキングピクセルの挿入など、メール配信パートナーが行う修正も含まれる。
キャンペーンパスの「unassociated」の値の下にあるメッセージは何ですか?
メッセージがキャンペーンまたはキャンバス以外で送信される場合、ファイル名のキャンペーン ID は「unassociated」になります。これは、ダッシュボードからテストメッセージを送信する場合、Braze が SMS 自動応答を送信する場合、または API 経由で送信されるメッセージにキャンペーン ID が指定されていない場合に発生します。
この送信に関する詳細情報を見つけるにはどうすればよいですか?
external_id
またはdispatch_id
とuser_id
を併用することで、テンプレート化されたメッセージをCurrentsデータと相互参照し、配信されたタイムスタンプ、ユーザーがメッセージを開封またはクリックしたかどうかなどの詳細情報を見つけることができる。
再試行はどのように処理されますか?
クラウドストレージのバケットに到達できない場合、Brazeはバックオフジッターで最大3回再試行する。AWS S3 のレート制限の再試行は Braze によって自動的に処理されます。
認証情報が無効の場合、どうなりますか?
クラウドストレージ認証情報が無効になった場合、Brazeはクラウドストレージバケットにメッセージを保存できなくなり、それらのメッセージは失われる。AWS認証エラーの通知設定を行うことで、認証エラーに関するアラートを受け取ることができる。
アーカイブファイルのsent_at
タイムスタンプが Currents の送信タイムスタンプと若干異なるのはなぜか?
レンダリングされたコピーは、ユーザーにメッセージを送る直前にアップロードされる。クラウドストレージのアップロード時間のため、レンダリングコピーのタイムスタンプ(sent_at
)と実際の送信時刻の間に数秒の遅れが生じることがある。