Skip to content

Webhook Campaignを作成する

Webhook Campaignを作成するか、マルチチャネルCampaignにWebhookを含めることで、他のシステムやアプリケーションにリアルタイム情報を提供し、アプリ外のアクションをトリガーできます。

Webhookを使用して、SalesforceやMarketoなどのシステムやバックエンドシステムに情報を送信できます。たとえば、顧客がカスタムイベントを一定回数実行した後に、プロモーションで顧客のアカウントにクレジットを付与したい場合があります。

ステップ 1: メッセージの作成場所を選択する

メッセージをCampaignとCanvasのどちらで送信すべきかわからない場合、Campaignは単一のターゲットメッセージングに適しており、Canvasは複数ステップのユーザージャーニーに適しています。

手順:

  1. Messaging > Campaigns に移動し、Create Campaign を選択します。
  2. Webhook を選択するか、複数チャネルをターゲットとするCampaignの場合は Multichannel を選択します。
  3. Campaignにわかりやすく意味のある名前を付けます。
  4. (オプション)このCampaignの使用方法を説明する説明を追加します。
  5. 必要に応じてチームタグを追加します。
    • タグを使用すると、Campaignを見つけやすくなり、レポートを作成しやすくなります。たとえば、レポートビルダーを使用する場合、特定のタグでフィルタリングできます。
  6. Campaignに必要な数のバリアントを追加して名前を付けます。追加した各バリアントに異なるWebhookテンプレートを選択できます。このトピックの詳細については、多変量テストとABテストを参照してください。

手順:

  1. Canvasコンポーザーを使用してCanvasを作成します。
  2. Canvasを設定したら、Canvasビルダーでステップを追加します。ステップにわかりやすく意味のある名前を付けます。
  3. ステップスケジュールを選択し、必要に応じて遅延を指定します。
  4. 必要に応じて、このステップのオーディエンスをフィルタリングします。Segmentsを指定し、追加のフィルターを追加することで、このステップの受信者をさらに絞り込むことができます。オーディエンスオプションは、遅延後のメッセージ送信時にチェックされます。
  5. 進行動作を選択します。
  6. メッセージと組み合わせたい他のメッセージングチャネルを選択します。

ステップ 2: Webhookを構築する

Webhookをゼロから作成するか、既存のテンプレートを使用するか、既存のテンプレートの1つを使用するかを選択できます。次に、エディターの Compose タブでWebhookを構築します。

Compose タブは以下のフィールドで構成されています:

  • 言語
  • Webhook URL
  • HTTPメソッド
  • リクエストボディ

Webhookテンプレートの例を含む「Compose」タブ。

言語

国際化はURLとリクエストボディでサポートされています。メッセージを国際化するには、Add languages を選択し、必要なフィールドに入力します。

コンテンツを作成する前に言語を選択することをお勧めします。これにより、Liquid内の適切な場所にテキストを入力できます。使用可能な言語の完全なリストについては、サポートされている言語を参照してください。

右から左に書く言語のコピーを追加する場合、右から左のメッセージの最終的な表示はサービスプロバイダーのレンダリング方法に大きく依存することに注意してください。右から左のメッセージをできるだけ正確に表示するためのベストプラクティスについては、右から左のメッセージの作成を参照してください。

Webhook URL

Webhook URL(HTTP URL)はエンドポイントを指定します。エンドポイントは、Webhookでキャプチャしている情報を送信する場所です。

ベンダーに情報を送信する場合、ベンダーはこのURLをAPIドキュメントで提供する必要があります。自社システムに情報を送信する場合は、開発チームまたはエンジニアリングチームに確認して、正しいURLを使用していることを確認してください。

Brazeは、標準ポート80(HTTP)および443(HTTPS)で通信するURLのみを許可します。

Liquidの使用

Liquidを使用してWebhook URLをパーソナライズできます。特定のエンドポイントでは、URLの一部としてユーザーを識別したり、ユーザー固有の情報を提供したりする必要がある場合があります。Liquidを使用する場合は、URLで使用するユーザー固有の情報ごとにデフォルト値を含めるようにしてください。

HTTPメソッド

使用すべきHTTPメソッドは、情報を送信するエンドポイントによって異なります。ほとんどの場合、POSTを使用します。

リクエストボディ

リクエストボディは、指定したURLに送信される情報です。Webhookリクエストのボディは、JSONキーと値のペアまたはRawテキストで作成できます。

JSONキーと値のペア

JSONキーと値のペアを使用すると、JSON形式を期待するエンドポイント向けのリクエストを簡単に作成できます。JSONリクエストを期待するエンドポイントでのみ使用できます。たとえば、キーがmessage_bodyの場合、対応する値はYour order just arrived!のようになります。キーと値のペアを入力すると、コンポーザーがJSON構文でリクエストを設定し、JSONリクエストのプレビューが自動的に表示されます。

リクエストボディをJSONキーと値のペアに設定した例。

Liquidを使用してキーと値のペアをパーソナライズできます。ユーザー属性、カスタム属性、またはイベントプロパティをリクエストに含めることができます。たとえば、顧客の名とメールアドレスをリクエストに含めることができます。各属性にデフォルト値を含めるようにしてください。

Rawテキスト

Rawテキストオプションを使用すると、任意の形式のボディを期待するエンドポイント向けのリクエストを柔軟に作成できます。たとえば、XML形式のリクエストを期待するエンドポイント向けのリクエストを作成する場合に使用できます。

Rawテキストでは、Liquidを使用したパーソナライゼーション国際化の両方がサポートされています。

Liquidを使用したRawテキストのリクエストボディの例。

Content-Typeリクエストヘッダーapplication/x-www-form-url-encodedに設定した場合、リクエストボディはURLエンコードされた文字列としてフォーマットする必要があります。例:

1
to={{custom_attribute.${example}}}&text=Your+order+just+arrived

URLエンコードされた文字列のリクエストボディ。

ステップ 3: 追加設定を構成する

リクエストヘッダー(オプション)

特定のエンドポイントでは、リクエストにヘッダーを含める必要がある場合があります。コンポーザーの Compose セクションで、必要な数のヘッダーを追加できます。

「Authorization」キーと「Content-Type」キーのリクエストヘッダーの例。

一般的なリクエストヘッダーは、Content-Type仕様(ボディで期待されるデータの種類(XMLやJSONなど)を記述するもの)と、ベンダーやシステムの認証情報を含む認証ヘッダーです。

Content-Type仕様にはキーContent-Typeを使用する必要があります。一般的な値はapplication/jsonまたはapplication/x-www-form-urlencodedです。

認証ヘッダーにはキーAuthorizationを使用する必要があります。一般的な値はBearer {{YOUR_TOKEN}}またはBasic {{YOUR_TOKEN}}で、YOUR_TOKENはベンダーやシステムから提供された認証情報です。

ステップ 4: テスト送信する

Campaignを公開する前に、Brazeではリクエストが適切にフォーマットされていることを確認するためにWebhookをテストすることをお勧めします。

テストするには、Test タブに切り替えてテストWebhookを送信します。ランダムユーザー、特定のユーザー(メールアドレスまたは外部ユーザーIDを入力)、または選択した属性を持つカスタマイズされたユーザーとしてWebhookをテストできます。

テスト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: CampaignまたはCanvasの残りを構築する

次に、Campaignの残りの部分を構築します。Webhookを構築するためのツールの最適な使用方法の詳細については、以下のセクションを参照してください。

配信スケジュールまたはトリガーを選択する

Webhookは、スケジュールされた時間、アクション、またはAPIトリガーに基づいて配信できます。詳細については、Campaignのスケジュール設定を参照してください。

アクションベースの配信では、Campaignの期間とサイレント時間を設定することもできます。

このステップでは、ユーザーがCampaignを再受信可能にすることや、フリークエンシーキャップルールを有効にするなどの配信コントロールを指定することもできます。

ターゲットユーザーを選択する

次に、Segmentsまたはフィルターを選択してオーディエンスを絞り込み、ユーザーをターゲットする必要があります。このステップでは、Segmentsからより大きなオーディエンスを選択し、必要に応じてフィルターを使用してそのSegmentをさらに絞り込みます。おおよそのSegment人口のプレビューが自動的に表示されます。正確なSegmentメンバーシップは、メッセージが送信される前に常に計算されることに注意してください。

コンバージョンイベントを選択する

Brazeでは、Campaignを受信した後にユーザーが特定のアクション(コンバージョンイベント)を実行する頻度を追跡できます。ユーザーが指定されたアクションを実行した場合にコンバージョンがカウントされる最大30日間の期間を設定するオプションがあります。

まだ完了していない場合は、Canvasステップの残りのセクションを完了してください。Canvasの残りの構築方法、多変量テストとインテリジェントセレクションの実装方法などの詳細については、CanvasドキュメントのCanvasを構築するステップを参照してください。

ステップ 6: 確認してデプロイする

CampaignまたはCanvasの最後の構築が完了したら、詳細を確認し、テストしてから送信してください。

知っておくべきこと

エラー、リトライロジック、タイムアウト

Webhookは、Brazeサーバーが外部エンドポイントにリクエストを行うことに依存しており、エラーが発生する場合があります。最も一般的なエラーには、構文エラー、期限切れのAPIキー、レート制限、予期しないサーバー側の問題があります。Webhook Campaignを送信する前に:

  • Webhookの構文エラーをテストする
  • パーソナライズされた変数にデフォルト値があることを確認する

Webhookの送信に失敗した場合、エラーメッセージがメッセージアクティビティログに記録され、エラーのタイムスタンプ、アプリ名、エラーの詳細などの情報が含まれます。

「現在のユーザーに関する情報を照会するには、アクティブなアクセストークンを使用する必要があります」というメッセージのWebhookエラー。

エラーメッセージがエラーの原因について十分に明確でない場合は、使用しているAPIエンドポイントのドキュメントを確認してください。通常、エンドポイントが使用するエラーコードの説明と、その一般的な原因が記載されています。

レスポンスコードとリトライロジック

Webhookリクエストが送信されると、受信サーバーはリクエストで何が起こったかを示すレスポンスコードを返します。以下の表は、サーバーが送信する可能性のあるさまざまなレスポンス、Campaign分析への影響、およびエラーの場合にBrazeがCampaignの再配信を試みるかどうかをまとめたものです:

Retry-Afterおよびレート制限レスポンスヘッダーは、リトライ可能な試行(たとえば、408429、または5XXの後)までBrazeが待機する時間に影響を与える場合があります。これらは、401などのリトライ不可能なレスポンスをリトライ対象にするものではありません。

認証とコネクテッドコンテンツの認証情報

送信Webhook HTTPリクエストは、エンドポイントに対する認証にコネクテッドコンテンツの認証情報:basic_authまたは:auth_credentials)のアタッチをサポートしていません。代わりに、Webhookの Request headers を使用して認証を設定してください。送信時にトークンやシークレットを取得するには、ヘッダーまたはボディフィールドに{% connected_content %}タグを配置して、Webhookが送信される前にLiquidが解決するようにできます。

保存済みWebhookテンプレートとCampaignの使用状況

Brazeは、特定の保存済みWebhookテンプレートを参照するすべてのCampaignまたはCanvasステップをリストする組み込みレポートを提供していません。使用状況を監査するには、同じURLとHTTPメソッドを使用するWebhookステップを確認するか、Brazeサポートにお問い合わせください。

トラブルシューティングと追加のエラー詳細

特定のWebhookエラーの詳細な説明、トラブルシューティング手順、および解決ガイダンスについては、Webhookとコネクテッドコンテンツリクエストのトラブルシューティングを参照してください。また、異常ホスト検出システムの仕組みや、Brazeが自動メールおよびBraze Currentsの追加ログを通じてエラー通知を提供する方法についても説明しています。

IP許可リスト

WebhookがBrazeから送信されると、Brazeサーバーは顧客またはサードパーティのサーバーにネットワークリクエストを行います。IP許可リストを使用すると、WebhookリクエストがBrazeから送信されていることを確認でき、セキュリティの層を追加できます。

Brazeは以下のIPからWebhookを送信します。リストされたIPは、許可リストにオプトインされたすべてのAPIキーに自動的かつ動的に追加されます。

インスタンス US-01US-02US-03US-04US-05US-06US-07 の場合、関連する IP アドレスは次のとおりです。

  • 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

インスタンス US-08 の場合、関連する IP アドレスは次のとおりです。

  • 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

インスタンス US-10 の場合、関連する IP アドレスは次のとおりです。

  • 100.25.232.164
  • 35.168.86.179
  • 52.7.44.117
  • 3.92.153.18
  • 35.172.3.129
  • 50.19.162.19

インスタンス EU-01EU-02 の場合、関連する IP アドレスは次のとおりです。

  • 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

インスタンス AU-01 の場合、関連する IP アドレスは次のとおりです。

  • 13.210.1.145
  • 13.211.70.159
  • 13.238.45.54
  • 52.65.73.167
  • 54.153.242.239
  • 54.206.45.213

インスタンス ID-01 の場合、関連する IP アドレスは次のとおりです。

  • 108.136.157.246
  • 108.137.30.207
  • 16.78.128.71
  • 16.78.14.134
  • 16.78.162.208
  • 43.218.73.35

インスタンス JP-01 の場合、関連する IP アドレスは次のとおりです。

  • 13.159.155.212
  • 54.199.221.241
  • 13.192.23.16
  • 54.250.120.139
  • 18.181.114.232
  • 3.114.38.100
New Stuff!