Variables d'intégration
En écrivant des expressions, vous pouvez accéder aux variables d'intégration, qui sont des variables de contexte spécifiques aux intégrations (telles que les intégrations de chat en ligne et de téléphone). Toutes les variables d'intégration sont contenues dans l'objet JSON " system_integrations, auquel vous pouvez accéder à l'aide de l'expression suivante :
${system_integrations}
L'objet " system_integrations a la structure suivante :
{
"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
Toujours inclus. Cet objet contient des informations générales sur le canal utilisé pour communiquer avec l 'assistant IA.
Propriétés
Les propriétés contenues dans l'objet " private sont traitées comme des variables privées, qui ne sont pas incluses dans les journaux.
Nom | Type | Description |
|---|---|---|
| Chaîne | Le nom du canal en cours d'utilisation. L'une des valeurs suivantes : \n - |
| Chaîne | L'identifiant de l'utilisateur qui interagit avec l 'assistant IA via ce canal. Cet identifiant est propre au canal et peut différer de l'identifiant utilisateur utilisé par l'assistant IA à des fins de facturation. Pour plus d'informations, consultez la section « Identifiants d'utilisateur des chaînes ». |
| Chaîne | Le numéro de téléphone associé à l'utilisateur. Défini par les intégrations téléphone, SMS et WhatsApp |
| Chaîne | Le nom de l'utilisateur qui interagit avec l 'assistant IA via ce canal. Définie par l'intégration « Microsoft Teams ». |
| Chaîne | L'identifiant d'objet AAD ( Azure ) Active Directory de l'utilisateur qui interagit avec l 'assistant IA via le canal. Définie par l'intégration « Microsoft Teams ». |
Exemple de JSON
"channel": {
{
"name": "Web chat",
"private": {
"user": {
"id": "anonymous_IBMuid-727c0302-6fd7-4abb-b7ee-f06b4bf30e99"
}
}
}
}
Identifiant de l'utilisateur du canal
La propriété " channel.private.user.id, qui est définie par l'intégration du canal, spécifie un identifiant d'utilisateur pour le client qui est spécifique au canal. La source de cet identifiant dépend du canal :
Canal | ID de l'utilisateur du canal |
|---|---|
Discussion Web | L'identifiant de l'utilisateur défini par l'instance de chat en ligne. Pour plus d'informations, voir Gestion des informations d'identité de l'utilisateur dans le chat Web. |
Slack | L'identifiant du membre de Slack (par exemple, " |
< | L'identifiant de l'expéditeur Facebook (par exemple, " |
Le numéro de téléphone du client. | |
Téléphone | Le numéro de téléphone du client. |
SMS avec Twilio | Le numéro de téléphone du client. |
Equipes | L'ID de l'utilisateur Teams (par exemple, " |
chat
Inclus uniquement si l'intégration du chat en ligne est utilisée.
Propriétés
Nom | Type | Description |
|---|---|---|
| Chaîne | Le nom du navigateur, tel que " |
| Chaîne | La version du navigateur, par exemple " |
| Chaîne | Le système d'exploitation de l'ordinateur du client, tel que " |
| Chaîne | Code local par défaut du navigateur, tel que " |
| Chaîne | Le site URL de la page web dans laquelle le chat web est intégré, à l'exclusion de tout paramètre de requête ou de hachage. |
| Chaîne | La hauteur et la largeur de la fenêtre du navigateur, par exemple " |
| Chaîne | Le contenu de l'en-tête de la requête HTTP |
| Chaîne | L'adresse IP de l'ordinateur du client. |
| Tableau | Tableau d'annulations des adresses IP spécifiées par les en-têtes de requête HTTP |
Exemple de 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"
}
}
}
Exemples d'expressions
Cette expression permet de vérifier si le client utilise le navigateur Chrome :
${system_integrations}.chat.browser_info.browser_name.equals("chrome")
Vous pouvez spécifier cette expression comme valeur d'une variable de session booléenne, que vous pouvez ensuite utiliser dans une condition d'étape. Par exemple, si votre site Web ne prend en charge que Chrome, vous pourriez avoir une étape conditionnée par la variable " false et produire le résultat suivant : I see you aren't using the Chrome browser. Some features of our website work only on Chrome.
Cette expression vérifie si la page actuelle URL contient la chaîne
payment.html:
${system_integrations}.chat.browser_info.page_url.contains("payment.html")
Vous pouvez utiliser cette expression dans une condition d'étape afin d'éviter de demander aux clients de naviguer vers une page qu'ils sont déjà en train de consulter. Par exemple, dans une action de paiement d'une facture, vous pourriez avoir une étape conditionnée par la variable " false et avoir la sortie suivante : First, click **Pay bill** to navigate to the bill payment page.
voice_telephony
Inclus uniquement si l'intégration téléphonique est en cours d'utilisation.
L'objet " voice_telephony contient des propriétés de réponse et de demande. Les propriétés de requête sont des valeurs définies par l'intégration téléphonique et fournissent des informations sur l'appel. Les propriétés de réponse sont des valeurs d'entrée que vous pouvez modifier dans vos actions pour envoyer des données d'enregistrement ou pour changer les options de configuration de l'appel.
Propriétés de la requête (définies par l'intégration téléphonique)
Les propriétés contenues dans l'objet " private sont traitées comme des variables privées, qui ne sont pas incluses dans les journaux.
Nom | Type | Description |
|---|---|---|
| Chaîne | L'ID de l'appel SIP associé à l'appel téléphonique. |
| Chaîne | Le numéro de téléphone associé à l 'assistant IA à la fin de l'appel. |
| Objet | Tableau défini par l'utilisateur de paires clé/valeur contenant les en-têtes SIP de la requête SIP " |
| Chaîne | Le numéro de téléphone d'où provient l'appel du client. |
| Chaîne | L'URI de la requête SIP entrante qui a initié l'appel téléphonique. |
| Chaîne | L'URI de l'en-tête " |
| Chaîne | L'URI de l'en-tête " |
| Booléen | Réglé sur " |
| Booléen | Réglé sur " |
Exemple de requête 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"
}
}
Propriétés de réponse (définies par l 'assistant IA)
Nom | Type | Description |
|---|---|---|
| Entier | Le délai (en millisecondes) à respecter avant de recevoir la réponse finale du service Speech to Text. Si aucune réponse finale n'est reçue avant l'expiration du délai, l'intégration téléphonique envoie un message à l 'assistant IA avec la |
| Entier | Le temps (en millisecondes) d'attente d'un nouvel énoncé après la lecture de la dernière réponse. Si aucune réponse n'est reçue avant l'expiration du délai, l'intégration téléphonique envoie un message à l 'assistant IA contenant la |
| Objet | Un objet JSON contenant des paires clé/valeur à stocker dans l'enregistrement CDR pour l'appel. Chaque fois que cet objet est envoyé, son contenu est fusionné avec les données envoyées précédemment au cours de l'appel. |
| Entier | Le temps (en millisecondes) à respecter pour laisser l'assistant IA terminer le traitement de chaque tour de conversation. |
Exemple de réponse 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
Inclus uniquement si l'intégration SMS avec Twilio est utilisée.
Propriétés
Les propriétés contenues dans l'objet " private sont traitées comme des variables privées, qui ne sont pas incluses dans les journaux.
Nom | Type | Description |
|---|---|---|
| Chaîne | Le numéro de téléphone associé à l 'assistant IA à la fin de la conversation. |
| Chaîne | Le numéro de téléphone d'où provient le message SMS du client. |
Exemple de JSON
"text_messaging": {
"private":{
"user_phone_number":"+18595553456"
},
"assistant_phone_number":"+18885556789"
}
whatsapp
Inclus uniquement si l'intégration WhatsApp est utilisée.
Propriétés
Les propriétés contenues dans l'objet " private sont traitées comme des variables privées, qui ne sont pas incluses dans les journaux.
Nom | Type | Description |
|---|---|---|
| Chaîne | Le numéro de téléphone associé à l 'assistant IA à la fin de la conversation. |
| Chaîne | Le numéro de téléphone d'où provient le message WhatsApp du client. |
Exemple de JSON
"whatsapp": {
"private":{
"user_phone_number":"+18595553456"
},
"assistant_phone_number":"+18885556789"
}
slack
Inclus uniquement si l'intégration Slack est utilisée.
Propriétés
Nom | Type | Description |
|---|---|---|
| Chaîne | L'identifiant unique de l'équipe Slack. |
| Chaîne | L'identifiant unique du canal Slack. |
Exemple de JSON
"slack": {
"team_id":"T02F3KE542J",
"channel_id":"C4K3KTTRD"
}
facebook
Inclus uniquement si l'intégration Facebook est utilisée.
Propriétés
Pas de propriétés supplémentaires.
Exemple de JSON
"facebook": {}
teams
Inclus uniquement si l'intégration d' Microsoft Teams s est activée.
Propriétés
Nom | Type | Description |
|---|---|---|
| Chaîne | L'identifiant unique de la conversation « Microsoft Teams ». |
Exemple de JSON
"teams":{
"conversation_id":"a:1ATy08jyGkPGy2QdKIrGZL5u_o6fIUVDRKeIZtkIUAkQDC23FC9S97f18i-UNl-eISAfDWqoQeTbregvSE8jK0LNy6h9VssNcN3CsGG9guMiUB0EeSqxnnEFpAVzbkayR"
}