Webhookキャンペーンを作成する
Webhookキャンペーンを作成したり、マルチチャネルキャンペーンにWebhookを含めることで、他のシステムやアプリケーションにリアルタイム情報を提供し、アプリ以外のアクションをトリガーすることができる。
Webhookを使って、SalesforceやMarketoなどのシステムやバックエンドシステムに情報を送ることができる。例えば、顧客がカスタムイベントを一定回数行った後に、プロモーションで顧客のアカウントにクレジットを付与する場合があります。
Webhookとは何か、Brazeでどのように使えるかについては、先に進む前に「Webhookについて」をチェックしよう。
ステップ 1: メッセージを作成する場所を選択する
メッセージは、キャンペーンとキャンバスのどちらを使用して配信すべきでしょうか。キャンペーンは単一のシンプルなメッセージングキャンペーンに適していますが、キャンバスはマルチステップのユーザーのジャーニーに適しています。
ステップ:
- [メッセージング] > [キャンペーン] の順に進み、[キャンペーンを作成] を選択します。
- [Webhook] を選択するか、複数のチャネルをターゲットにしたキャンペーンの場合は [マルチチャネル] を選択します。
- キャンペーンに、明確で意味のある名前を付けます。
- (オプション)このキャンペーンがどのように使用されるかを説明するために説明を追加する。
- 必要に応じてチームや タグを追加します。
- タグを使用すると、キャンペーンを検索してレポートを作成しやすくなります。例えば、[レポートビルダー] を使用する場合、特定のタグでフィルターできます。
- キャンペーンに必要な数だけバリアントを追加して名前を付けます。追加された各バリアントに対して、異なるWebhookテンプレートを選択できます。このトピックの詳細については、「多変量テストと AB テスト」を参照してください。
キャンペーン内のすべてのメッセージが類似しているか、同じ内容になる場合は、メッセージを作成してからバリアントを追加します。その後、[バリアントを追加] ドロップダウンから [バリアントをコピー] を選択できます。
ステップ:
- キャンバス作成ツールを使用して [キャンバスを作成] します。
- キャンバスを設定したら、キャンバスビルダーにステップを追加します。ステップに、明確で意味のある名前を付けます。
- [ステップスケジュール] を選択し、必要に応じて遅延を指定します。
- 必要に応じて、このステップのオーディエンスをフィルターします。セグメントを指定し、フィルターを追加して、このステップの受信者をさらに絞り込むことができます。後から、メッセージの送信時に、オーディエンスオプションがチェックされます。
- [昇進動作] を選択します。
- メッセージと組み合わせる他のメッセージングチャネルを選択します。
ステップ 2: Webhookを構築する
Webhookをゼロから作成するか、既存のテンプレートを使用するか、または当社の既存のテンプレートのいずれかを使用するかを選択できる。次に、エディタのComposeタブでWebhookを構築します。
「作成」タブには次のフィールドが含まれています:
- 言語
- Webhook URL
- HTTPメソッド
- Request body
!Webhookテンプレートの例がある “Compose “タブ。
言語
国際化は、URLおよびリクエストボディでサポートされています。メッセージを複数言語で送信するには、[言語を追加] をクリックして、必須フィールドに入力します。
コンテンツを記述する前に言語を選択することをお勧めします。これにより、Liquid 内の適切な場所にテキストを入力することができます。使用可能な言語の完全なリストについては、サポートされている言語を参照してください。
右から左に書かれた言語でコピーを追加する場合、右から左に書かれたメッセージの最終的な見た目は、サービスプロバイダーがどのようにそれらをレンダリングするかに大きく左右されることに注意してください。右から左へのメッセージを可能な限り正確に表示するためのベストプラクティスについては、右から左へのメッセージを作成するを参照してください。
Webhook URL
Webhook URL、または HTTP URL は、エンドポイントを指定します。エンドポイントは、Webhook でキャプチャしている情報の送信先にする場所です。
ベンダーに情報を送信する場合、ベンダーは API ドキュメントでこの URL を提供する必要があります。自社のシステムに情報を送信する場合は、開発者やエンジニアリング・チームに確認し、正しいURLを使用していることを確認すること。
Brazeは、標準ポート80(HTTP)および443(HTTPS)で通信するURLのみを許可します。
Liquid の使用
Liquid を使用して Webhook URL をパーソナライズできます。場合によっては、特定のエンドポイントがユーザーを識別するか、URLの一部としてユーザー固有の情報を提供する必要がある場合があります。Liquidを使用する場合は、URLで使用するユーザー固有の情報ごとにデフォルト値を含めるようにしてください。
HTTPメソッド
送信する情報のエンドポイントに応じて、使用するHTTPメソッドが異なります。ほとんどのケースではPOSTを使う。
Request body
リクエスト本文は、指定した URL に送信される情報です。JSON キーと値のペアまたは生のテキストを使用して Webhook リクエストの本文を作成する方法は2通りあります。
JSONキーと値のペア
JSONキーと値のペアを使用すると、JSON形式を期待するエンドポイントへのリクエストを簡単に作成できます。JSONリクエストを期待するエンドポイントでのみ使用できる。例えば、キーが message_body の場合、対応する値には Your order just arrived! があります。キーと値のペアを入力すると、コンポーザーがリクエストをJSON構文で構成し、JSONリクエストのプレビューが自動的に表示されます。
!リクエスト・ボディはJSONのキーと値のペアに設定されている。
Liquid を使用してキーと値のペアをパーソナライズできます (ユーザー属性、カスタム属性、またはイベントプロパティを含めるなど)。例えば、リクエストに顧客の名とメールアドレスを含めることができます。各属性のデフォルト値を必ず含めること。
生のテキスト
[生のテキスト] オプションを使用すると、任意の形式の本文を受け入れるエンドポイントへのリクエストを作成する柔軟性が得られます。例えば、リクエストがXML形式であることを期待するエンドポイントへのリクエストを書くためにこれを使うかもしれない。
両方のパーソナライゼーションと国際化は、Liquidを使用して生のテキストでサポートされています。
!Liquidを使った生のテキストを含むリクエストボディの例。
Content-Type リクエストヘッダー を application/x-www-form-url-encoded に設定した場合、リクエストボディは URL エンコードされた文字列としてフォーマットする必要があります。以下に例を示します。
1
to={{custom_attribute.${example}}}&text=Your+order+just+arrived
ステップ 3: 追加設定を構成する
リクエストヘッダー (オプション)
特定のエンドポイントでは、リクエストにヘッダーを含める必要がある場合があります。作成画面の [作成] セクションで、ヘッダーを必要な数だけ追加できます。
!Authorization “キーと “Content-type “キーのリクエストヘッダー例。
一般的なリクエストヘッダーはContent-Type仕様 (XML や JSON など、本文に含まれるデータのタイプを示す) と、ベンダーやシステムに対する認証情報を含む認証ヘッダーです。
コンテンツタイプの仕様にはキーContent-Typeを使用する必要があります。一般的な値はapplication/jsonまたはapplication/x-www-form-urlencodedです。
認証ヘッダーでは、Authorization キーを使用する必要があります。一般的な値は、 Bearer {{YOUR_TOKEN}} または Basic {{YOUR_TOKEN}} です。ここで、YOUR_TOKEN はベンダーまたはシステムから提供された認証情報です。
ステップ 4:メッセージのテスト送信
キャンペーンを公開する前に、Brazeはリクエストが正しくフォーマットされていることを確認するためにWebhookをテストすることを推奨します。
そのためには、テストタブに切り替えてテストWebhookを送信します。Webhook は、ランダムなユーザー、特定ユーザー (外部ユーザー ID のメールアドレスを入力)、または選択した属性を持つカスタマイズされたユーザーとしてテストできます。
テストWebhookを送信した後、応答メッセージが表示されるダイアログが表示されます。Webhook リクエストが失敗した場合は、エラーメッセージを参照して Webhook のトラブルシューティングに役立ててください。次の例は、無効な webhook URL を持つ webhook の応答を詳しく示しています。
1
2
3
4
5
6
7
8
9
404 Not Found
{
"error": {
"message": "Unrecognized request URL. Please see https://lob.com/docs or email us at [email protected].",
"status_code": 404
}
}
ステップ 5: キャンペーンまたはキャンバスの残りの部分を作成する
次に、キャンペーンの残りの部分を作成します。Webhook を作成するためにツールを活用する方法の詳細については、以下のセクションを参照してください。
配信スケジュールまたはトリガーを選択する
Webhook は、スケジュールされた時刻、アクション、または API トリガーに基づいて配信できます。詳細については、キャンペーンのスケジューリングを参照してください。
アクションベースの配信では、キャンペーンの継続時間と [サイレント時間] を設定することもできます。
このステップでは、配信コントロールを指定できます。例えば、ユーザーを再有効化してキャンペーンを受信できるようにしたり、フリークエンシーキャップルールを有効にしたりできます。
ターゲットとするユーザーを選択する
次に、セグメントやフィルターを選択してターゲットユーザーを絞り込み、オーディエンスを絞り込む必要があります。このステップでは、セグメントからより多くのオーディエンスを選択し、必要に応じてフィルターを使用してさらにセグメントを絞り込みます。そのセグメンテーションの母集団が今どのようなものなのか、自動的にプレビューが表示される。正確なセグメントメンバーシップは常にメッセージが送信される直前に計算されることに注意してください。
Your message will only be sent to users who already match the conditions you set in the Target Audience step. After that, they still need to meet the trigger you define in the Schedule Delivery step. Think of the target audience as a waiting room—only people already inside can move forward when the next action happens.
コンバージョンイベントを選択する
Braze では、キャンペーンを受信した後、ユーザーが指定のアクションやコンバージョンイベントを実行する頻度を追跡できます。ユーザーが指定したアクションを実行した場合にコンバージョンがカウントされる期間は、最大 30 日間まで設定できます。
キャンバスコンポーネントが完成していない場合は、残りのセクションを完成させます。詳細については、キャンバスの残りの部分を構築する方法、多変量テストとインテリジェントセレクションを実装する方法などについては、キャンバスドキュメントのキャンバスを構築するステップを参照してください。
ステップ 6:レビューと展開
キャンペーンまたはキャンバスの最後の構築が完了したら、その詳細を確認し、テストしてから送信してください!
知っておくべきこと
エラー、リトライロジック、タイムアウト
Webhook は Braze サーバーが外部エンドポイントにリクエストを送信することに依存しており、エラーが発生する可能性があります。最も一般的なエラーは、構文エラー、期限切れの API キー、レート制限、予期しないサーバー側の問題などです。Webhook キャンペーンを送信する前に、次のようにします。
- Webhook をテストして構文エラーがないか確認する
- パーソナライズされた変数がデフォルト値を持つようにする。
Webhook の送信に失敗すると、エラーメッセージがメッセージアクティビティログに記録されます。これにはエラーのタイムスタンプ、アプリ名、エラーの詳細などが含まれます。
!現在のユーザーに関する情報を照会するには、アクティブ・アクセストークンを使用する必要があります」というメッセージのWebhookエラーが発生した。
エラーメッセージがエラーの原因について十分に明確でない場合、使用しているAPIエンドポイントのドキュメントを確認する必要があります。これらは通常、エンドポイントが使用するエラーコードの説明と、それらが通常引き起こされる原因を提供します。
応答コードと再試行ロジック
Webhook リクエストが送信されると、受信側のサーバーは、リクエストの処理内容を示す応答コードを返します。次の表は、サーバーが送信する可能性のあるさまざまな応答、それらがキャンペーン分析に与える影響、およびエラーの場合にBrazeがキャンペーンを再配信しようとするかどうかをまとめたものです。
| 応答コード | 受領済みとしてマークされましたか? | 再試行? |
|---|---|---|
20x (成功) |
はい | 該当なし |
30x (リダイレクション) |
いいえ | いいえ |
408 (リクエストタイムアウト) |
いいえ | はい |
429 (レート制限) |
いいえ | はい |
Other 4XX (クライアントエラー) |
いいえ | いいえ |
5XX (サーバーエラー) |
いいえ | はい |
Braze は指数バックオフを使用して、上記のステータスコードを30分以内に5回まで再試行します。エンドポイントに到達できない場合、24時間にわたって再試行が行われることがあります。
各Webhookはタイムアウトするまでに90秒が許可されています。
トラブルシューティングとその他のエラーの詳細
詳細な説明、トラブルシューティングのステップ、特定の Webhook エラーを解決するためのガイダンスについては、Webhook およびコネクテッドコンテンツリクエストのトラブルシューティングを参照してください。Braze の不健全ホスト検出システムの仕組みや、Braze Currents の自動メールや追加ロギングによるエラー通知の仕組みについての詳しい説明もあります。
IP 許可リスト
Braze から Webhook が送信されると、Braze サーバーは顧客またはサードパーティのサーバーにネットワークリクエストを行います。IP 許可リストを使用することで、Webhook リクエストが実際に Braze から送信されていることを確認し、セキュリティレイヤーを追加することができます。
Brazeは次のIPからwebhookを送信します。リストされる IP は、許可リストにオプトインされているすべての API キーに自動的かつダイナミックに追加されます。
Braze-to-Braze Webhook を作成していて、許可リストを使用している場合は、127.0.0.1 を含む次のすべての IP を許可リストに追加する必要があります。
インスタンス US-01、US-02、US-03、US-04、US-05、US-06、US-07 の場合、関連する IP アドレスは次のとおりです。
23.21.118.19134.206.23.17350.16.249.952.4.160.21454.87.8.3454.156.35.25152.54.89.23818.205.178.15
インスタンス US-08 の場合、関連する IP アドレスは次のとおりです。
52.151.246.5152.170.163.18240.76.166.15740.76.166.17040.76.166.16740.76.166.16140.76.166.15640.76.166.16640.76.166.16040.88.51.7452.154.67.1740.76.166.8040.76.166.8440.76.166.8540.76.166.8140.76.166.7140.76.166.14440.76.166.145
インスタンス US-10 の場合、関連する IP アドレスは次のとおりです。
100.25.232.16435.168.86.17952.7.44.1173.92.153.1835.172.3.12950.19.162.19
インスタンス EU-01 と EU-02 の場合、関連する IP アドレスは次のとおりです。
52.58.142.24252.29.193.12135.158.29.22818.157.135.973.123.166.463.64.27.363.65.88.253.68.144.1883.70.107.88
インスタンス AU-01 の場合、関連する IP アドレスは次のとおりです。
13.210.1.14513.211.70.15913.238.45.5452.65.73.16754.153.242.23954.206.45.213
Brazeパートナー{#utilizing-webhooks}とwebhookを使用する
webhookを使用する方法はたくさんあり、私たちの技術パートナー(Alloys)と一緒に、顧客やユーザーと直接コミュニケーションを向上させるためにwebhookを使用できます。
以下を参照してください。
- Messenger
- Remerge
- Lob.com
- その他多くのテクノロジーパートナー
GitHub でこのページを編集