統合変数
式を書くことで、統合変数にアクセスすることができます。これは、統合(ウェブチャットや電話統合など)に固有のコンテキスト変数です。 すべての統合変数は「system_integrationsJSONオブジェクトに含まれており、以下の式を使ってアクセスできる:
${system_integrations}
system_integrationsオブジェクトは次のような構造をしている:
{
"channel": {
"name": "{channel_name}",
"private": {
"user": {
"id": "{user_id}",
"phone_number": "{phone_number}",
"name": "{name}"
}
}
},
"chat": {...},
"voice_telephony": {...},
"text_messaging": {...},
"whatsapp": {...},
"slack": {...},
"facebook": {...},
"teams": {...}
}
channel
常に含まれている。 このオブジェクトには、AIアシスタントとの通信に使用されているチャンネルに関する一般的な情報が含まれています。
プロパティ-
privateオブジェクトに含まれるプロパティはプライベート変数として扱われ、ログには含まれません。
| 名前 | タイプ | 説明 |
|---|---|---|
channel.name |
ストリング | 使用中のチャンネル名。 以下の値のいずれか。
|
channel.private.user.id |
ストリング | チャネルを通じてAIアシスタントと対話するユーザーのID。 このIDはチャンネル固有のもので、AIアシスタントが課金目的で使用するユーザーIDとは異なる場合があります。 詳しくはチャンネル・ユーザーIDを参照。 |
channel.private.user.phone_number |
ストリング | ユーザーに関連付けられている電話番号。 電話、SMS、WhatsAppの統合により設定。 |
channel.private.user.name |
ストリング | チャネルを通じてAIアシスタントと対話するユーザーの名前。 Microsoft Teamsとの統合によって設定されます。 |
channel.private.user.aadObjectId |
ストリング | チャネルを通じてAIアシスタントと対話するユーザーのAzure Active Directory(AAD)オブジェクトID。 Microsoft Teamsとの統合によって設定されます。 |
JSON の例
"channel": {
{
"name": "Web chat",
"private": {
"user": {
"id": "anonymous_IBMuid-727c0302-6fd7-4abb-b7ee-f06b4bf30e99"
}
}
}
}
チャンネル・ユーザーID
チャネル統合によって設定される「channel.private.user.idプロパティは、チャネル固有の顧客のユーザIDを指定します。 このユーザーIDのソースはチャンネルによって異なる:
| チャネル | チャンネル・ユーザーID |
|---|---|
| Webチャット | ウェブチャットインスタンスによって設定されたユーザーID。 詳細については、「WebチャットでのユーザーID情報の管理」を参照してください。 |
| Slack | SlackのメンバーID(例えば「U2147483697)。 |
Facebookの送信者ID(例えば「4310101122439797)。 |
|
| お客様の電話番号 | |
| 電話番号 | お客様の電話番号 |
| SMS with Twilio | お客様の電話番号 |
| チーム | TeamsユーザーID(例:'29:1CV2T75j3QUY-mQCQcIk2...)とTeamsユーザーの'aadObjectIdを入力してください。 |
chat
ウェブチャット統合が使用されている場合のみ含まれます。
プロパティ-
| 名前 | タイプ | 説明 |
|---|---|---|
browser_info.browser_name |
ストリング | chrome、'edge、'firefoxなどのブラウザ名。 |
browser_info.browser_version |
ストリング | 109.0.0ようなブラウザのバージョン。 |
browser_info.browser_OS |
ストリング | お客様のコンピューターのオペレーティング・システム、例えば Mac OS。 |
browser_info.language |
ストリング | en-USような、ブラウザのデフォルトロケールコード。 |
browser_info.page_url |
ストリング | ウェブチャットが埋め込まれたウェブページの URL (クエリパラメータやハッシュは含まない)。 |
browser_info.screen_resolution |
ストリング | width: 1440, height: 900ようなブラウザウィンドウの高さと幅。 |
browser_info.user_agent |
ストリング | HTTP User-Agent リクエストヘッダの内容。 |
browser_info.client_ip_address |
ストリング | 顧客のコンピューターのIPアドレス。 |
browser_info.ip_address_list |
アレイ | HTTP X-Forwarded-For リクエストヘッダで指定されたアン配列IPアドレス。 |
JSON の例
"chat": {
"browser_info": {
"browser_name": "chrome",
"browser_version": "109.0.0",
"browser_OS": "Mac OS",
"language": "en-US",
"page_url": "https://us-south.assistant.watson.cloud.ibm.com/crn%3Av1%3Abluemix%3Apublic%3Aconversation%3Aus-south%3Aa%2Fc41400d63d91741a749091dc63574c2c%3Ab696c1e5-7316-4fb0-a61c-664438397e91%3A%3A/assistants/e344fcfe-506c-449f-a182-ebdefe4356ad/actions/actions/custom/edit/action_28584",
"screen_resolution": "width: 1920, height: 1080",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
"client_ip_address": "65.191.135.254",
"ip_address_list": [
"65.191.135.254",
" 104.99.56.143",
"10.185.27.136",
"172.30.226.64"
]
}
},
"channel": {
"name": "Web chat",
"private": {
"user": {
"id": "anonymous_IBMuid-727c0302-6fd7-4abb-b7ee-f06b4bf30e99"
}
}
}
表現例
この式は、顧客がChromeブラウザを使用しているかどうかをテストします:
${system_integrations}.chat.browser_info.browser_name.equals("chrome")この式をブーリアンセッション変数の値として指定し、それをステップ条件で使うこともできる。 例えば、あなたのウェブサイトがChromeのみをサポートしている場合、この変数が'
falseであることを条件とするステップを持つことができ、次のような出力があります:I see you aren't using the Chrome browser. Some features of our website work only on Chrome.この式は、現在のページ URL に文字列
payment.htmlが含まれているかどうかをテストする:${system_integrations}.chat.browser_info.page_url.contains("payment.html")顧客がすでに閲覧しているページに移動するように指示するのを避けるために、ステップ条件でこの表現を使用することがあります。 例えば、請求書を支払うアクションでは、この変数が'
falseであることを条件とするステップを持つことができ、次のような出力がある:First, click **Pay bill** to navigate to the bill payment page.
voice_telephony
電話統合が使用されている場合のみ含まれる。
voice_telephonyオブジェクトはレスポンスとリクエストの両方のプロパティを含む。 リクエストプロパティは、電話統合によって設定され、通話に関する情報を提供する値である。 レスポンス・プロパティは、ロギングデータを送信するため、または呼の設定オプショ ンを変更するために、アクションで変更できる入力値である。
リクエストプロパティ(電話統合によって設定される)
privateオブジェクトに含まれるプロパティはプライベート変数として扱われ、ログには含まれません。
| 名前 | タイプ | 説明 |
|---|---|---|
sip_call_id |
ストリング | 電話に関連付けられたSIPコールID。 |
assistant_phone_number |
ストリング | AIアシスタントに関連する電話番号。 |
sip_custom_invite_headers |
オブジェクト | SIP 'INVITEリクエストのSIPヘッダーを含む、key/valueペアのユーザー定義の配列。 |
private.user_phone_number |
ストリング | 顧客からの電話の発信元電話番号。 |
private.sip_request_uri |
ストリング | 電話を開始した着信SIPリクエストURI。 |
private.sip_from_uri |
ストリング | SIPリクエストの'FromヘッダーのURI。 |
private.sip_to_uri |
ストリング | SIPリクエストの'ToヘッダーのURI。 |
final_utterance_timeout_occurred |
ブール値 | 最終発話のタイムアウトに達したとき、'trueに設定される。 このタイムアウトは、「final_utterance_timeout_countプロパティを送信することで設定できる。 |
post_response_timeout_occurred |
ブール値 | 最終発話のタイムアウトに達したとき、'trueに設定される。 このタイムアウトは、「post_response_timeout_countプロパティを送信することで設定できる。 |
リクエストJSON例
"voice_telephony": {
"private":{
"user_phone_number":"+18595553456",
"sip_request_uri":"sips:+18885557777@public.voip.us-east.assistant.watson.cloud.ibm.com",
"sip_from_uri":"sips:+18565558576@twilio.com",
"sip_to_uri":"sips:+18885557777@public.voip.us-east.assistant.watson.cloud.ibm.com"
},
"sip_call_id": "Aob2-2743-5678-1234",
"assistant_phone_number":"+18885556789",
"sip_custom_invite_headers": {
"custom-header1": "123",
"custom-header2": "456"
}
}
応答プロパティ(AIアシスタントが設定)
| 名前 | タイプ | 説明 |
|---|---|---|
final_utterance_timeout_count |
整数 | Speech to Textサービスからの最終発話を待つ時間(ミリ秒)。 タイムアウトが発生する前に最終的な発話が受信されない場合、電話統合はAIアシスタントに「final_utterance_timeout_occurredプロパティを「true」に設定したメッセージを送信する。 |
post_response_timeout_count |
整数 | 最後の応答が再生された後、新しい発話を待つ時間(ミリ秒)。 タイムアウトが発生する前に発話が受信されなかった場合、電話統合はAIアシスタントに「post_response_timeout_occurredプロパティが「true」に設定されたメッセージを送信する。 |
cdr_custom_data |
オブジェクト | 通話のCDRレコードに格納されるキー/値のペアを含むJSONオブジェクト。 このオブジェクトが送信されるたびに、その内容はコール中に以前に送信されたデータとマージされる。 |
turn_settings.timeout_count |
整数 | AIアシスタントが各会話ターンの処理を終えるのを待つ時間(ミリ秒単位)。 |
レスポンスJSONの例
"voice_telephony" : {
"post_response_timeout_count":10000,
"final_utterance_timeout_count":30000,
"turn_settings": {
"timeout_count": 5000
},
"cdr_custom_data" : {
"custom_data_1": "data 1",
"custom_data_2": "data 2"
}
}
text_messaging
TwilioとのSMS統合が使用されている場合のみ含まれます。
プロパティ-
privateオブジェクトに含まれるプロパティはプライベート変数として扱われ、ログには含まれません。
| 名前 | タイプ | 説明 |
|---|---|---|
assistant_phone_number |
ストリング | AIアシスタントとの会話に関連する電話番号。 |
private.user_phone_number |
ストリング | 顧客のSMSメッセージの発信元電話番号。 |
JSON の例
"text_messaging": {
"private":{
"user_phone_number":"+18595553456"
},
"assistant_phone_number":"+18885556789"
}
whatsapp
WhatsAppインテグレーションが使用されている場合のみ含まれます。
プロパティ-
privateオブジェクトに含まれるプロパティはプライベート変数として扱われ、ログには含まれません。
| 名前 | タイプ | 説明 |
|---|---|---|
assistant_phone_number |
ストリング | AIアシスタントとの会話に関連する電話番号。 |
private.user_phone_number |
ストリング | WhatsAppメッセージの発信元電話番号。 |
JSON の例
"whatsapp": {
"private":{
"user_phone_number":"+18595553456"
},
"assistant_phone_number":"+18885556789"
}
slack
Slackインテグレーションが使用されている場合のみ含まれます。
プロパティ-
| 名前 | タイプ | 説明 |
|---|---|---|
team_id |
ストリング | Slackチームのユニークな識別子。 |
channel_id |
ストリング | Slackチャンネルの一意な識別子。 |
JSON の例
"slack": {
"team_id":"T02F3KE542J",
"channel_id":"C4K3KTTRD"
}
facebook
Facebookとの統合が使用されている場合のみ含まれる。
プロパティ-
追加の特性はない。
JSON の例
"facebook": {}
teams
Microsoft Teams統合が使用されている場合のみ含まれます。
プロパティ-
| 名前 | タイプ | 説明 |
|---|---|---|
conversation_id |
ストリング | Microsoft Teamsの会話の一意の識別子。 |
JSON の例
"teams":{
"conversation_id":"a:1ATy08jyGkPGy2QdKIrGZL5u_o6fIUVDRKeIZtkIUAkQDC23FC9S97f18i-UNl-eISAfDWqoQeTbregvSE8jK0LNy6h9VssNcN3CsGG9guMiUB0EeSqxnnEFpAVzbkayR"
}