Os agentes do Business Messages oferecem suporte a integrações diretas com
- Dialogflow ES: correspondência de intent e bots de perguntas frequentes
- Dialogflow CX: correspondência de intent e transferência de agente em tempo real
Integrar um agente do Business Messages a outros recursos do Dialogflow Espanha ou Dialogflow CX, consulte a documentação de cada produto.
Quando um usuário envia uma mensagem para um agente que tem integração com o Dialogflow,
O Business Messages transmite a mensagem do usuário para o Dialogflow e envia a
resposta ao agente no e-mail
Objeto dialogflowResponse
. É possível configurar agentes para
enviar automaticamente a resposta do Dialogflow para o usuário sem que seja preciso fazer nada
parte. Consulte Respostas automáticas.
para mais detalhes.
Integração com o Dialogflow
Antes de usar a automação baseada no Dialogflow usando o recurso Business Messages, você precisa ativar a integração com o Dialogflow.
Pré-requisitos
Para começar, você precisa
- a Business Messages agente
- Um agente do Dialogflow na região Global com idioma base em inglês (pt-BR)
Se você não tiver um agente Dialogflow, crie um.
Dialogflow ES
Antes de ativar a integração do Dialogflow ES, você precisa do ID do projeto do agente do Dialogflow. Para localizar o ID do projeto,
- Navegue até o Console do Dialogflow.
- Selecione o agente do Dialogflow que você quer conectar ao Business Messages. e clique no ícone de engrenagem ao lado do nome do agente.
- Em Projeto do Google, anote o valor do ID do projeto.
Dialogflow CX
Antes de ativar a integração do Dialogflow CX, você precisa do ID do projeto e ID do agente do Dialogflow. Para localizar esses IDs,
- Navegue até o Console do Dialogflow CX.
- Selecione seu projeto do Dialogflow.
- No seletor de agente, clique no menu flutuante. ao lado do agente do Dialogflow.
- Clique em Copiar nome. O nome completo do agente na
formato:
projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
: - Anote os valores de ID do projeto e ID do agente.
Criar a integração
Solicite o e-mail da conta de serviço do Dialogflow do parceiro da
dialogflowServiceAccountEmail
: Substituir PARTNER_ID pelo seu ID de parceiro.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)
Copie o e-mail da conta de serviço. Esta conta conecta seu Business Messages e agentes do Dialogflow.
No Google Cloud console, selecione seu projeto do Dialogflow.
Acesse o IAM. do Google Cloud.
Clique em Adicionar e digite o e-mail da conta de serviço para Novos membros.
Em Selecionar papel, escolha Editor do agente do console do Dialogflow.
Clique em Adicionar outro papel e selecione Cliente da API Dialogflow.
Clique em Salvar.
Integre seu projeto do Dialogflow ao agente do Business Messages.
Substitua AUTO_RESPONSE_STATUS por ATIVADO ou DESATIVADO, dependendo se você quer ou não que o recurso Business Messages responda automaticamente. usuários com respostas do 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)
Para opções de formatação e valor, consulte
Integration
A conexão com o Business Messages e o Dialogflow leva cerca de dois minutos. Para
verificar o status da integração, acessar o
OperationInfo
Atualizar a integração
Para atualizar a configuração de resposta automática do agente, execute o comando a seguir. Substitua AUTO_RESPONSE_STATUS por ATIVADO ou DESATIVADOS se você quiser ou não que o recurso Business Messages seja ativado automaticamente. responder aos usuários com respostas do 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 }'
Para opções de formatação e valor, consulte
Integration
Alternar entre as edições do Dialogflow
Um agente do Business Messages só aceita uma integração com o Dialogflow por vez. Para mudar de uma edição do Dialogflow para outra, você precisa remover o integração atual antes de criar a nova.
Excluir a integração
Se você precisar remover o Dialogflow do seu agente do Business Messages, exclua a com o comando a seguir.
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)
Para opções de formatação e valor, consulte
Integration
Receber informações de integração
Para informações sobre uma integração, você pode usar o Business Communications
API, desde que você tenha o valor name
da integração.
Receber informações de uma única integração
Para ver informações de integração, execute o comando a seguir.
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)
Para opções de formatação e valor, consulte
Integration
Listar todas as integrações de um agente
Se você não souber o nome da integração, poderá obter informações sobre todas integrações associadas a um agente omitindo o INTEGRATION_ID de um URL de solicitação 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)
Para opções de formatação e valor, consulte
Integration
Correspondência com intents
Depois de ativar a integração do Dialogflow para um agente do Business Messages, seu pode usar as intents configuradas pelo projeto do Dialogflow para entender e responder às perguntas dos usuários sem precisar escrever código. Para saber mais sobre intents, consulte a documentação do Dialogflow ES e Dialogflow CX.
Configure as intents do Dialogflow para cada opção de conversa suporte por meio da automação. Os agentes do Business Messages usam o Dialogflow para a entender as mensagens dos usuários.
Ao chamar as APIs do Dialogflow, o Business Messages passa o
payload da mensagem do usuário
às intents e ao webhook de fulfillment. Quando há correspondência com uma mensagem do usuário
com uma intent, é possível acessar esse payload no formato Struct
no
Campo business_messages_payload
em QueryParameters
.
O payload contém todos os campos da mensagem do usuário, exceto DialogflowResponse
.
No Dialogflow CX, o Business Messages também transmite um parâmetro de sessão chamado channel
com valor google_business_messages
para as intents, que pode ser referenciado no agente com o seguinte formato: $session.params.channel
.
Esse parâmetro pode ser usado para adicionar condicionais aos fulfillments do Dialogflow e oferecer suporte a vários canais no mesmo agente do Dialogflow.
Para mais informações sobre parâmetros de consulta, acesse as referências do Dialogflow ES e do Dialogflow CX.
Pré-requisitos
Ao criar modelos PLN no Dialogflow, é possível configurar diferentes tipos de resposta a uma intent. O Business Messages aceita a resposta padrão, que pode incluir o seguinte:
- Texto
- Payload personalizado
- Transferência de agente em tempo real (somente Dialogflow CX)
Um payload personalizado precisa corresponder a uma resposta válida da mensagem JSON do Business Messages objeto. Ao configurar respostas de payload personalizadas para uma intent, o recurso Business Messages ignora os seguintes campos:
name
messageId
representative
Confira os exemplos de resposta a seguir.
Texto com sugestões
{
"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"
}
}
]
}
Rich Card
{
"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"
}
}
]
}
}
}
}
Carrossel com Rich Card
{
"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
}
}
}
]
}
}
}
Transferência de agente ao vivo
{
"metadata": {}
}
Bots de perguntas frequentes
Depois de ativar a integração do Dialogflow ES com um agente do Business Messages, criar um bot de perguntas frequentes. Quando você fornece perguntas e respostas um documento de conhecimento com suporte, o Business Messages e o Dialogflow criam a a infraestrutura necessária para entender e responder às perguntas dos usuários você não precisa escrever código.
Para acessar um bot de perguntas frequentes em ação, converse com as Perguntas frequentes do Business Messages Bot.
Pré-requisitos
Para criar um bot de perguntas frequentes, você precisa que suas perguntas e respostas estejam disponíveis Um documento de conhecimento (máximo de 50 MB): um arquivo HTML disponível publicamente ou um arquivo CSV.
Em geral, documentos de conhecimento
- Pode incluir Markdown limitado nas respostas, conforme especificado em Rich ou texto.
- ter no máximo 50 MB;
- Não deve exceder 2.000 pares de perguntas/respostas.
- Não aceite perguntas duplicadas com respostas diferentes.
Para arquivos HTML,
- Os arquivos de URLs públicos precisam ter sido rastreados pelo indexador do Google Search para que apareçam no índice de pesquisa. Você pode verificar isso com o Google Search Console. O indexador não mantém o conteúdo atualizado. É necessário informar atualizar seu documento quando o conteúdo de origem for alterado.
- O Dialogflow remove tags HTML do conteúdo ao criar respostas. Devido ao é melhor evitar tags HTML e usar texto simples quando possível.
- Arquivos com um único par de pergunta/resposta não são aceitos.
Para arquivos CSV,
- Os arquivos precisam ter perguntas na primeira coluna e respostas na segunda. sem cabeçalho.
- Os arquivos precisam usar vírgulas como delimitadores.
Criar um bot de perguntas frequentes
Para criar um bot de perguntas frequentes, crie primeiro uma base de conhecimento para armazenar todos os dados do bot e adicione um ou mais documentos com pares de perguntas/respostas ao seu base de conhecimento.
Criar uma base de conhecimento
Para criar uma base de conhecimento, execute o comando a seguir. Substituir
BRAND_ID, AGENT_ID e INTEGRATION_ID
com os valores exclusivos do name
do documento. Substituir
KNOWLEDGE_BASE_DISPLAY_NAME por uma string de identificação do
uma melhor opção.
Depois de criar uma base de conhecimento, você pode criar documentos dentro dele.
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__" } ] } }'
Para opções de formatação e valor, consulte
DialogflowKnowledgebase
Criar um documento de conhecimento
Para criar um documento de conhecimento, execute o comando a seguir.
Adicione o documento à lista de documentos existentes ou crie uma nova lista se não houver nenhum
já existe. Uma lista de documentos existentes deve incluir o name
do documento
na solicitação.
Arquivo HTML público
Substitua as seguintes variáveis:
- BRAND_ID, AGENT_ID e INTEGRATION_ID
com os valores exclusivos do
name
da integração - KNOWLEDGE_BASE_DISPLAY_NAME e DOCUMENT_DISPLAY_NAME com identificando strings de sua escolha
PUBLIC_URL com o conhecimento URL público do 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__" } ] } ] } }'
Arquivo CSV local
Substitua as seguintes variáveis:
- BRAND_ID, AGENT_ID e INTEGRATION_ID
com os valores exclusivos do
name
da integração - KNOWLEDGE_BASE_DISPLAY_NAME e DOCUMENT_DISPLAY_NAME com identificando strings de sua escolha
CSV_RAW_BYTES com o CSV arquivo como uma string codificada em 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__" } ] } ] } }'
Para opções de formatação e valor, consulte
DialogflowKnowledgebase
A adição de um documento a uma base de conhecimento leva cerca de dois minutos. Para verificar o
status do documento, confira os atributos
OperationInfo
Excluir um documento de conhecimento
Se você precisar remover pares de perguntas/respostas do seu agente do Business Messages, exclua o documento de conhecimento que os contém usando o comando a seguir.
Execute o comando a seguir para excluir um único documento. Substituir
BRAND_ID, AGENT_ID e INTEGRATION_ID
com os valores exclusivos do name
do documento. Substituir
KNOWLEDGE_BASE_DISPLAY_NAME pela string adequada.
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__" } ] } }'
Para opções de formatação e valor, consulte
DialogflowKnowledgebase
Respostas automáticas
Se você ativar a resposta automática durante a integração com o Dialogflow, o Business As mensagens respondem automaticamente ao usuário pelo Dialogflow. Sua empresa O agente do Mensagens responde com a maior correspondência de nível de confiança. Com um Integração do Dialogflow ES, se houver correspondências para uma resposta de Perguntas frequentes e uma com intenção personalizada, o recurso Business Messages responde com a correspondência com a maior nível de confiança.
O Business Messages marca todas as mensagens de resposta automática como provenientes de BOT
.
e representantes. Caso seu agente seja compatível com agentes em tempo real,
O recurso Business Messages vai suspender as respostas automáticas após REPRESENTATIVE_JOINED
eventos
e retoma as respostas automáticas após REPRESENTATIVE_LEFT
eventos. Consulte a Transição
do bot para o agente humano.
Responder automaticamente com uma resposta de Perguntas frequentes
Com uma integração do Dialogflow ES, se uma resposta de perguntas frequentes tiver o maior nível de confiança o Business Messages mapeia a resposta de uma mensagem de texto. Se houver relacionada, mas disponível, a mensagem mostra resposta" sugestão. Caso contrário, a mensagem inclui uma pergunta e sugestões responde perguntando se a mensagem atendeu à solicitação do usuário.
Responder automaticamente com uma resposta de intent
As respostas de intent podem incluir uma ou mais das seguintes respostas.
- Dialogflow ES: Text, Payload personalizado
- Dialogflow CX: texto, Payload personalizado, Transferência de agente em tempo real
Se uma resposta de intent tiver a correspondência de nível de confiança mais alto, o seguinte se aplica.
- Se a resposta tiver pelo menos um valor de texto, o recurso Mensagens comerciais o mapeará a uma mensagem de texto.
- Se a resposta tiver pelo menos um payload personalizado com um Perfil da Empresa válido Estrutura de objeto JSON do app Mensagens, o Business Messages cria uma mensagem usando o objeto JSON fornecido.
- Se a resposta tiver pelo menos uma resposta de transferência para o agente em tempo real, consulte Responda automaticamente com uma solicitação de agente em tempo real.
Como o Dialogflow pode incluir várias respostas em uma correspondência de intent, O Business Messages envia cada transferência de mensagem de texto, payload personalizado ou agente em tempo real como uma mensagem separada. Se houver várias mensagens em uma intent forem correspondentes, mas algumas estiverem incorretas, o recurso Business Messages só envia mensagens como respostas automáticas.
Responder automaticamente com uma solicitação de agente em tempo real
O Dialogflow CX permite a transferência do agente em tempo real resposta. Sinaliza que a conversa deve ser passada para um humano representativo e permite que você passe metadados personalizados para sua transferência procedimento Se uma resposta de intent tiver a correspondência de nível de confiança mais alta e incluir uma transferência para o agente em tempo real, o recurso Business Messages envia uma evento solicitado pelo agente em tempo real ao webhook. Para processar esse evento, consulte Transferência do bot para o agente humano.
Responder automaticamente com uma mensagem substituta
Se o Dialogflow não tiver uma correspondência de alto nível de confiança, o recurso Business Messages enviará uma resposta substituta. Os substitutos são tratados de maneira diferente no Dialogflow ES e Dialogflow CX
Dialogflow ES
Para bots de perguntas frequentes, se não houver correspondência com uma resposta, o Business Messages enviará uma mensagem substituta de que não foi possível encontrar uma resposta.
Para intents configuradas, se não houver correspondência com uma resposta de intent, a conta de O Mensagens envia uma resposta de intent de fallback. É possível usar o texto substituto fornecido pelo Dialogflow ou configurar o com payloads personalizados e de texto extra.
Veja um exemplo de resposta de intent substituta que seu webhook pode receber:
{
"intentResponses": [
{
"intentName": "projects/df-integration/agent/intents/12345",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "1.0",
"fulfillmentMessages": [
{
"text": "One more time?"
}
]
}
]
}
O Dialogflow preenche automaticamente intent_name
e intent_display_name
.
Dialogflow CX
O Dialogflow CX lida com respostas de intents substitutas como eventos integrados. Se não houver correspondência para uma resposta de intent, o recurso Business Messages enviará uma mensagem substituta do evento padrão "Sem correspondência" no Dialogflow. Você pode usar o texto substituto fornecido pelo Dialogflow ou configurar o substituto com texto adicional, payloads personalizados e opções de transferência para agentes em tempo real.
Confira um exemplo de resposta de intent substituta que seu o webhook pode receber:
{
"intentResponses": [
{
"intentName": "sys.no-match-default",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "0.3",
"fulfillmentMessages": [
{
"text": "I missed that, say that again?"
}
]
}
]
}
O Business Messages codifica intent_name
e intent_display_name
.
Campos específicos do Dialogflow
Depois de ativar a integração do Dialogflow, o usuário envia uma mensagem ao agente
recebe
incluem o parâmetro
dialogflowResponse
objeto. Seu webhook recebe payloads de todas as mensagens do usuário, independentemente
se o Business Messages respondeu automaticamente à mensagem no seu
nome de usuário. Para verificar se há uma resposta automática, consulte o valor do atributo
autoResponded
e decida se você precisa responder ao usuário.
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 | Descrição |
---|---|
queryText
|
O texto do comando de conversação original. Se a ortografia for automática
a correção está ativada para o modelo do Dialogflow, queryText
contém a entrada de usuário corrigida. |
intentName |
O identificador exclusivo da intent correspondente. |
intentDisplayName |
O nome da intent correspondente. |
intentDetectionConfidence
|
A classificação de confiança numérica na correspondência
entre queryText e intentName . |
text |
Uma resposta de texto. |
jsonPayload
|
Uma resposta de payload personalizada.
Essa string corresponde ao nome
payload definido no Dialogflow.
Se o payload não tiver um JSON do Business Messages válido
do objeto, error descreve o problema. |
error |
A descrição de um erro com uma mensagem de fulfillment de intent. |
userQuestion |
A pergunta que o usuário fez, conforme analisado pelo Dialogflow. |
faqQuestion |
Uma pergunta do Dialogflow corresponde à pergunta do usuário. |
faqAnswer |
Uma resposta do Dialogflow corresponde à pergunta do usuário. |
matchConfidenceLevel
|
O nível de confiança na correspondência entre
userQuestion e faqQuestion . |
matchConfidence
|
A classificação de confiança numérica na correspondência entre
userQuestion e faqQuestion . |
autoResponded
|
Se o Business Messages foi ou não respondido automaticamente ao usuário com uma resposta do Dialogflow. |
message |
O payload da resposta automática. |
responseSource
|
A origem da resposta automática. Consulte
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 | Descrição |
---|---|
queryText
|
O texto do comando de conversação original. Se a ortografia for automática
a correção está ativada para o modelo do Dialogflow, queryText
contém a entrada de usuário corrigida. |
intentName |
O identificador exclusivo da intent correspondente. |
intentDisplayName |
O nome da intent correspondente. |
intentDetectionConfidence
|
A classificação de confiança numérica na correspondência
entre queryText e intentName . |
text |
Uma resposta de texto. |
jsonPayload
|
Uma resposta de payload personalizada.
Essa string corresponde ao nome
payload definido no Dialogflow.
Se o payload não tiver um JSON do Business Messages válido
do objeto, error descreve o problema. |
error |
A descrição de um erro com uma mensagem de fulfillment de intent. |
liveAgentHandoff |
Metadados personalizados para o procedimento de transferência do agente em tempo real. |
autoResponded
|
Se o Business Messages foi ou não respondido automaticamente ao usuário com uma resposta do Dialogflow. |
message |
O payload da resposta automática. |
responseSource
|
A origem da resposta automática. Consulte
ResponseSource |