Webhookを作成する
Webhookキャンペーンを作成するか、Webhookをマルチチャネルキャンペーンに含めることで、アプリ以外のアクションをトリガーできます。より具体的には、webhookは他のシステムやアプリケーションにリアルタイム情報を提供するために使用できます。
webhookを使用して、SalesforceやMarketoなどのシステムに情報を送信できます。webhookを使用して、情報をバックエンドシステムに送信することもできます。例えば、カスタムイベントを一定回数行った後に、プロモーションで顧客のアカウントにクレジットを付与したい場合があります。
webhookとは何か、またBrazeでの使用方法について詳しく知りたい場合は、先にwebhookについてをご覧ください。
ステップ 1:メッセージを作成する場所を選択する
メッセージは、キャンペーンとキャンバスのどちらを使用して配信すべきでしょうか。キャンペーンは単一のシンプルなメッセージングキャンペーンに適していますが、キャンバスはマルチステップのユーザーのジャーニーに適しています。
ステップ:
- メッセージング > キャンペーン に移動し、 キャンペーンを作成 をクリックします。
古いナビゲーションを使用している場合は、[エンゲージメント] の下に [キャンペーン] が表示されます。
2.Webhookを選択するか、複数のチャネルをターゲットにしたキャンペーンの場合はマルチチャネルキャンペーンを選択します。 3.キャンペーンに、明確で意味のある名前を付けます。 4.必要に応じて、[チーム] と [タグ] を追加します。
- タグを使用すると、キャンペーンを検索してレポートを作成しやすくなります。例えば、[レポートビルダー] を使用する場合、特定のタグでフィルターできます。
- キャンペーンに必要な数だけバリアントを追加して名前を付けます。追加された各バリアントに対して、異なるWebhookテンプレートを選択できます。このトピックの詳細については、「多変量テストと AB テスト」を参照してください。
キャンペーン内のすべてのメッセージが類似しているか、同じ内容になる場合は、メッセージを作成してからバリアントを追加します。その後、[バリアントを追加] ドロップダウンから [バリアントをコピー] を選択できます。
ステップ:
- キャンバス作成ツールを使用して [キャンバスを作成] します。
- キャンバスを設定したら、キャンバスビルダーにステップを追加します。ステップに、明確で意味のある名前を付けます。
- [ステップスケジュール] を選択し、必要に応じて遅延を指定します。
- 必要に応じて、このステップのオーディエンスをフィルターします。セグメントを指定し、フィルターを追加して、このステップの受信者をさらに絞り込むことができます。後から、メッセージの送信時に、オーディエンスオプションがチェックされます。
- [昇進動作] を選択します。
- メッセージと組み合わせる他のメッセージングチャネルを選択します。
ステップ 2:Webhookを作成する
Webhookをゼロから構築するか、既存のテンプレートのいずれかを使用するかを選択できます。次に、エディタのComposeタブでWebhookを構築します。
「作成」タブには次のフィールドが含まれています:
言語
国際化は、URLおよびリクエストボディでサポートされています。メッセージを国際化するには、言語を追加をクリックして、必要なフィールドに記入してください。コンテンツを書く前に言語を選択することをお勧めします。そうすれば、Liquidに適切な場所にテキストを入力できます。利用可能な言語の完全なリストをご覧ください。
Webhook URL
Webhook URL、またはHTTP URLは、エンドポイントを指定します。エンドポイントは、Webhookでキャプチャしている情報を送信する場所です。ベンダーに情報を送信したい場合、ベンダーはAPIドキュメントにこのURLを提供する必要があります。自分のシステムに情報を送信する場合は、開発チームまたは開発チームに確認して、正しいURLを使用していることを確認してください。
Brazeは、標準ポート80
(HTTP)および443
(HTTPS)で通信するURLのみを許可します。
Liquidを使用してWebhook URLをパーソナライズできます。場合によっては、特定のエンドポイントがユーザーを識別するか、URLの一部としてユーザー固有の情報を提供する必要がある場合があります。Liquidを使用する場合は、URLで使用するユーザー固有の情報ごとにデフォルト値を含めるようにしてください。
Request body
リクエストボディは、指定したURLに送信される情報です。Webhookリクエストの本文を作成する方法は2つあります:
JSONキーと値のペア
JSONキーと値のペアを使用すると、JSON形式を期待するエンドポイントへのリクエストを簡単に作成できます。この機能は、JSONリクエストを期待するエンドポイントでのみ使用できます。例えば、あなたのキーがmessage_body
の場合、対応する値はYour order just arrived!
かもしれません。キーと値のペアを入力すると、コンポーザーがリクエストをJSON構文で構成し、JSONリクエストのプレビューが自動的に表示されます。
リクエストにLiquidを使用して、任意のユーザー属性、カスタム属性、またはイベントプロパティを含めるなど、キーと値のペアをパーソナライズできます。例えば、リクエストに顧客の名とメールを含めることができます。各属性にデフォルト値を含めることを忘れないでください!
生のテキスト
生のテキストオプションを使用すると、任意の形式の本文を期待するエンドポイントへのリクエストを作成する柔軟性が得られます。例えば、この機能を使用して、リクエストがXML形式であることを期待するエンドポイントへのリクエストを作成することができます。両方のパーソナライゼーションと国際化は、Liquidを使用して生のテキストでサポートされています。
Content-Type
リクエストヘッダー を application/x-www-form-url-encoded
に設定した場合、リクエストボディは URL エンコードされた文字列としてフォーマットする必要があります。以下に例を示します。
1
to={{custom_attribute.${example}}}&text=Your+order+just+arrived
ステップ 3:追加設定を構成する
リクエストヘッダー(オプション)
特定のエンドポイントでは、リクエストにヘッダーを含める必要がある場合があります。作成者の設定セクションでは、好きなだけヘッダーを追加できます。一般的なリクエストヘッダーはContent-Type
仕様(本文にどのようなデータが含まれるかを示すもので、XMLやJSONなど)と、ベンダーやシステムに対する認証情報を含む認証ヘッダーです。
コンテンツタイプの仕様にはキーContent-Type
を使用する必要があります。一般的な値はapplication/json
またはapplication/x-www-form-urlencoded
です。
Authorization headers must use the key Authorization
.一般的な値は Bearer {{YOUR_TOKEN}}
またはBasic {{YOUR_TOKEN}}
で、YOUR_TOKEN
はベンダーまたはシステムによって提供される資格情報です。
HTTPメソッド
送信する情報のエンドポイントに応じて、使用するHTTPメソッドが異なります。ほとんどの場合、POSTを使用します。
ステップ 4:テストメッセージを送信
キャンペーンを公開する前に、Brazeはリクエストが正しくフォーマットされていることを確認するためにWebhookをテストすることを推奨します。
そのためには、テストタブに切り替えてテストWebhookを送信します。Webhook をランダムなユーザー、特定のユーザー(外部ユーザーIDのメールアドレスを入力することによって)、または選択した属性を持つカスタマイズされたユーザーとしてテストできます。
テスト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トリガーに基づいて配信されます。詳細については、キャンペーンのスケジューリングを参照してください。
アクションベースの配信では、キャンペーンの継続時間と [サイレント時間] を設定することもできます。
このステップでは、ユーザーがキャンペーンを受け取るために再適格になることを許可したり、フリークエンシーキャップルールを有効にしたりするなど、配信制御を指定することもできます。
ターゲットとするユーザーを選択する
次に、セグメントやフィルターを選択してターゲットユーザーを絞り込み、オーディエンスを絞り込む必要があります。このステップでは、セグメントからより大きなオーディエンスを選択し、必要に応じてフィルターでそのセグメントをさらに絞り込みます。セグメントのおおよその人数について現在の状態を示すスナップショットが自動的に表示されます。正確なセグメントメンバーシップは常にメッセージが送信される直前に計算されることに注意してください。
コンバージョンイベントを選択する
Braze では、キャンペーンを受信した後、ユーザーが指定のアクションやコンバージョンイベントを実行する頻度を追跡できます。ユーザーが指定したアクションを実行した場合にコンバージョンがカウントされる期間は、最大 30 日間まで設定できます。
もしまだ行っていない場合は、キャンバスステップの残りのセクションを完了してください。詳細については、キャンバスの残りの部分を構築する方法、多変量テストとインテリジェントセレクションを実装する方法などについては、キャンバスドキュメントのキャンバスを構築するステップを参照してください。
ステップ 6:レビューと展開
キャンペーンまたはキャンバスの最後の構築が完了したら、その詳細を確認し、テストしてから送信してください!
知っておくべきこと
エラー、リトライロジック、タイムアウト
webhookはBrazeサーバーが外部エンドポイントにリクエストを送信することに依存しており、構文やその他のエラーが発生する可能性があります。Webhookエラーを回避するための最初のステップは、Webhookキャンペーンを構文エラーについてテストし、パーソナライズされた変数にデフォルト値があることを確認することです。ただし、webhookは期限切れのAPIキー、レート制限、予期しないサーバーエラーなどの問題により失敗する可能性があります。Webhook が送信に失敗した場合、エラーメッセージが [メッセージアクティビティログ]42 に記録されます。
この説明には、エラーが発生した時間、アプリ名、およびエラーメッセージが含まれています:
メッセージ本文がエラーの原因について十分に明確でない場合、使用しているAPIエンドポイントのドキュメントを確認する必要があります。これらは通常、エンドポイントが使用するエラーコードの説明と、それらが通常引き起こされる原因を提供します。
他のキャンペーンと同様に、BrazeはWebhookキャンペーンの配信とそれに伴うコンバージョンを追跡します。Webhookリクエストが送信されると、受信サーバーはリクエストに何が起こったかを示す応答コードを返します。次の表は、サーバーが送信する可能性のあるさまざまな応答、それらがキャンペーン分析に与える影響、およびエラーの場合にBrazeがキャンペーンを再配信しようとするかどうかをまとめたものです。
応答コード | 受領済みとしてマークされましたか? | リトライ? |
---|---|---|
20x (成功) | はい | 該当なし |
30x(リダイレクト) | いいえ | いいえ |
408 (リクエストタイムアウト) | いいえ | はい |
429(レート制限) | いいえ | はい |
その他の4xx(クライアントエラー) | いいえ | いいえ |
5xx (サーバーエラー) | いいえ | はい |
BrazeはWebhookの送信を最大24時間再試行します。再試行する場合、Braze は指数バックオフを使用して約 30 分間にわたって FIVE 回試行し、個々の Webhook 呼び出しを中止します。
各Webhookはタイムアウトするまでに90秒が許可されています。
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 の場合: |
---|
127.0.0.1 |
23.21.118.191 |
34.206.23.173 |
50.16.249.9 |
52.4.160.214 |
54.87.8.34 |
54.156.35.251 |
52.54.89.238 |
18.205.178.15 |
インスタンス EU-01 および EU-02 の場合: |
---|
127.0.0.1 |
52.58.142.242 |
52.29.193.121 |
35.158.29.228 |
18.157.135.97 |
3.123.166.46 |
3.64.27.36 |
3.65.88.25 |
3.68.144.188 |
3.70.107.88 |
例えばUS-08 : |
---|
52.151.246.51 |
52.170.163.182 |
40.76.166.157 |
40.76.166.170 |
40.76.166.167 |
40.76.166.161 |
40.76.166.156 |
40.76.166.166 |
40.76.166.160 |
40.88.51.74 |
52.154.67.17 |
40.76.166.80 |
40.76.166.84 |
40.76.166.85 |
40.76.166.81 |
40.76.166.71 |
40.76.166.144 |
40.76.166.145 |
Brazeパートナー{#utilizing-webhooks}とwebhookを使用する
webhookを使用する方法はたくさんあり、私たちの技術パートナー(Alloys)と一緒に、顧客やユーザーと直接コミュニケーションを向上させるためにwebhookを使用できます。
チェックアウト: