Integrationsvariablen

Durch das Schreiben von Ausdrücken können Sie auf Integrationsvariablen zugreifen, bei denen es sich um Kontextvariablen handelt, die spezifisch für Integrationen sind (z. B. die Web-Chat- und die Telefonintegration). Alle Integrationsvariablen sind in dem 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 inklusive. Dieses Objekt enthält allgemeine Informationen über den Kanal, über den die Kommunikation mit dem KI-Assistenten erfolgt.

Eigenschaften

Die im Objekt " private enthaltenen Eigenschaften werden als private Variablen behandelt, die nicht in die Protokolle aufgenommen werden.

Tabelle 1. Eigenschaften des Kanalobjekts

Name

Typ

Beschreibung

channel.name

Zeichenfolge

Der Name des Kanals, der verwendet wird. Einer der folgenden Werte: \n - Web chat \n - Phone \n - SMS \n - Whatsapp \n - Slack \n - Facebook Messenger \n - teams

channel.private.user.id

Zeichenfolge

Die ID des Benutzers, der über den Kanal mit dem KI-Assistenten interagiert. Diese ID ist kanalspezifisch und kann sich von der Benutzer-ID unterscheiden, die der KI-Assistent für Abrechnungszwecke verwendet. Weitere Informationen finden Sie unter „Benutzer-IDs für Kanäle “.

channel.private.user.phone_number

Zeichenfolge

Die dem Benutzer zugeordnete Telefonnummer. Eingestellt durch die Telefon-, SMS- und WhatsApp.

channel.private.user.name

Zeichenfolge

Der Name des Benutzers, der über den Kanal mit dem KI-Assistenten interagiert. Wird durch die Integration von „ Microsoft Teams “ festgelegt.

channel.private.user.aadObjectId

Zeichenfolge

Die Objekt-ID des Benutzers, der über den Kanal mit dem KI-Assistenten interagiert, gemäß der „ Azure “ (AAD) Active Directory. Wird durch die Integration von „ Microsoft Teams “ festgelegt.

JSON-Beispiel

"channel": {
  {
    "name": "Web chat",
    "private": {
      "user": {
        "id": "anonymous_IBMuid-727c0302-6fd7-4abb-b7ee-f06b4bf30e99"
      }
    }
  }
}

Kanal-Benutzer-ID

Die Eigenschaft " channel.private.user.id, die von der Kanalintegration festgelegt wird, gibt eine für den Kanal spezifische Benutzer-ID für den Kunden an. Die Quelle dieser Benutzer-ID hängt vom jeweiligen Kanal ab:

Tabelle 2. Quellen der Kanal-Benutzer-ID

Kanal

Kanal-Benutzer-ID

Web-Chat

Die von der Webchat-Instanz festgelegte Benutzer-ID. Weitere Informationen finden Sie unter Verwalten von Benutzeridentitätsinformationen im Webchat.

Slack

Die ID des Slack-Mitglieds (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 Teams-Benutzerkennung (z. B. " 29:1CV2T75j3QUY-mQCQcIk2...) und geben Sie den " aadObjectId des Teams-Benutzers an.

chat

Nur enthalten, wenn die Web-Chat-Integration verwendet wird.

Eigenschaften

Tabelle 3. Eigenschaften des Chat-Objekts

Name

Typ

Beschreibung

browser_info.browser_name

Zeichenfolge

Der Browsername, z. B. " 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 Standardgebietsschema-Code des Browsers, z. B. " en-US.

browser_info.page_url

Zeichenfolge

Die URL der Webseite, in die der Webchat eingebettet ist, ohne Abfrageparameter oder Hashes.

browser_info.screen_resolution

Zeichenfolge

Höhe und Breite des Browserfensters, z. B. " width: 1440, height: 900.

browser_info.user_agent

Zeichenfolge

Der Inhalt des HTTP User-Agent request header.

browser_info.client_ip_address

Zeichenfolge

Die IP-Adresse des Computers des Kunden.

browser_info.ip_address_list

Array-Funktionen

Eine Reihe von IP-Adressen, die in den Request-Headern X-Forwarded-For von HTTP angegeben sind.

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 prüft, 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önnten Sie einen Schritt einrichten, der von der Variable " false abhängt und die folgende Ausgabe hat: I see you aren't using the Chrome browser. Some features of our website work only on Chrome.

  • Dieser Ausdruck prüft, ob die aktuelle Seite URL 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 vermeiden, dass Kunden zu einer Seite navigieren müssen, die sie bereits sehen. In einer Aktion zum Bezahlen einer Rechnung könnten Sie zum Beispiel einen Schritt haben, der von der Variable " false abhängt und folgende Ausgabe hat: First, click **Pay bill** to navigate to the bill payment page.

voice_telephony

Nur enthalten, wenn die Telefonintegration in Gebrauch ist.

Das Objekt " voice_telephony enthält sowohl Antwort- als auch Anfrageeigenschaften. Abfrageeigenschaften sind Werte, die von der Telefonintegration festgelegt werden und Informationen über den Anruf liefern. Antworteigenschaften sind Eingabewerte, die Sie in Ihren Aktionen ändern können, um Protokolldaten zu senden oder Konfigurationsoptionen für den Aufruf zu ändern.

Eigenschaften abrufen (von der Telefonintegration festgelegt)

Die im Objekt " private enthaltenen Eigenschaften werden als private Variablen behandelt, die nicht in die Protokolle aufgenommen werden.

Tabelle 4. Eigenschaften des Objekts „voice_telephony“ abrufen

Name

Typ

Beschreibung

sip_call_id

Zeichenfolge

Die mit dem Telefonanruf verbundene SIP-Anruf-ID.

assistant_phone_number

Zeichenfolge

Die Telefonnummer, die dem KI-Assistenten zugeordnet ist, beendet den Anruf.

sip_custom_invite_headers

Object

Ein benutzerdefiniertes Array von Schlüssel/Wert-Paaren mit SIP-Headern aus der SIP-' INVITE.

private.user_phone_number

Zeichenfolge

Die Rufnummer, von der der Anruf des Kunden ausging.

private.sip_request_uri

Zeichenfolge

Die URI der eingehenden SIP-Anfrage, die den Telefonanruf initiiert hat.

private.sip_from_uri

Zeichenfolge

Der URI aus dem ' From der SIP-Anfrage.

private.sip_to_uri

Zeichenfolge

Der URI aus dem ' To der SIP-Anfrage.

final_utterance_timeout_occurred

Boolean

Wird auf " true gesetzt, wenn die Zeit für die letzte Äußerung erreicht ist. Diese Zeitüberschreitung kann durch Senden der Eigenschaft " final_utterance_timeout_count konfiguriert werden.

post_response_timeout_occurred

Boolean

Wird auf " true gesetzt, wenn die Zeit für die letzte Äußerung erreicht ist. Diese Zeitüberschreitung kann durch Senden der Eigenschaft " post_response_timeout_count konfiguriert werden.

Beispiel für eine JSON-Anfrage

"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"
  }
}

Antwort-Eigenschaften (vom KI-Assistenten festgelegt)

Tabelle 5. Eigenschaften des Objekts „voice_telephony“

Name

Typ

Beschreibung

final_utterance_timeout_count

Integer

Die Zeit (in Millisekunden), die auf eine endgültige Antwort des Dienstes „ Speech to Text “ gewartet werden soll. Wird vor Ablauf der Zeitüberschreitung keine abschließende Äußerung empfangen, sendet die Telefonintegration eine Nachricht an den KI-Assistenten, wobei die final_utterance_timeout_occurredtrue Eigenschaft auf gesetzt ist.

post_response_timeout_count

Integer

Die Zeit (in Millisekunden), die auf eine neue Äußerung gewartet wird, nachdem die letzte Antwort abgespielt wurde. Wird vor Ablauf der Zeitüberschreitung keine Äußerung empfangen, sendet die Telefonintegration eine Nachricht an den KI-Assistenten, die truedie auf post_response_timeout_occurred gesetzte Eigenschaft enthält.

cdr_custom_data

Object

Ein JSON-Objekt mit Schlüssel/Wertpaaren, die im CDR-Datensatz für den Anruf gespeichert werden sollen. Jedes Mal, wenn dieses Objekt gesendet wird, wird sein Inhalt mit den zuvor während des Anrufs gesendeten Daten zusammengeführt.

turn_settings.timeout_count

Integer

Die Zeit (in Millisekunden), die gewartet werden soll, bis der KI-Assistent die Verarbeitung jedes Gesprächsrundenabschnitts abgeschlossen hat.

Beispiel für eine JSON-Antwort

"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 SMS mit Twilio-Integration verwendet wird.

Eigenschaften

Die im Objekt " private enthaltenen Eigenschaften werden als private Variablen behandelt, die nicht in die Protokolle aufgenommen werden.

Tabelle 6. Eigenschaften des Objekts „text_messaging“

Name

Typ

Beschreibung

assistant_phone_number

Zeichenfolge

Die Telefonnummer, die dem KI-Assistenten zugeordnet ist, beendet das Gespräch.

private.user_phone_number

Zeichenfolge

Die Rufnummer, von der die SMS-Nachricht des Kunden stammt.

JSON-Beispiel

"text_messaging": {
  "private":{
    "user_phone_number":"+18595553456"
  },
  "assistant_phone_number":"+18885556789"
}

whatsapp

Nur enthalten, wenn die WhatsApp verwendet wird.

Eigenschaften

Die im Objekt " private enthaltenen Eigenschaften werden als private Variablen behandelt, die nicht in die Protokolle aufgenommen werden.

Tabelle 7. Eigenschaften des WhatsApp-Objekts

Name

Typ

Beschreibung

assistant_phone_number

Zeichenfolge

Die Telefonnummer, die dem KI-Assistenten zugeordnet ist, beendet das Gespräch.

private.user_phone_number

Zeichenfolge

Die Rufnummer, von der die WhatsApp des Kunden stammt.

JSON-Beispiel

"whatsapp": {
  "private":{
    "user_phone_number":"+18595553456"
  },
  "assistant_phone_number":"+18885556789"
}

slack

Nur enthalten, wenn die Slack-Integration verwendet wird.

Eigenschaften

Tabelle 8. Eigenschaften des Slack-Objekts

Name

Typ

Beschreibung

team_id

Zeichenfolge

Der eindeutige Bezeichner des Slack-Teams.

channel_id

Zeichenfolge

Der eindeutige Bezeichner des Slack-Kanals.

JSON-Beispiel

"slack": {
  "team_id":"T02F3KE542J",
  "channel_id":"C4K3KTTRD"
}

facebook

Nur enthalten, wenn die Facebook-Integration verwendet wird.

Eigenschaften

Keine zusätzlichen Eigenschaften.

JSON-Beispiel

"facebook": {}

teams

Wird nur angezeigt, wenn die „ Microsoft Teams “-Integration genutzt wird.

Eigenschaften

Tabelle 9. Eigenschaften des Teams-Objekts

Name

Typ

Beschreibung

conversation_id

Zeichenfolge

Die eindeutige Kennung der Konversation unter Microsoft Teams.

JSON-Beispiel

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