IBM Cloud Docs
Integrationsvariablen

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.

Eigenschaften des Kanalobjekts
Name Typ Beschreibung
channel.name Zeichenfolge

Der Name des verwendeten Kanals. One of the following values:

  • Web chat
  • Phone
  • SMS
  • Whatsapp
  • Slack
  • Facebook Messenger
  • teams
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:

Quellen der Kanalbenutzer-ID
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)
Facebook Die Facebook-Absender-ID (z. B. 4310101122439797)
WhatsApp 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

Eigenschaften des Chatobjekts
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.

Anforderungseigenschaften des Objekts 'voice_phony'
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)

Antworteigenschaften des Objekts 'voice_phony'
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.

Eigenschaften des Objekts text_messaging
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.

Eigenschaften des whatsapp-Objekts
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

Eigenschaften des Slack-Objekts
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

Eigenschaften des Objekts 'teams'
Name Typ Beschreibung
conversation_id Zeichenfolge Die eindeutige Kennung des Microsoft Teams-Dialogs.

JSON-Beispiel

"teams":{
  "conversation_id":"a:1ATy08jyGkPGy2QdKIrGZL5u_o6fIUVDRKeIZtkIUAkQDC23FC9S97f18i-UNl-eISAfDWqoQeTbregvSE8jK0LNy6h9VssNcN3CsGG9guMiUB0EeSqxnnEFpAVzbkayR"
}