メッセージのアーカイブ
メッセージのアーカイブを使用すると、アーカイブやコンプライアンスの目的で、ユーザーに送信したメッセージのコピーを 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
タイムスタンプと実際の送信時刻との間には、数秒の遅延が発生する可能性があります。