Integrationsvariablen
Durch das Schreiben von Ausdrücken können Sie auf Integrationsvariablen zugreifen, bei denen es sich um für Integrationen spezifische Kontextvariablen handelt (z. B. Web-Chat-und Telefonintegrationen). Alle Integrationsvariablen sind im JSON-Objekt
system_integrations
enthalten, auf das Sie mit dem folgenden Ausdruck zugreifen können:
${system_integrations}
Das Objekt system_integrations
hat die folgende Struktur:
{
"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
Immer eingeschlossen. Dieses Objekt enthält allgemeine Informationen zu dem Kanal, der für die Kommunikation mit dem Assistenten verwendet wird.
Eigenschaften
Eigenschaften, die im Objekt private
enthalten sind, werden als private Variablen behandelt, die nicht in den Protokollen enthalten sind.
Name | Typ | Beschreibung |
---|---|---|
channel.name |
Zeichenfolge |
Der Name des verwendeten Kanals. One of the following values:
|
channel.private.user.id |
Zeichenfolge | Die ID des Benutzers, der über den Kanal mit dem Assistenten interagiert Diese ID ist kanalspezifisch und kann sich von der Benutzer-ID unterscheiden, die watsonx Assistant für Abrechnungszwecke verwendet. Weitere Informationen finden Sie unter Kanalbenutzer-IDs. |
channel.private.user.phone_number |
Zeichenfolge | Die dem Benutzer zugeordnete Telefonnummer. Festgelegt durch die Telefon-, SMS-und WhatsApp-Integrationen. |
channel.private.user.name |
Zeichenfolge | Der Name des Benutzers, der über den Kanal mit dem Assistenten interagiert Wird von der Microsoft Teams-Integration festgelegt |
channel.private.user.aadObjectId |
Zeichenfolge | Die AAD-Objekt-ID ( Azure Active Directory ) des Benutzers, der über den Kanal mit dem Assistenten interagiert Wird von der Microsoft Teams-Integration festgelegt |
JSON-Beispiel
"channel": {
{
"name": "Web chat",
"private": {
"user": {
"id": "anonymous_IBMuid-727c0302-6fd7-4abb-b7ee-f06b4bf30e99"
}
}
}
}
Kanalbenutzer-ID
Die Eigenschaft channel.private.user.id
, die von der Kanalintegration festgelegt wird, gibt eine Benutzer-ID für den Kunden an, die für den Kanal spezifisch ist. Die Quelle dieser Benutzer-ID hängt vom Kanal ab:
Kanal | Kanalbenutzer-ID |
---|---|
Web-Chat | Die von der Web-Chat-Instanz festgelegte Benutzer-ID. Weitere Informationen finden Sie unter Benutzeridentitätsinformationen im Web-Chat verwalten. |
Slack | Die Slack-Member-ID (z. B. U2147483697 ) |
Die Facebook-Absender-ID (z. B. 4310101122439797 ) |
|
Die Telefonnummer des Kunden. | |
Telefon | Die Telefonnummer des Kunden. |
SMS mit Twilio | Die Telefonnummer des Kunden. |
Teams | Die Teambenutzer-ID (z. B. 29:1CV2T75j3QUY-mQCQcIk2... ) und geben die aadObjectId des Teambenutzers an. |
chat
Wird nur eingeschlossen, wenn die Web-Chat-Integration verwendet wird
Eigenschaften
Name | Typ | Beschreibung |
---|---|---|
browser_info.browser_name |
Zeichenfolge | Der Browsername, beispielsweise chrome , edge oder firefox . |
browser_info.browser_version |
Zeichenfolge | Die Browserversion, z. B. 109.0.0 . |
browser_info.browser_OS |
Zeichenfolge | Das Betriebssystem des Computers des Kunden, z. B. Mac OS . |
browser_info.language |
Zeichenfolge | Der Standardcode für die Ländereinstellung des Browsers, z. B. en-US . |
browser_info.page_url |
Zeichenfolge | Die URL der Webseite, auf der der Web-Chat eingebettet ist, ohne Abfrageparameter oder Hashwerte |
browser_info.screen_resolution |
Zeichenfolge | Die Höhe und Breite des Browserfensters, wie z. B. width: 1440, height: 900 |
browser_info.user_agent |
Zeichenfolge | Der Inhalt des HTTP- User-Agent -Anforderungsheaders |
browser_info.client_ip_address |
Zeichenfolge | Die IP-Adresse des Computers des Kunden. |
browser_info.ip_address_list |
Array | Ann-Array-IP-Adressen, die durch HTTP- X-Forwarded-For -Anforderungsheader angegeben werden. |
JSON-Beispiel
"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"
}
}
}
Beispielausdrücke
-
Dieser Ausdruck testet, ob der Kunde den Chrome-Browser verwendet:
${system_integrations}.chat.browser_info.browser_name.equals("chrome")
Sie können diesen Ausdruck als Wert für eine boolesche Sitzungsvariable angeben, die Sie dann in einer Schrittbedingung verwenden können. Wenn Ihre Website beispielsweise nur Chrome unterstützt, könnte ein Schritt davon abhängig sein, dass diese Variable
false
ist und die folgende Ausgabe aufweist:I see you aren't using the Chrome browser. Some features of our website work only on Chrome.
-
Dieser Ausdruck testet, ob die URL der aktuellen Seite die Zeichenfolge
payment.html
enthält:${system_integrations}.chat.browser_info.page_url.contains("payment.html")
Sie können diesen Ausdruck in einer Schrittbedingung verwenden, um zu verhindern, dass Kunden zu einer Seite navigieren, die sie bereits anzeigen. In einer Aktion zum Bezahlen einer Rechnung könnten Sie beispielsweise einen Schritt davon abhängig haben, dass diese Variable
false
ist und die folgende Ausgabe hat:First, click **Pay bill** to navigate to the bill payment page.
voice_telephony
Nur enthalten, wenn die Telefonintegration verwendet wird.
Das Objekt voice_telephony
enthält Antwort-und Anforderungseigenschaften. Anforderungseigenschaften sind Werte, die von der Telefonintegration festgelegt werden und Informationen zum Anruf bereitstellen. Antworteigenschaften sind
Eingabewerte, die Sie in Ihren Aktionen ändern können, um Protokollierungsdaten zu senden oder Konfigurationsoptionen für den Aufruf zu ändern.
Anforderungseigenschaften (von der Telefonintegration festgelegt)
Eigenschaften, die im Objekt private
enthalten sind, werden als private Variablen behandelt, die nicht in den Protokollen enthalten sind.
Name | Typ | Beschreibung |
---|---|---|
sip_call_id |
Zeichenfolge | Die SIP-Anruf-ID, die dem Anruf zugeordnet ist. |
assistant_phone_number |
Zeichenfolge | Die Telefonnummer, die dem Ende des Anrufs watsonx Assistant zugeordnet ist. |
sip_custom_invite_headers |
Object | Ein benutzerdefiniertes Array von Schlüssel/Wert-Paaren mit SIP-Headern aus der SIP-Anforderung INVITE . |
private.user_phone_number |
Zeichenfolge | Die Telefonnummer, von der der Anruf des Kunden stammt. |
private.sip_request_uri |
Zeichenfolge | Der eingehende SIP-Anforderungs-URI, der den Telefonanruf eingeleitet hat |
private.sip_from_uri |
Zeichenfolge | Der URI aus dem Header From der SIP-Anforderung. |
private.sip_to_uri |
Zeichenfolge | Der URI aus dem Header To der SIP-Anforderung. |
final_utterance_timeout_occurred |
Boolesch | Wird auf true gesetzt, wenn das Zeitlimit für die endgültige Äußerung erreicht wurde. Dieses Zeitlimit kann durch Senden der Eigenschaft final_utterance_timeout_count konfiguriert werden. |
post_response_timeout_occurred |
Boolesch | Wird auf true gesetzt, wenn das Zeitlimit für die endgültige Äußerung erreicht wurde. Dieses Zeitlimit kann durch Senden der Eigenschaft post_response_timeout_count konfiguriert werden. |
JSON-Beispielanforderung
"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"
}
}
Antworteigenschaften (vom Assistenten festgelegt)
Name | Typ | Beschreibung |
---|---|---|
final_utterance_timeout_count |
Integer | Die Zeit (in Millisekunden), die auf eine endgültige Äußerung vom Speech to Text-Service gewartet wird. Wenn vor Ablauf des Zeitlimits keine endgültige Äußerung empfangen wird, sendet die Telefonintegration eine Nachricht an den Assistenten,
wobei die Eigenschaft final_utterance_timeout_occurred auf true gesetzt ist. |
post_response_timeout_count |
Integer | Die Wartezeit (in Millisekunden) auf eine neue Äußerung, nachdem die letzte Antwort wiedergegeben wurde. Wenn vor Ablauf des Zeitlimits keine Äußerung empfangen wird, sendet die Telefonintegration eine Nachricht an den Assistenten, in
der die Eigenschaft post_response_timeout_occurred auf true gesetzt ist. |
cdr_custom_data |
Object | Ein JSON-Objekt mit Schlüssel/Wert-Paaren, die im CDR-Datensatz für den Aufruf gespeichert werden sollen. Jedes Mal, wenn dieses Objekt gesendet wird, wird sein Inhalt mit Daten gemischt, die zuvor während des Anrufs gesendet wurden. |
turn_settings.timeout_count |
Integer | Die Zeit (in Millisekunden), die gewartet wird, bis watsonx Assistant die Verarbeitung jedes Conversation-Turnus beendet hat. |
JSON-Beispielantwort
"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
Nur enthalten, wenn die Integration von SMS mit Twilio verwendet wird.
Eigenschaften
Eigenschaften, die im Objekt private
enthalten sind, werden als private Variablen behandelt, die nicht in den Protokollen enthalten sind.
Name | Typ | Beschreibung |
---|---|---|
assistant_phone_number |
Zeichenfolge | Die Telefonnummer, die dem watsonx Assistant-Ende des Dialogs zugeordnet ist. |
private.user_phone_number |
Zeichenfolge | Die Telefonnummer, von der die SMS-Nachricht des Kunden stammt |
JSON-Beispiel
"text_messaging": {
"private":{
"user_phone_number":"+18595553456"
},
"assistant_phone_number":"+18885556789"
}
whatsapp
Wird nur eingeschlossen, wenn die WhatsApp-Integration verwendet wird.
Eigenschaften
Eigenschaften, die im Objekt private
enthalten sind, werden als private Variablen behandelt, die nicht in den Protokollen enthalten sind.
Name | Typ | Beschreibung |
---|---|---|
assistant_phone_number |
Zeichenfolge | Die Telefonnummer, die dem watsonx Assistant-Ende des Dialogs zugeordnet ist. |
private.user_phone_number |
Zeichenfolge | Die Telefonnummer, von der die WhatsApp-Nachricht des Kunden stammt. |
JSON-Beispiel
"whatsapp": {
"private":{
"user_phone_number":"+18595553456"
},
"assistant_phone_number":"+18885556789"
}
slack
Nur eingeschlossen, wenn die Slack-Integration verwendet wird.
Eigenschaften
Name | Typ | Beschreibung |
---|---|---|
team_id |
Zeichenfolge | Die eindeutige Kennung des Slack-Teams. |
channel_id |
Zeichenfolge | Die eindeutige Kennung des Slack-Kanals. |
JSON-Beispiel
"slack": {
"team_id":"T02F3KE542J",
"channel_id":"C4K3KTTRD"
}
facebook
Nur eingeschlossen, wenn die Facebook-Integration verwendet wird.
Eigenschaften
Keine zusätzlichen Eigenschaften.
JSON-Beispiel
"facebook": {}
teams
Nur eingeschlossen, wenn die Microsoft Teams-Integration verwendet wird.
Eigenschaften
Name | Typ | Beschreibung |
---|---|---|
conversation_id |
Zeichenfolge | Die eindeutige Kennung des Microsoft Teams-Dialogs. |
JSON-Beispiel
"teams":{
"conversation_id":"a:1ATy08jyGkPGy2QdKIrGZL5u_o6fIUVDRKeIZtkIUAkQDC23FC9S97f18i-UNl-eISAfDWqoQeTbregvSE8jK0LNy6h9VssNcN3CsGG9guMiUB0EeSqxnnEFpAVzbkayR"
}