Webhook コネクタ構成ガイド
この記事では、Webhook コネクタの構成方法について説明します。
Webhook コネクタについて
Webhook コネクタを使用すると、カスタマイズされた HTTP リクエストを使用してデータをベンダーに送信し、URL、URL パラメータ、ヘッダー、クッキー、ボディコンテンツタイプ、ボディデータなど、HTTP リクエストのすべての側面を構成できます。Webhook はバッチ処理と、複雑で動的なデータ形式を処理するために設計された強力なテンプレート機能もサポートしています。
ベンダーの認証要件に基づいて選択できる Webhook コネクタは以下の 4 種類です:
- Webhook (BasicAuth):認証が不要、またはユーザー名とパスワードの基本認証のみが必要なサービス用。
- Webhook OAuth2 (3-Legged):ユーザーがサービスにログインしてアクセストークンを取得する必要があります。
- Webhook OAuth2 (2-Legged):ユーザーがサービスにログインする必要はありません。Webhook は認証に必要な情報で構成されます。
- Webhook JWT:JSON Web トークン認証を使用します。ユーザーがサービスにログインする必要はありません。Webhook は認証に必要な情報で構成されます。
Webhook OAuth2 は、OAuth 2.0 認証を明示的に要求するサービスに使用されます。
始めるには、コネクタマーケットプレイスにアクセスして使用したい Webhook インスタンスを追加してください。コネクタの追加方法については、コネクタ概要を参照してください。
以下のセクションでは、各タイプの Webhook コネクタの構成について説明します。
Webhook (BasicAuth) 構成
この Webhook は、HTTP ヘッダーフィールド Authorization を使用して基本的な HTTP 認証をサポートしています。認証情報は {username}:{password}
の Base64 エンコードされた文字列として渡されます。
BasicAuth Webhook 構成のための以下の構成を使用してください:
- タイトル
- 必須
- Webhook の説明的なタイトルを入力してください。
- BasicAuth ユーザー名
- Webhook の認証用ユーザー名を入力してください。
- BasicAuth パスワード
- Webhook の認証用パスワードを入力してください。
- JWT 認証
- JSON Web トークンを入力してください。
次へ をクリックするか、アクション タブに進んでください。
- HTTP リクエストをトリガーするために アクション タブを使用して構成します。
Webhook OAuth2 (3-Legged) 構成
この Webhook の OAuth 実装はサーバーサイドアプリケーションのみをサポートしています。
OAuth 2.0 サービスでウェブアプリケーションを登録することを忘れないでください。アプリケーションはリダイレクト URL を許可するように構成する必要があります:https://my.tealiumiq.com/oauth/webhook/callback.html
OAuth2 (3-legged) Webhook 構成のための以下の構成を使用してください:
- クライアント ID
- 必須。
- OAuth サービスから割り当てられたアプリケーションのクライアント識別子を入力してください。
- クライアント シークレット
- 必須。
- OAuth サービスから割り当てられたアプリケーションのクライアントシークレットを入力してください。
- スコープ
- アプリケーションへのアクセスを要求する権限のタイプを選択してください。
- 認証 URL
- 必須。
- ユーザーを認証後にリダイレクトする URL を入力してください。
- 認証 URL クエリパラメータ
- 認証 URL の一つまたは複数の名前-値ペアを選択してください。
- 複数のペアをアンパサンド (
&
) を使用して区切ってください。 - アンパサンド (
&
) を先頭に使用しないでください。- 正しい:
access_type=offline&prompt=consent
- 誤り:
&access_type=offline&prompt=consent
- 正しい:
- アクセストークン URL
- 必須。
- リフレッシュトークンを取得するためのトークン URL を入力してください。
接続を確立 をクリックして接続をテストしてください。
Webhook OAuth2 (2-Legged) 構成
Tealium の Webhook OAuth2 コネクタは、OAuth2 Two-Legged 認証を必要とする API に完全にカスタマイズされたデータを HTTP リクエストとして送信することができます。クライアント資格情報とリソース所有者のパスワード資格情報の付与をサポートしています。
コネクタを追加した後、OAuth2 2-Legged Webhook 構成のための以下の構成を使用してください:
- アクセストークン URL
- 必須。
- アクセストークンを要求するための API エンドポイント URL を入力してください。
- クライアント ID
- 必須。
- ウェブアプリケーションのクライアント ID を入力してください。
- クライアント ID はクライアント資格情報の付与タイプのリクエストボディに構成されます。
- クライアント シークレット
- 必須。
- ウェブアプリケーションのクライアントシークレットを入力してください。
- クライアントシークレットはクライアント資格情報の付与タイプのリクエストボディに構成されます。
- ユーザー名
- ユーザー名を入力してください。
- パスワード付与タイプを使用する場合、ユーザー名が必要です。
- トークンエンドポイントが基本認証ヘッダーも必要とする場合は、クライアント認証 ID とクライアント認証シークレットを入力してください。
- パスワード
- パスワードを入力してください。
- パスワード付与タイプを使用する場合、パスワードが必要です。
- クライアント認証 ID
- 認証ヘッダーの一部として送信するクライアント ID。
- クライアント認証シークレット
- 認証ヘッダーの一部として送信するクライアントシークレット。
- スコープ
- 要求する権限の範囲を選択してください(一部の OAuth2 サービスでのみ必要です)。
- 追加の認証パラメータ
- 追加の認証パラメータを追加してください(一部の OAuth2 サービスでのみ必要です)。
- 複数のパラメータを
&
で区切ってください。
- 認証トークンの位置
- 認証トークンを配置する場所を指定してください。
- 認証ヘッダープレフィックス
- デフォルト値は
Bearer
です。 - 新しい値を指定して上書きする場合(一部の OAuth2 サービスでのみ必要です)。
- デフォルト値は
すべてのWebhookアクションのアクションパラメータ
以下のパラメータは、すべてのWebhookアクションで利用可能です。
入力フィールド | 必須/オプション | テンプレートサポート | 備考 |
---|---|---|---|
メソッド | 必須 | 次のメソッドをサポート:
|
|
URL | 必須 | ✔ |
|
URLパラメータ | オプション | ✔ |
|
ヘッダー | Webhook(BasicAuth)ではオプション、Webhook OAuth2では必須 | ✔ |
|
クッキー | オプション | ✔ |
|
ボディコンテンツタイプ | オプション |
|
|
ボディデータ | オプション | ✔ |
|
バッチングオプション | オプション | ✔ |
|
テンプレート変数 | オプション |
|
|
テンプレート | オプション |
|
テンプレートサポートについて: カスタムテンプレートからフィールド値を入力することができます。たとえば、テンプレートが some-template
という名前の場合、その内容はフィールドに {{some-template}}
を参照することで注入できます。
要件
- イベントデータ用にEventStreamが有効になっているTealiumアカウント
- 訪問データ用にAudienceStreamが有効になっているTealiumアカウント
コネクタアクション
アクション名 | 説明 | Webhook (BasicAuth) | Webhook OAuth2 |
---|---|---|---|
HTTPリクエストを介してイベントデータを送信 | イベントオブジェクト全体をURLエンコードされたJSON文字列またはJSONペイロードとして送信します。 | ✓ | ✓ |
HTTPリクエストを介して訪問データを送信 | 訪問プロファイルオブジェクト全体をURLエンコードされたJSON文字列またはJSONペイロードとして送信します。 | ✓ | ✓ |
HTTPリクエストを介してカスタマイズデータを送信(高度) | マッピングを通じて指定された個々のイベント/訪問属性を送信します。 | ✓ | ✓ |
HTTPリクエストを介してバッチ処理されたカスタマイズデータを送信(高度) | マッピングを通じて指定されたバッチ処理されたイベント/訪問属性を送信します。 | ✓ | ✓ |
HTTPリクエストを介してバッチ処理された訪問データを送信 | イベントオブジェクト全体をURLエンコードされたJSON文字列またはJSONペイロードとして送信します。 | ✓ | ✓ |
構成の構成
コネクタマーケットプレイスにアクセスし、新しいコネクタを追加します。コネクタの追加方法については、コネクタ概要記事を参照してください。
コネクタを追加した後、以下の構成を構成します:
-
基本認証
- ユーザー名(オプション)
- APIエンドポイントが基本認証を要求する場合はユーザー名を入力
-
基本認証
- パスワード(オプション)
- APIエンドポイントが基本認証を要求する場合はパスワードを入力
アクション構成 - パラメータとオプション
次へをクリックするか、アクションタブに進みます。ここでコネクタアクションを構成します。
このセクションでは、各アクションのパラメータとオプションの構成方法について説明します。
アクション - HTTPリクエストを介してイベントデータを送信
パラメータ
パラメータ | 説明 |
---|---|
メソッド |
|
URL |
|
URLパラメータ |
|
ヘッダー |
|
クッキー |
|
ボディコンテンツタイプ |
|
テンプレート変数 |
|
テンプレート |
|
属性名の印刷 |
|
リダイレクション |
|
アクション - HTTPリクエストを介して訪問データを送信
パラメータ
パラメータ | 説明 |
---|---|
メソッド |
|
URL |
|
URLパラメータ |
|
ヘッダー |
|
クッキー |
|
ボディコンテンツタイプ |
|
テンプレート変数 |
|
テンプレート |
|
現在の訪問データを含む |
|
属性名の印刷 |
|
リダイレクション |
|
アクション - HTTPリクエストを介してカスタマイズデータを送信(高度)
パラメータ
パラメータ | 説明 |
---|---|
メソッド |
|
URL |
|
URLパラメータ |
|
ヘッダー |
|
クッキー |
|
ボディコンテンツタイプ |
|
ボディデータ |
|
テンプレート変数 |
|
テンプレート |
|
アクション - HTTPリクエストを介してバッチデータを送信
バッチ制限
このアクションは、バッチリクエストを使用してベンダーへの大量データ転送をサポートします。詳細については、バッチアクションを参照してください。次のいずれかの閾値に達するか、プロファイルが公開されるまでリクエストがキューに入れられます:
- 最大リクエスト数:100
- 最古のリクエストからの最大時間:60分
- リクエストの最大サイズ:16 MB
パラメータ
パラメータ | 説明 |
---|---|
メソッド |
|
URL |
|
ボディコンテンツタイプ |
|
ボディデータ |
|
レコード数の最大値 |
|
生存時間(分) |
|
URLパラメータ |
|
ヘッダー |
|
クッキー |
|
テンプレート変数 |
|
テンプレート |
|
現在の訪問データを含む |
|
属性名を印刷 |
|
リダイレクション |
|
アクション - HTTPリクエストを介してカスタマイズされたバッチデータを送信(高度)
バッチ制限
このアクションは、バッチリクエストを使用してベンダーへの大量データ転送をサポートします。詳細については、バッチアクションを参照してください。次のいずれかの閾値に達するか、プロファイルが公開されるまでリクエストがキューに入れられます:
- 最大リクエスト数:100
- 最古のリクエストからの最大時間:60分
- リクエストの最大サイズ:16 MB
パラメータ
パラメータ | 説明 |
---|---|
メソッド |
|
URL |
|
ボディコンテンツタイプ |
|
ボディデータ |
|
サフィックス |
|
プレフィックス |
|
ジョイナー |
|
URLパラメータ |
|
ヘッダー |
|
クッキー |
|
テンプレート変数 |
|
テンプレート |
|
イベントデータJSON
イベントに含まれる予想されるJSONペイロードには、イベントの一部であるすべての標準属性と、イベントを送信したプラットフォームに固有の追加属性が含まれます。例えば、ウェブサイトから受信したイベントにはDOMおよびクッキー属性が含まれ、モバイルデバイスから受信したイベントにはデバイスおよびキャリア属性が含まれます。
イベントデータJSONオブジェクトの形式例:
{
"account": "tealium",
"profile": "main",
"env": "prod",
"data": {
"dom": {
"referrer": "",
"domain": "tealium.com",
"title": "Tealium | Customer Data Hub and Enterprise Tag Management",
"query_string": "",
"url": "http://tealium.com/",
"pathname": "/"
},
"udo": {
"tealium_event": "page_view",
"page_name": "Tealium | Customer Data Hub and Enterprise Tag Management",
"page_type": "home",
"device_type": "desktop"
},
"firstparty_tealium_cookies": {
"trace_id": "",
"s_fid": "3EF757DF6253B144-0D0194366CD4479B",
"utag_main_ses_id": 1383677957942,
"s_cc": "true",
"utag_mainst": 1383678970903,
"TID": "2cff51e585ed4a5a9330324d5dbc6bb7",
"s_sq": "[[B]]"
}
},
"post_time": 1500999541000,
"useragent": "PostmanRuntime/6.1.6",
"event_id": "1a1ee055-1456-46f8-ab4d-779628c05dd4",
"visitor_id": "1a1ee055145646f8ab4d779628c05dd4"
}
訪問データJSON
訪問に関連するすべての適用可能な訪問属性を含む予想されるJSONペイロードです。データオブジェクトは属性タイプ別に整理されています。属性が割り当てられていない場合、訪問オブジェクトには表示されません。現在の訪問に関するデータもcurrent_visit
キーの下に含まれます。
訪問データJSONオブジェクトの形式例:
{
"metrics": {
"Weeks since first visit": 0.0,
"Lifetime visit count": 1.0,
"Lifetime event count": 1.0,
"Total direct visits": 1.0
},
"dates": {
"Last visit": 1500999541000,
"last_visit_start_ts": 1500999541000,
"First visit": 1500999541000
},
"properties": {
"profile": "main",
"visitor_id": "1a1ee055145646f8ab4d779628c05dd4",
"account": "tealium"
},
"flags": {
"Is Registered": false
},
"audiences": [
"New Users"
],
"badges": [
"Product Browser"
],
"preloaded": false,
"creation_ts": 1500999541000,
"_id": "1a1ee055145646f8ab4d779628c05dd4",
"_partition": 0,
"shard_token": 0,
"current_visit": {
"metrics": {
"Event count": 1.0
},
"dates": {
"Visit start": 1500999541000,
"last_event_ts": 1500999541000
},
"properties": {
"Active browser type": "Chrome",
"Active operating system": "MacOS",
"Active browser version": "53",
"Active platform": "browser",
"Active device": "other"
},
"flags": {
"Direct visit": true
},
"property_sets": {
"Active devices": [
"other"
],
"Active browser versions": [
"53"
],
"Active operating systems": [
"MacOS"
],
"Active platforms": [
"browser"
],
"Active browser types": [
"Chrome"
]
},
"creation_ts": 1500999541000,
"_id": "9a20caf81d4adc55cfb958da81a513feff62e3324e9f840ed8bf28ca8a39a37d",
"shard_token": 0,
"_dc_ttl_": 60000,
"total_event_count": 1,
"events_compressed": false
},
"_dctrace": [
"local_visitor_processor_visitor_processor"
],
"new_visitor": true,
"audiences_joined_at": {
"tealium_main_101": 1500999542434
}
}
使用例
このセクションでは、HTTPリクエストの例を提供します。明確さのために、これらの例では単純なJSONオブジェクトが使用されています。実際に送信されるデータは完全なイベントまたは訪問オブジェクトです。また、追加のパラメータがどのように送信されるかを示すために、param1
がvalue1
の値を受け取る単一のURLパラメータも含まれています。
イベント/ビジターの送信 - GETメソッド
GETメソッドを使用してイベントデータまたはビジターデータを送信する場合、データはdata
という名前の単一のクエリ文字列パラメータとして送信されます。値はイベント/ビジターデータオブジェクトのURLエンコードされたJSON文字列です。構成されたURLパラメータは追加のクエリ文字列パラメータとして追加されます。
この例では、データは以下の通りです:
{
"foo" : "bar"
}
結果のURLエンコードされたJSON文字列は以下の通りです:
%7B%22foo%22%3A%22bar%22%7D
最終的なGETリクエストでこのクエリ文字列パラメータとして表示されます:
data=%7B%22foo%22%3A%22bar%22%7D
**GET** /webhook-service?data=%7B%22foo%22%3A%22bar%22%7D¶m1=value1
VERSION: HTTP/1.1
CONNECTION: close
ACCEPT-ENCODING: gzip
X-HEADER-KEY: header_value
COOKIE: cookie_key=cookie_valie,cfduid=d63c6b0e0a23195e9a7142f314360b4e11502122913
USER-AGENT: Apache-HttpClient/4.5.1 (Java/1.8.0_111)
イベント/ビジターの送信 - POSTメソッド
以下は、application/json
および application/x-www-form-urlencoded
コンテンツタイプのPOSTリクエストのサンプルです。
Content-Type: application/json
本文データはJSONペイロードとして送信されます。
POST /webhook-service?param1=value1
VERSION: HTTP/1.1
CONNECTION: close
ACCEPT-ENCODING: gzip
X-HEADER-KEY: header_value
COOKIE: cookie_key=cookie_valie
CONTENT-TYPE: application/json; charset=UTF-8
USER-AGENT: Apache-HttpClient/4.5.1 (Java/1.8.0_111)
CONTENT-LENGTH: 13
{
"foo": "bar"
}
Content-Type: application/x-form-urlencoded
本文データはdata
という名前のフォームデータフィールドを使用してURLエンコードされたJSON文字列として送信されます。
POST /webhook-service?param1=value1
VERSION: HTTP/1.1
CONNECTION: close
ACCEPT-ENCODING: gzip
X-HEADER-KEY: header_value
COOKIE: cookie_key=cookie_valie,cfduid=d63c6b0e0a23195e9a7142f314360b4e11502122913
CONTENT-TYPE: application/x-www-form-urlencoded; charset=UTF-8
USER-AGENT: Apache-HttpClient/4.5.1 (Java/1.8.0_111)
CONTENT-LENGTH: 32
data=%7B%22foo%22%3A%22bar%22%7D
ベンダーの使用例
以下のリソースは、高度なWebhook構成の例を提供し、カスタムリクエストで何が可能かの良い基盤と概要を提供します。
FAQ
HTTPレスポンスクッキーはどのように扱われますか?
クッキーベースのセッション管理はウェブブラウザで一般的ですが、ステートレスAPIと通信するサーバー間環境では一般的に推奨されません。そのため、Webhookコネクタはクッキーベースのセッションを追跡せず、HTTPレスポンスのSet-Cookie
ヘッダー値を効果的に無視します。
変更履歴
2024-07-10
- すべてのEventStream WebhookにHTTPリクエストを介してイベントデータを送信するアクションを追加しました。
- すべてのAudienceStream WebhookにHTTPリクエストを介してビジターデータを送信するアクションとバッチでビジターデータを送信するアクションを追加しました。
2021-11-30
- 302レスポンスをサポートするためのWebhookコネクタの構成オプションを追加しました。
2021-07-20
- コネクタアクション表に各アクションへのリンクを追加しました。
2021-06-07
- HTTPリクエストを介してバッチでカスタマイズされたデータを送信するアクション(Advanced)とバッチ制限セクションを追加しました。
2020-11-05
- Webhook 2-Legged OAuth2および3-Legged OAuth2コネクタのバッチサポートを追加しました。
2018-12-18
- WebhookコネクタのApacheクッキー管理を無効にし、ドメインレベルのクッキーが共有されるのを防ぎました。
2017-08-24
- HTTPリクエストを介してイベントデータを送信するアクションとビジターデータを送信するアクションを2つ追加しました。
- POST-visitorおよびPUT-visitorの2つのアクションを削除しました。アクションはアクションドロップダウンリストには表示されなくなりましたが、アクションが現在あなたのプロファイルにインストールされている場合、Tealiumはそれらを引き続きサポートします。
2017-03-02
- OAuthサービスをサポートする新しいWebhook OAuth2コネクタを追加しました。このサービスはWebhook (BasicAuth) コネクタとは別です。
2016-11-13
- 複雑なJSONおよびXMLペイロードをサポートする新しいカスタムリクエストアクションを追加しました。ネストされたJSONを翻訳するための組み込みテンプレートユーティリティをサポートします。
- GET、POST、およびPUTメソッドを新しいアクションの下に移動しました。これらはもはや別々のアクションとして扱われません。
2016-06-14
- AudienceDirectコネクタはWebhookに置き換えられました。
- POST-visitorおよびPUT-Visitorアクションは新しいWebhook (BasicAuth) コネクタに統合されました。
- プロファイルに非機能的/非機能的なAudienceDirectアクションが含まれている場合、新しいWebhookインスタンスで再構成する必要があります。
最終更新日 :: 2025年April月22日