Gli agenti Business Messages supportano integrazioni dirette con
- Dialogflow ES: corrispondenza dell'intent e bot Domande frequenti
- Dialogflow CX: corrispondenza dell'intent e trasferimento da parte di un operatore
Per integrare un agente Business Messages con altre funzionalità di Dialogflow ES oppure Dialogflow CX consulta la documentazione di ciascun prodotto.
Quando un utente invia un messaggio a un agente con un'integrazione Dialogflow,
Business Messages passa il messaggio dell'utente a Dialogflow e invia i messaggi di Dialogflow.
all'agente nella richiesta
dialogflowResponse
. Puoi configurare gli agenti per
invia automaticamente la risposta di Dialogflow all'utente senza che sia necessario alcun intervento da parte tua
. Vedi Risposte automatiche.
per maggiori dettagli.
Integrazione di Dialogflow
Prima di poter sfruttare l'automazione basata su Dialogflow tramite Business Messages, devi abilitare l'integrazione di Dialogflow.
Prerequisiti
Per iniziare, devi
- Business Messages agente
- Un agente Dialogflow nella regione Globale con lingua radice inglese (it)
Se non hai un agente Dialogflow, creane uno.
Dialogflow ES
Prima di poter abilitare un'integrazione Dialogflow ES, devi avere ID progetto dell'agente Dialogflow. Per individuare l'ID progetto,
- Vai alla console di Dialogflow.
- Seleziona l'agente Dialogflow che vuoi collegare a Business Messages. quindi fai clic sull'icona dell'ingranaggio accanto al nome dell'agente.
- In Progetto Google prendi nota del valore ID progetto.
Dialogflow CX
Prima di poter abilitare un'integrazione Dialogflow CX, devi disporre ID progetto e ID agente dell'agente Dialogflow. Per individuare questi ID,
- Accedi alla console Dialogflow CX.
- Seleziona il progetto Dialogflow.
- Nel selettore dell'agente, fai clic sul menu extra accanto all'agente Dialogflow.
- Fai clic su Copia nome. Viene copiato il nome completo dell'agente nel
seguente formato:
projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
. - Prendi nota dei valori dell'ID progetto e dell'ID agente.
Crea l'integrazione
Recupera l'email dell'account di servizio Dialogflow del partner da
dialogflowServiceAccountEmail
. Sostituisci PARTNER_ID con il tuo ID partner.cURL
# This code gets the partner. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/partners/get # Replace the __PARTNER_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X GET \ "https://businesscommunications.googleapis.com/v1/partners/__PARTNER_ID__" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
Node.js
/** * This code snippet gets a partner. * Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/partners/get * * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js * Business Communications client library. */ /** * Edit the values below: */ const PARTNER_ID = 'EDIT_HERE'; const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json'; const businesscommunications = require('businesscommunications'); const {google} = require('googleapis'); // Initialize the Business Communications API const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({}); // Set the scope that we need for the Business Communications API const scopes = [ 'https://www.googleapis.com/auth/businesscommunications', ]; // Set the private key to the service account file const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY); async function main() { const authClient = await initCredentials(); const partnerName = 'partners/' + PARTNER_ID; if (authClient) { // Setup the parameters for the API call const apiParams = { auth: authClient, name: partnerName, }; bcApi.partners.get(apiParams, {}, (err, response) => { if (err !== undefined && err !== null) { console.dir(err); } else { // Agent found console.log(response.data); } }); } else { console.log('Authentication failure.'); } } /** * Initializes the Google credentials for calling the * Business Messages API. */ async function initCredentials() { // Configure a JWT auth client const authClient = new google.auth.JWT( privatekey.client_email, null, privatekey.private_key, scopes, ); return new Promise(function(resolve, reject) { // Authenticate request authClient.authorize(function(err, tokens) { if (err) { reject(false); } else { resolve(authClient); } }); }); } main();
Python
"""This code gets a partner. Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/partners/get This code is based on the https://github.com/google-business-communications/python-businessmessages Python Business Messages client library. """ from oauth2client.service_account import ServiceAccountCredentials from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1 from businesscommunications.businesscommunications_v1_messages import ( Agent, BusinesscommunicationsPartnersGetRequest, ) # Edit the values below: PARTNER_ID = 'EDIT_HERE' SCOPES = ['https://www.googleapis.com/auth/businesscommunications'] SERVICE_ACCOUNT_FILE = './service_account_key.json' credentials = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_FILE, scopes=SCOPES) client = BusinesscommunicationsV1(credentials=credentials) partners_service = BusinesscommunicationsV1.PartnersService(client) partner_name = 'partners/' + PARTNER_ID partner = partners_service.Get(BusinesscommunicationsPartnersGetRequest( name=partner_name )) print(partner)
Copia l'indirizzo email dell'account di servizio. Questo account collega Business Messages e gli agenti Dialogflow.
Nella piattaforma Google Cloud Console, seleziona il progetto Dialogflow.
Vai a IAM. autorizzazioni.
Fai clic su Aggiungi e inserisci l'indirizzo email dell'account di servizio per Nuovi membri.
In Seleziona un ruolo, seleziona Editor agente console Dialogflow.
Fai clic su Aggiungi un altro ruolo e seleziona Client API Dialogflow.
Fai clic su Salva.
Integra il progetto Dialogflow con l'agente Business Messages.
Sostituisci AUTO_RESPONSE_STATUS con ENABLED o DISABLED, a seconda sulla risposta automatica a Business Messages di utenti con risposte Dialogflow.
Dialogflow ES
cURL
# This code creates a Dialogflow ES integration. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_es # Replace the __BRAND_ID__, __AGENT_ID__, __DIALOGFLOW_ES_PROJECT_ID__ and __AUTO_RESPONSE_STATUS__ # Make sure a service account key file exists at ./service_account_key.json curl -X POST \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -d '{ "dialogflowEsIntegration": { "dialogflowProjectId": "__DIALOGFLOW_ES_PROJECT_ID__", "autoResponseStatus": "__AUTO_RESPONSE_STATUS__" } }'
Node.js
/** * This code snippet creates a Dialogflow ES integration. * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_es * * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js * Business Communications client library. */ /** * Edit the values below: */ const BRAND_ID = 'EDIT_HERE'; const AGENT_ID = 'EDIT_HERE'; const DIALOGFLOW_ES_PROJECT_ID = 'EDIT_HERE' const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json'; const businesscommunications = require('businesscommunications'); const {google} = require('googleapis'); const uuidv4 = require('uuid').v4; // Initialize the Business Communications API const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({}); // Set the scope that we need for the Business Communications API const scopes = [ 'https://www.googleapis.com/auth/businesscommunications', ]; // Set the private key to the service account file const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY); async function main() { const authClient = await initCredentials(); const agentName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID; if (authClient) { const integrationObject = { dialogflowEsIntegration: { dialogflowProjectId: DIALOGFLOW_ES_PROJECT_ID, autoResponseStatus: 'ENABLED' } }; // Setup the parameters for the API call const apiParams = { auth: authClient, parent: agentName, resource: integrationObject }; bcApi.brands.agents.integrations.create(apiParams, {}, (err, response) => { if (err !== undefined && err !== null) { console.dir(err); } else { // Agent created console.log(response.data); } }); } else { console.log('Authentication failure.'); } } /** * Initializes the Google credentials for calling the * Business Messages API. */ async function initCredentials() { // Configure a JWT auth client const authClient = new google.auth.JWT( privatekey.client_email, null, privatekey.private_key, scopes, ); return new Promise(function(resolve, reject) { // Authenticate request authClient.authorize(function(err, tokens) { if (err) { reject(false); } else { resolve(authClient); } }); }); } main();
Python
"""This code snippet creates a Dialogflow ES integration. Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_es This code is based on the https://github.com/google-business-communications/python-businessmessages Python Business Messages client library. """ from oauth2client.service_account import ServiceAccountCredentials from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1 from businesscommunications.businesscommunications_v1_messages import ( BusinesscommunicationsBrandsAgentsIntegrationsCreateRequest, DialogflowEsIntegration ) # Edit the values below: BRAND_ID = 'EDIT_HERE' AGENT_ID = 'EDIT_HERE' DIALOGFLOW_ES_PROJECT_ID = 'EDIT_HERE' SCOPES = ['https://www.googleapis.com/auth/businesscommunications'] SERVICE_ACCOUNT_FILE = './service_account_key.json' credentials = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_FILE, scopes=SCOPES) client = BusinesscommunicationsV1(credentials=credentials) integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client) agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID integration = integrations_service.Create(BusinesscommunicationsBrandsAgentsIntegrationsCreateRequest( integration=DialogflowEsIntegration( autoResponseStatus=DialogflowEsIntegration.AutoResponseStatusValueValuesEnum.ENABLED, dialogflowProjectId=DIALOGFLOW_ES_PROJECT_ID ), parent=agent_name )) print(integration)
Dialogflow CX
cURL
# This code creates a Dialogflow CX integration. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_cx # Replace the __BRAND_ID__, __AGENT_ID__, __DIALOGFLOW_CX_PROJECT_ID__, __DIALOGFLOW_CX_AGENT_ID__ and __AUTO_RESPONSE_STATUS__ # Make sure a service account key file exists at ./service_account_key.json curl -X POST \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -d '{ "dialogflowCxIntegration": { "dialogflowProjectId": "__DIALOGFLOW_CX_PROJECT_ID__", "dialogflowAgentId": "__DIALOGFLOW_CX_AGENT_ID__", "autoResponseStatus": "__AUTO_RESPONSE_STATUS__" } }'
Node.js
/** * This code snippet creates a Dialogflow CX integration. * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_cx * * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js * Business Communications client library. */ /** * Edit the values below: */ const BRAND_ID = 'EDIT_HERE'; const AGENT_ID = 'EDIT_HERE'; const DIALOGFLOW_CX_AGENT_ID = 'EDIT_HERE' const DIALOGFLOW_CX_PROJECT_ID = 'EDIT_HERE' const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json'; const businesscommunications = require('businesscommunications'); const {google} = require('googleapis'); const uuidv4 = require('uuid').v4; // Initialize the Business Communications API const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({}); // Set the scope that we need for the Business Communications API const scopes = [ 'https://www.googleapis.com/auth/businesscommunications', ]; // Set the private key to the service account file const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY); async function main() { const authClient = await initCredentials(); const agentName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID; if (authClient) { const integrationObject = { dialogflowCxIntegration: { dialogflowProjectId: DIALOGFLOW_CX_PROJECT_ID, dialogflowAgentId: DIALOGFLOW_CX_AGENT_ID, autoResponseStatus: 'ENABLED' } }; // Setup the parameters for the API call const apiParams = { auth: authClient, parent: agentName, resource: integrationObject }; bcApi.brands.agents.integrations.create(apiParams, {}, (err, response) => { if (err !== undefined && err !== null) { console.dir(err); } else { // Agent created console.log(response.data); } }); } else { console.log('Authentication failure.'); } } /** * Initializes the Google credentials for calling the * Business Messages API. */ async function initCredentials() { // Configure a JWT auth client const authClient = new google.auth.JWT( privatekey.client_email, null, privatekey.private_key, scopes, ); return new Promise(function(resolve, reject) { // Authenticate request authClient.authorize(function(err, tokens) { if (err) { reject(false); } else { resolve(authClient); } }); }); } main();
Python
"""This code snippet creates a Dialogflow CX integration. Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_cx This code is based on the https://github.com/google-business-communications/python-businessmessages Python Business Messages client library. """ from oauth2client.service_account import ServiceAccountCredentials from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1 from businesscommunications.businesscommunications_v1_messages import ( BusinesscommunicationsBrandsAgentsIntegrationsCreateRequest, DialogflowCxIntegration ) # Edit the values below: BRAND_ID = 'EDIT_HERE' AGENT_ID = 'EDIT_HERE' DIALOGFLOW_CX_AGENT_ID = 'EDIT_HERE' DIALOGFLOW_CX_PROJECT_ID = 'EDIT_HERE' SCOPES = ['https://www.googleapis.com/auth/businesscommunications'] SERVICE_ACCOUNT_FILE = './service_account_key.json' credentials = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_FILE, scopes=SCOPES) client = BusinesscommunicationsV1(credentials=credentials) integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client) agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID integration = integrations_service.Create(BusinesscommunicationsBrandsAgentsIntegrationsCreateRequest( integration=DialogflowCxIntegration( autoResponseStatus=DialogflowCxIntegration.AutoResponseStatusValueValuesEnum.ENABLED, dialogflowAgentId=DIALOGFLOW_CX_AGENT_ID, dialogflowProjectId=DIALOGFLOW_CX_PROJECT_ID ), parent=agent_name )) print(integration)
Per le opzioni di formattazione e valore, consulta
Integration
La connessione di Business Messages e Dialogflow richiede circa due minuti. A
controllare lo stato dell'integrazione, recuperare l'integrazione
OperationInfo
Aggiorna l'integrazione
Per aggiornare l'impostazione di risposta automatica dell'agente, esegui questo comando. Sostituisci AUTO_RESPONSE_STATUS con ENABLED o DISATTIVATO a seconda che tu voglia o meno l'attivazione automatica di Business Messages Rispondere agli utenti con le risposte di Dialogflow.
Dialogflow ES
cURL
# This code updates the Dialogflow association. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/updateDialogflowAssociation # Replace the __BRAND_ID__ and __AGENT_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/dialogflowAssociation?updateMask=enableAutoResponse" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "enableAutoResponse": true }'
Dialogflow CX
cURL
# This code updates the Dialogflow association. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/updateDialogflowAssociation # Replace the __BRAND_ID__ and __AGENT_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/dialogflowAssociation?updateMask=enableAutoResponse" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "enableAutoResponse": true }'
Per le opzioni di formattazione e valore, consulta
Integration
Passare da una versione di Dialogflow a un'altra
Un agente Business Messages può supportare solo un'integrazione Dialogflow alla volta. Per passare da una versione di Dialogflow a un'altra, devi rimuovere l'integrazione attuale prima di crearne una nuova.
Elimina l'integrazione
Se devi rimuovere Dialogflow dall'agente Business Messages, elimina il l'integrazione con il comando seguente.
cURL
# This code deletes an integration. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#delete_the_integration # Replace the __BRAND_ID__, __AGENT_ID__ and __INTEGRATION_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X DELETE \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
Node.js
/** * This code snippet deletes an integration. * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#delete_the_integration * * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js * Business Communications client library. */ /** * Edit the values below: */ const BRAND_ID = 'EDIT_HERE'; const AGENT_ID = 'EDIT_HERE'; const INTEGRATION_ID = 'EDIT_HERE'; const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json'; const businesscommunications = require('businesscommunications'); const {google} = require('googleapis'); const uuidv4 = require('uuid').v4; // Initialize the Business Communications API const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({}); // Set the scope that we need for the Business Communications API const scopes = [ 'https://www.googleapis.com/auth/businesscommunications', ]; // Set the private key to the service account file const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY); async function main() { const authClient = await initCredentials(); const integrationName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/integrations/' + INTEGRATION_ID; if (authClient) { // Setup the parameters for the API call const apiParams = { auth: authClient, name: integrationName, }; bcApi.brands.agents.integrations.delete(apiParams, {}, (err, response) => { if (err !== undefined && err !== null) { console.dir(err); } else { // Agent created console.log(response.data); } }); } else { console.log('Authentication failure.'); } } /** * Initializes the Google credentials for calling the * Business Messages API. */ async function initCredentials() { // Configure a JWT auth client const authClient = new google.auth.JWT( privatekey.client_email, null, privatekey.private_key, scopes, ); return new Promise(function(resolve, reject) { // Authenticate request authClient.authorize(function(err, tokens) { if (err) { reject(false); } else { resolve(authClient); } }); }); } main();
Python
"""This code snippet deletes an integration. Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#delete_the_integration This code is based on the https://github.com/google-business-communications/python-businessmessages Python Business Messages client library. """ from oauth2client.service_account import ServiceAccountCredentials from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1 from businesscommunications.businesscommunications_v1_messages import ( BusinesscommunicationsBrandsAgentsIntegrationsDeleteRequest ) # Edit the values below: BRAND_ID = 'EDIT_HERE' AGENT_ID = 'EDIT_HERE' INTEGRATION_ID = 'EDIT_HERE' SCOPES = ['https://www.googleapis.com/auth/businesscommunications'] SERVICE_ACCOUNT_FILE = './service_account_key.json' credentials = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_FILE, scopes=SCOPES) client = BusinesscommunicationsV1(credentials=credentials) integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client) integration_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/integrations/' + INTEGRATION_ID integration = integrations_service.Delete(BusinesscommunicationsBrandsAgentsIntegrationsDeleteRequest( name=integration_name )) print(integration)
Per le opzioni di formattazione e valore, consulta
Integration
Recuperare informazioni sull'integrazione
Per ottenere informazioni su un'integrazione, puoi utilizzare Business Communications
API, purché tu abbia il valore name
dell'integrazione.
Ricevere informazioni per una singola integrazione
Per ottenere informazioni sull'integrazione, esegui questo comando.
cURL
# This code gets information about an integration. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#get_info_for_a_single_integration # Replace the __BRAND_ID__, __AGENT_ID__ and __INTEGRATION_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X GET \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
Node.js
/** * This code snippet gets information about an integration. * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#get_info_for_a_single_integration * * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js * Business Communications client library. */ /** * Edit the values below: */ const BRAND_ID = 'EDIT_HERE'; const AGENT_ID = 'EDIT_HERE'; const INTEGRATION_ID = 'EDIT_HERE'; const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json'; const businesscommunications = require('businesscommunications'); const {google} = require('googleapis'); const uuidv4 = require('uuid').v4; // Initialize the Business Communications API const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({}); // Set the scope that we need for the Business Communications API const scopes = [ 'https://www.googleapis.com/auth/businesscommunications', ]; // Set the private key to the service account file const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY); async function main() { const authClient = await initCredentials(); const integrationName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/integrations/' + INTEGRATION_ID; if (authClient) { // Setup the parameters for the API call const apiParams = { auth: authClient, name: integrationName, }; bcApi.brands.agents.integrations.get(apiParams, {}, (err, response) => { if (err !== undefined && err !== null) { console.dir(err); } else { // Agent created console.log(response.data); } }); } else { console.log('Authentication failure.'); } } /** * Initializes the Google credentials for calling the * Business Messages API. */ async function initCredentials() { // Configure a JWT auth client const authClient = new google.auth.JWT( privatekey.client_email, null, privatekey.private_key, scopes, ); return new Promise(function(resolve, reject) { // Authenticate request authClient.authorize(function(err, tokens) { if (err) { reject(false); } else { resolve(authClient); } }); }); } main();
Python
"""This code snippet gets information about an integration. Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#get_info_for_a_single_integration This code is based on the https://github.com/google-business-communications/python-businessmessages Python Business Messages client library. """ from oauth2client.service_account import ServiceAccountCredentials from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1 from businesscommunications.businesscommunications_v1_messages import ( BusinesscommunicationsBrandsAgentsIntegrationsDeleteRequest ) # Edit the values below: BRAND_ID = 'EDIT_HERE' AGENT_ID = 'EDIT_HERE' INTEGRATION_ID = 'EDIT_HERE' SCOPES = ['https://www.googleapis.com/auth/businesscommunications'] SERVICE_ACCOUNT_FILE = './service_account_key.json' credentials = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_FILE, scopes=SCOPES) client = BusinesscommunicationsV1(credentials=credentials) integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client) integration_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/integrations/' + INTEGRATION_ID integration = integrations_service.Get(BusinesscommunicationsBrandsAgentsIntegrationsDeleteRequest( name=integration_name )) print(integration)
Per le opzioni di formattazione e valore, consulta
Integration
Elenco di tutte le integrazioni per un agente
Se non conosci il nome dell'integrazione, puoi ottenere informazioni per tutti integrazioni associate a un agente omettendo INTEGRATION_ID da un URL di richiesta GET.
cURL
# This code lists all integrations for an agent. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#list_all_integrations_for_an_agent # Replace the __BRAND_ID__ and __AGENT_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X GET \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
Node.js
/** * This code snippet lists all integrations for an agent. * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#list_all_integrations_for_an_agent * * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js * Business Communications client library. */ /** * Edit the values below: */ const BRAND_ID = 'EDIT_HERE'; const AGENT_ID = 'EDIT_HERE'; const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json'; const businesscommunications = require('businesscommunications'); const {google} = require('googleapis'); const uuidv4 = require('uuid').v4; // Initialize the Business Communications API const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({}); // Set the scope that we need for the Business Communications API const scopes = [ 'https://www.googleapis.com/auth/businesscommunications', ]; // Set the private key to the service account file const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY); async function main() { const authClient = await initCredentials(); if (authClient) { // Setup the parameters for the API call const apiParams = { auth: authClient, parent: 'brands/' + BRAND_ID + '/agents/' + AGENT_ID, }; bcApi.brands.agents.integrations.list(apiParams, {}, (err, response) => { if (err !== undefined && err !== null) { console.dir(err); } else { // Agent created console.log(response.data); } }); } else { console.log('Authentication failure.'); } } /** * Initializes the Google credentials for calling the * Business Messages API. */ async function initCredentials() { // Configure a JWT auth client const authClient = new google.auth.JWT( privatekey.client_email, null, privatekey.private_key, scopes, ); return new Promise(function(resolve, reject) { // Authenticate request authClient.authorize(function(err, tokens) { if (err) { reject(false); } else { resolve(authClient); } }); }); } main();
Python
"""This code snippet lists all integrations for an agent. Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#list_all_integrations_for_an_agent This code is based on the https://github.com/google-business-communications/python-businessmessages Python Business Messages client library. """ from oauth2client.service_account import ServiceAccountCredentials from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1 from businesscommunications.businesscommunications_v1_messages import ( BusinesscommunicationsBrandsAgentsIntegrationsListRequest ) # Edit the values below: BRAND_ID = 'EDIT_HERE' AGENT_ID = 'EDIT_HERE' SCOPES = ['https://www.googleapis.com/auth/businesscommunications'] SERVICE_ACCOUNT_FILE = './service_account_key.json' credentials = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_FILE, scopes=SCOPES) client = BusinesscommunicationsV1(credentials=credentials) integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client) agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID integration = integrations_service.List( BusinesscommunicationsBrandsAgentsIntegrationsListRequest(parent=agent_name) ) print(integration)
Per le opzioni di formattazione e valore, consulta
Integration
Corrispondenza di intent
Dopo aver abilitato l'integrazione di Dialogflow per un agente Business Messages, può utilizzare gli intent configurati del progetto Dialogflow per comprendere e rispondere alle domande degli utenti senza che tu debba scrivere codice. Per scoprire di più su per intent, consulta la documentazione di Dialogflow ES e Dialogflow CX.
Configura gli intent Dialogflow per ogni opzione di conversazione che intendi utilizzare e assistenza tramite l'automazione. Gli agenti Business Messages si affidano a Dialogflow per: a capire i messaggi degli utenti.
Quando chiami le API Dialogflow, Business Messages passa il
payload dei messaggi utente
agli intent e al webhook di fulfillment. Quando viene trovata una corrispondenza con un messaggio per l'utente
con un intent, puoi accedere a questo payload nel formato Struct
nel
campo business_messages_payload
all'interno di QueryParameters
.
Il payload contiene tutti i campi del messaggio utente, ad eccezione di DialogflowResponse
.
Per Dialogflow CX, Business Messages passa anche un parametro di sessione denominato channel
con valore google_business_messages
per i tuoi intent e puoi farvi riferimento nel tuo agente con il seguente formato: $session.params.channel
.
Questo parametro può essere utilizzato per aggiungere condizionali ai completamenti Dialogflow per supportare più canali nello stesso agente Dialogflow.
Per ulteriori informazioni sui parametri di query, consulta i riferimenti Dialogflow ES e Dialogflow CX.
Prerequisiti
Quando crei modelli NLU in Dialogflow, puoi configurare diversi tipi di risposta per un intent. Business Messages supporta la risposta predefinita, che possono includere:
- Testo
- Payload personalizzato
- Passaggio ad un operatore (solo Dialogflow CX)
Un payload personalizzato deve corrispondere a una risposta di messaggio JSON Business Messages valida . Quando configuri risposte di payload personalizzate per un intent, Business Messages ignora i seguenti campi:
name
messageId
representative
Vedi le risposte di esempio che seguono.
Testo con suggerimenti
{
"text": "Hello World!",
"fallback": "Hello World!\n\nReply with \"Hello\" or \"Hi!\"",
"suggestions": [
{
"reply": {
"text": "Hello",
"postbackData": "hello-formal"
}
},
{
"reply": {
"text": "Hi!",
"postbackData": "hello-informal"
}
}
]
}
Scheda interattiva
{
"fallback": "Hello, world!\nSent with Business Messages\n\nReply with \"Suggestion #1\" or \"Suggestion #2\"",
"richCard": {
"standaloneCard": {
"cardContent": {
"title": "Hello, world!",
"description": "Sent with Business Messages.",
"media": {
"height": "TALL",
"contentInfo":{
"altText": "Google logo",
"fileUrl": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
"forceRefresh": "false"
}
},
"suggestions": [
{
"reply": {
"text": "Suggestion #1",
"postbackData": "suggestion_1"
}
},
{
"reply": {
"text": "Suggestion #2",
"postbackData": "suggestion_2"
}
}
]
}
}
}
}
Carosello di schede informative
{
"fallback": "Card #1\nThe description for card #1\n\nCard #2\nThe description for card #2\n\nReply with \"Card #1\" or \"Card #2\"",
"richCard": {
"carouselCard": {
"cardWidth": "MEDIUM",
"cardContents": [
{
"title": "Card #1",
"description": "The description for card #1",
"suggestions": [
{
"reply": {
"text": "Card #1",
"postbackData": "card_1"
}
}
],
"media": {
"height": "MEDIUM",
"contentInfo": {
"fileUrl": "https://my.files/cute-dog.jpg",
"forceRefresh": false
}
}
},
{
"title": "Card #2",
"description": "The description for card #2",
"suggestions": [
{
"reply": {
"text": "Card #2",
"postbackData": "card_2"
}
}
],
"media": {
"height": "MEDIUM",
"contentInfo": {
"fileUrl": "https://my.files/elephant.jpg",
"forceRefresh": false
}
}
}
]
}
}
}
Trasferimento operatore
{
"metadata": {}
}
Bot di domande frequenti
Dopo aver abilitato un'integrazione Dialogflow ES per un agente Business Messages, puoi creare un bot per le domande frequenti. Quando fornisci domande e risposte come un documento informativo supportato, Business Messages e Dialogflow creano l'infrastruttura necessaria per comprendere e rispondere alle domande degli utenti senza devi scrivere del codice.
Per vedere un bot per le domande frequenti in azione, chatta con le Domande frequenti su Business Messages Bot.
Prerequisiti
Prima di creare un bot per le domande frequenti, è necessario che le domande e le risposte siano disponibili un documento informativo (massimo 50 MB): un file HTML disponibile pubblicamente o un file CSV.
In genere, i documenti informativi
- Può includere un Markdown limitato nelle risposte, come specificato in Richiamo testo.
- Avere una dimensione massima di 50 MB.
- Non deve superare 2000 coppie di domanda/risposta.
- Non supportare domande duplicate con risposte diverse.
Per i file HTML,
- I file di URL pubblici devono essere stati sottoposti a scansione dall'indicizzatore della Ricerca Google. in modo che esistano nell'indice di ricerca. Puoi verificarlo con il Search Console. Tieni presente che l'indicizzatore non mantiene aggiornati i tuoi contenuti. Devi indicare esplicitamente aggiornare il documento quando cambiano i contenuti di origine.
- Dialogflow rimuove i tag HTML dai contenuti durante la creazione delle risposte. Poiché per cui è consigliabile evitare i tag HTML e, se possibile, utilizzare testo normale.
- I file con una singola coppia di domanda/risposta non sono supportati.
Per i file CSV,
- I file devono contenere domande nella prima colonna e risposte nella seconda. senza intestazione.
- I file devono utilizzare le virgole come delimitatori.
Crea un bot per domande frequenti
Per creare un bot per le domande frequenti, devi prima creare una knowledge base in cui archiviare tutti i del bot, quindi aggiungi uno o più documenti con coppie di domanda/risposta al tuo knowledge base.
Creazione di una knowledge base
Per creare una knowledge base, esegui questo comando. Sostituisci
BRAND_ID, AGENT_ID e INTEGRATION_ID
con i valori univoci dalla classe name
del documento. Sostituisci
KNOWLEDGE_BASE_DISPLAY_NAME con una stringa identificativa del tuo
scelta.
Dopo aver creato una knowledge base, puoi creare i documenti al suo interno.
cURL
# This code creates a knowledge base. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#create-knowledge-base # Replace the __BRAND_ID__, __AGENT_ID__, __INTEGRATION_ID__ and __KNOWLEDGE_BASE_DISPLAY_NAME__ # Make sure a service account key file exists at ./service_account_key.json curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__?updateMask=dialogflowEsIntegration.dialogflowKnowledgeBases" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "dialogflowEsIntegration": { "dialogflowKnowledgeBases": [ { "displayName": "__KNOWLEDGE_BASE_DISPLAY_NAME__" } ] } }'
Per le opzioni di formattazione e valore, consulta
DialogflowKnowledgebase
Crea un documento informativo
Per creare un documento informativo, esegui questo comando.
Aggiungi il documento all'elenco dei documenti esistenti o crea un nuovo elenco se non ne esiste uno
esiste già. Un elenco dei documenti esistenti deve includere l'elemento name
del documento
nella richiesta.
File HTML pubblico
Sostituisci le seguenti variabili:
- BRAND_ID, AGENT_ID e INTEGRATION_ID
con i valori univoci dalla classe
name
dell'integrazione - KNOWLEDGE_BASE_DISPLAY_NAME e DOCUMENT_DISPLAY_NAME con identificare le stringhe di tua scelta
PUBLIC_URL con le conoscenze necessarie URL pubblico del documento
cURL
# This code creates a knowledge base document from an HTML document and adds it to the knowledge base. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#create-document # Replace the __BRAND_ID__, __AGENT_ID__, __INTEGRATION_ID__, __KNOWLEDGE_BASE_DISPLAY_NAME__, __DOCUMENT_DISPLAY_NAME__ and __PUBLIC_URL__ # Make sure a service account key file exists at ./service_account_key.json curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__?updateMask=dialogflowEsIntegration.dialogflowKnowledgeBases" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "dialogflowEsIntegration": { "dialogflowKnowledgeBases": [ { "displayName": "__KNOWLEDGE_BASE_DISPLAY_NAME__", "documents": [ { "displayName": "__DOCUMENT_DISPLAY_NAME__", "faqUrl": "__PUBLIC_URL__" } ] } ] } }'
File CSV locale
Sostituisci le seguenti variabili:
- BRAND_ID, AGENT_ID e INTEGRATION_ID
con i valori univoci dalla classe
name
dell'integrazione - KNOWLEDGE_BASE_DISPLAY_NAME e DOCUMENT_DISPLAY_NAME con identificare le stringhe di tua scelta
CSV_RAW_BYTES con il file CSV come stringa con codifica base64
cURL
# This code creates a knowledge base document from a CSV document and adds it to the knowledge base. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#create-document # Replace the __BRAND_ID__, __AGENT_ID__, __INTEGRATION_ID__, __KNOWLEDGE_BASE_DISPLAY_NAME__, __DOCUMENT_DISPLAY_NAME__ and __CSV_RAW_BYTES__ # Make sure a service account key file exists at ./service_account_key.json curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__?updateMask=dialogflowEsIntegration.dialogflowKnowledgeBases" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "dialogflowEsIntegration": { "dialogflowKnowledgeBases": [ { "displayName": "__KNOWLEDGE_BASE_DISPLAY_NAME__", "documents": [ { "displayName": "__DOCUMENT_DISPLAY_NAME__", "rawContent": "__CSV_RAW_BYTES__" } ] } ] } }'
Per le opzioni di formattazione e valore, consulta
DialogflowKnowledgebase
Per aggiungere un documento a una knowledge base sono necessari circa due minuti. Per controllare
lo stato del documento, ottenere lo stato
OperationInfo
Eliminare un documento informativo
Se devi rimuovere le coppie di domanda/risposta dall'agente Business Messages, ed eliminare il documento informativo che le contiene con il seguente comando.
Esegui questo comando per eliminare un singolo documento esistente. Sostituisci
BRAND_ID, AGENT_ID e INTEGRATION_ID
con i valori univoci dalla classe name
del documento. Sostituisci
KNOWLEDGE_BASE_DISPLAY_NAME con la stringa appropriata.
cURL
# This code deletes a knowledge base document. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#delete_a_knowledge_document # Replace the __BRAND_ID__, __AGENT_ID__, __INTEGRATION_ID__ and __KNOWLEDGE_BASE_DISPLAY_NAME__ # To delete all knowledge bases, set dialogflowKnowledgeBases to an empty list. Otherwise, the list should contain all existing knowledgebases except the one you would like to remove. # Make sure a service account key file exists at ./service_account_key.json curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__?updateMask=dialogflowEsIntegration.dialogflowKnowledgeBases" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "dialogflowEsIntegration": { "dialogflowKnowledgeBases": [ { "displayName": "__KNOWLEDGE_BASE_DISPLAY_NAME__" } ] } }'
Per le opzioni di formattazione e valore, consulta
DialogflowKnowledgebase
Risposte automatiche
Se abiliti la risposta automatica durante l'integrazione di Dialogflow, le Messaggi risponde automaticamente all'utente tramite Dialogflow. La tua attività L'agente di Messaggi risponde con la corrispondenza con il livello di confidenza più alto. Con un Integrazione di Dialogflow ES, in caso di corrispondenze con una risposta delle domande frequenti e una personalizzato per intenzione, Business Messages risponde con la corrispondenza con il tasso un livello di confidenza elevato.
Business Messages contrassegna tutti i messaggi a risposta automatica come provenienti da BOT
rappresentanti di Google Cloud. Se il tuo agente supporta gli operatori live,
Business Messages sospende le risposte automatiche dopo il giorno REPRESENTATIVE_JOINED
eventi
e riprende le risposte automatiche dopo REPRESENTATIVE_LEFT
eventi. Vedi Handoff
dal bot all'agente.
Rispondi automaticamente con una risposta alle domande frequenti
Con un'integrazione Dialogflow ES, se una risposta alle domande frequenti ha la massima affidabilità Business Messages mappa la risposta a un SMS. Se esiste un una risposta correlata ma diversa disponibile, il messaggio mostra risposta" suggerimento. In caso contrario, il messaggio include una domanda e un suggerimento risposte per chiedere se il messaggio ha soddisfatto la richiesta dell'utente.
Rispondere automaticamente con una risposta di intent
Le risposte per intent possono includere una o più delle seguenti risposte.
- Dialogflow ES: Testo, Payload personalizzato
- Dialogflow CX: Testo, Payload personalizzato, Trasferimento ad un operatore
Se una risposta di intent ha la corrispondenza con il livello di confidenza più elevato, quanto segue .
- Se la risposta ha almeno un valore di testo, Business Messages mappa questo a un messaggio di testo.
- Se la risposta include almeno un payload personalizzato con un indirizzo Struttura dell'oggetto JSON di Messaggi, Business Messages crea un messaggio utilizzando fornito dall'oggetto JSON.
- Se per la risposta è presente almeno una risposta di trasferimento da parte di un operatore, consulta Rispondi automaticamente con una richiesta di operatore.
Poiché Dialogflow può includere più risposte all'interno di una corrispondenza di intent, Business Messages invia ogni messaggio di testo, payload personalizzato o trasferimento da parte di un operatore come messaggio separato. Se un intent include più messaggi ma alcune non sono nel formato corretto, Business Messages invia solo messaggi i messaggi come risposte automatiche.
Rispondi automaticamente con una richiesta di operatore
Dialogflow CX supporta il passaggio ad agenti live la risposta corretta. Segnala che la conversazione deve essere trasferita a una persona e ti permette di trasferire metadati personalizzati per il trasferimento . Se una risposta di intent ha la più alta corrispondenza di livello di confidenza include il trasferimento di un operatore, Business Messages invia un evento richiesto da un operatore al webhook. Per gestire questo evento, vedi Passaggio da bot ad operatore.
Rispondi automaticamente con un messaggio di riserva
Se Dialogflow non trova una corrispondenza con un livello di confidenza elevato, Business Messages invia una risposta di riserva. I fallback vengono gestiti in modo diverso in Dialogflow ES e Dialogflow CX.
Dialogflow ES
Nel caso dei bot relativi alle domande frequenti, se non esiste una risposta corrispondente a una delle domande frequenti, Business Messages invia un messaggio di riserva che non ha trovato una risposta.
Per gli intent configurati, se non esiste una corrispondenza con una risposta di intent, Messaggi invia una risposta di intent di riserva. Puoi utilizzare il testo di fallback fornito da Dialogflow o configurare il metodo di riserva con testo aggiuntivo e payload personalizzati.
Ecco un esempio di risposta di un intent di riserva che il tuo webhook può ricevere:
{
"intentResponses": [
{
"intentName": "projects/df-integration/agent/intents/12345",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "1.0",
"fulfillmentMessages": [
{
"text": "One more time?"
}
]
}
]
}
Dialogflow precompila intent_name
e intent_display_name
.
Dialogflow CX
Dialogflow CX gestisce le risposte degli intent di fallback come eventi integrati. Se non esiste una corrispondenza con una risposta di intent, Business Messages invia un messaggio di fallback dell'evento predefinito senza corrispondenza in Dialogflow. Puoi usa il testo di fallback fornito da Dialogflow o configura il fallback con testo aggiuntivo, payload personalizzati e opzioni di trasferimento di operatori.
Ecco un esempio di risposta di un intent di riserva che il webhook può ricevere:
{
"intentResponses": [
{
"intentName": "sys.no-match-default",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "0.3",
"fulfillmentMessages": [
{
"text": "I missed that, say that again?"
}
]
}
]
}
Business Messages esegue l'hardcoded di intent_name
e intent_display_name
.
Campi specifici di Dialogflow
Dopo aver abilitato l'integrazione di Dialogflow, l'utente invia un messaggio all'agente.
riceve
includi il
dialogflowResponse
:
. Il webhook riceve payload per tutti i messaggi degli utenti, indipendentemente
se Business Messages ha risposto automaticamente o meno al messaggio sul tuo
per conto tuo. Per verificare la presenza di una risposta automatica, controlla il valore del parametro
autoResponded
e deciderai se devi rispondere all'utente.
Dialogflow ES
... "dialogflowResponse": { "queryText": "TEXT", "intentResponse": { "intentName": "INTENT_ID", "intentDisplayName": "INTENT_NAME", "intentDetectionConfidence": "CONFIDENCE_NUMERIC", "fulfillmentMessages": [{ "text": "FULFILLMENT_TEXT", "jsonPayload": "JSON", "error": "ERROR_STATUS", }], "faqResponse": { "userQuestion": "USER_QUESTION", "answers": [{ "faqQuestion": "FAQ_QUESTION", "faqAnswer": "FAQ_ANSWER", "matchConfidenceLevel": "CONFIDENCE_LEVEL", "matchConfidence": "CONFIDENCE_NUMERIC", }], }, "autoResponded": "BOOLEAN", "autoRespondedMessages": [{ "message": "MESSAGE_JSON", "responseSource": "SOURCE", }], }, ...
Campo | Descrizione |
---|---|
queryText
|
Il testo della query conversazionale originale. Se l'ortografia automatica
la correzione è abilitata per il modello Dialogflow, queryText
contiene l'input utente corretto. |
intentName |
L'identificatore univoco dell'intent abbinato. |
intentDisplayName |
Il nome dell'intent corrispondente. |
intentDetectionConfidence
|
La valutazione di confidenza numerica nella corrispondenza
tra queryText e intentName . |
text |
Una risposta testuale. |
jsonPayload
|
Una risposta payload personalizzata.
Questa stringa corrisponde alla stringa
Payload definito in Dialogflow.
Se il payload non ha un JSON Business Messages valido
dell'oggetto, error descrive il problema. |
error |
Descrizione di un errore con un messaggio di completamento di intent. |
userQuestion |
La domanda posta dall'utente, analizzata da Dialogflow. |
faqQuestion |
Una domanda di Dialogflow corrispondente alla domanda dell'utente. |
faqAnswer |
Una risposta di Dialogflow corrispondente alla domanda dell'utente. |
matchConfidenceLevel
|
Il livello di affidabilità nella corrispondenza
userQuestion e faqQuestion . |
matchConfidence
|
La valutazione di confidenza numerica nella corrispondenza tra
userQuestion e faqQuestion . |
autoResponded
|
Se Business Messages ha risposto automaticamente o meno l'utente con una risposta da Dialogflow. |
message |
Il payload della risposta automatica. |
responseSource
|
L'origine della risposta automatica. Consulta
ResponseSource |
Dialogflow CX
... "dialogflowResponse": { "queryText": "TEXT", "intentResponse": { "intentName": "INTENT_ID", "intentDisplayName": "INTENT_NAME", "intentDetectionConfidence": "CONFIDENCE_NUMERIC", "fulfillmentMessages": [{ "text": "FULFILLMENT_TEXT", "jsonPayload": "JSON", "error": "ERROR_STATUS", "liveAgentHandoff": { "metadata": {} } }], "autoResponded": "BOOLEAN", "autoRespondedMessages": [{ "message": "MESSAGE_JSON", "responseSource": "SOURCE", }], }, ...
Campo | Descrizione |
---|---|
queryText
|
Il testo della query conversazionale originale. Se l'ortografia automatica
la correzione è abilitata per il modello Dialogflow, queryText
contiene l'input utente corretto. |
intentName |
L'identificatore univoco dell'intent abbinato. |
intentDisplayName |
Il nome dell'intent corrispondente. |
intentDetectionConfidence
|
La valutazione di confidenza numerica nella corrispondenza
tra queryText e intentName . |
text |
Una risposta testuale. |
jsonPayload
|
Una risposta payload personalizzata.
Questa stringa corrisponde alla stringa
Payload definito in Dialogflow.
Se il payload non ha un JSON Business Messages valido
dell'oggetto, error descrive il problema. |
error |
Descrizione di un errore con un messaggio di completamento di intent. |
liveAgentHandoff |
Metadati personalizzati per la procedura di trasferimento di un operatore. |
autoResponded
|
Se Business Messages ha risposto automaticamente o meno l'utente con una risposta da Dialogflow. |
message |
Il payload della risposta automatica. |
responseSource
|
L'origine della risposta automatica. Consulta
ResponseSource |