Business Messages temsilcileri
- Dialogflow ES: amaç eşleştirme ve SSS bot'ları
- Dialogflow CX: amaç eşleştirme ve canlı aracı aktarımı
Bir Business Messages temsilcisini Dialogflow'un diğer özellikleriyle entegre etmek için ES veya Dialogflow CX her ürünün belgelerine bakın.
Bir kullanıcı Dialogflow entegrasyonu olan bir temsilciye mesaj gönderdiğinde
Business Messages, kullanıcı mesajını Dialogflow'a iletir ve Dialogflow'un
e-postada müşteri temsilcisine
dialogflowResponse
nesnesini tanımlayın. Aracıları şu şekilde yapılandırabilirsiniz:
Dialogflow'un yanıtını,
bölümü. Otomatik yanıtlar başlıklı makaleyi inceleyin.
inceleyebilirsiniz.
Dialogflow entegrasyonu
Business Messages aracılığıyla Dialogflow tabanlı otomasyondan yararlanabilmek için Dialogflow entegrasyonunu etkinleştirmeniz gerekir.
Ön koşullar
Başlamak için gerekenler
- Business Messages temsilci
- Global bölgesinde bulunan ve kök dili İngilizce olan bir Dialogflow aracısı (tr)
Dialogflow aracınız yoksa bir tane oluşturun.
Dialogflow ES
Dialogflow ES entegrasyonunu etkinleştirebilmeniz için öncelikle Dialogflow aracısının proje kimliği. Proje kimliğini bulmak için
- Dialogflow Console'a gidin.
- Business Messages'a bağlamak istediğiniz Dialogflow temsilcisini seçin, ardından dişli simgesini . işaretini tıklayın.
- Google Projesi bölümünde Proje Kimliği değerini not edin.
Dialogflow CX
Dialogflow CX entegrasyonunu etkinleştirebilmeniz için öncelikle Dialogflow aracısının proje kimliği ve aracı kimliği. Bu kimlikleri bulmak için:
- Dialogflow CX Console'a gidin.
- Dialogflow projenizi seçin.
- Temsilci seçicide, taşma menüsünü tıklayın. . işaretini tıklayın.
- Adı kopyala'yı tıklayın. Bu işlem, temsilcinizin tam adını
şu biçimdedir:
projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
- Proje kimliği ve aracı kimliği değerlerini not edin.
Entegrasyonu oluşturma
İş ortağının Dialogflow hizmet hesabı e-postasını şuradan alın:
dialogflowServiceAccountEmail
Değiştir İş ortağı kimliğinizle PARTNER_ID.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)
Hizmet hesabı e-postasını kopyalayın. Bu hesap, Business Messages'ınızı bağlar ve Dialogflow aracılarını içerir.
Google Cloud'da Konsol Dialogflow projenizi seçin.
IAM'ye gidin izinleriyle ilgili daha fazla bilgi edinin.
Ekle'yi tıklayın ve Yeni üyeler için hizmet hesabı e-posta adresini girin.
Rol seçin bölümünde Dialogflow Console Aracı Düzenleyici'yi seçin.
Başka bir rol ekle'yi tıklayın ve Dialogflow API İstemcisi'ni seçin.
Kaydet'i tıklayın.
Dialogflow projenizi Business Messages temsilcinize entegre edin.
AUTO_RESPONSE_STATUS değerini, şuna bağlı olarak ETKİN veya DEVRE DIŞI olarak değiştirin: Business Messages'ın otomatik olarak yanıt vermesini isteyip istemediğinize bağlı olarak Dialogflow yanıtları olan kullanıcılarla iletişime geçebilirsiniz.
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)
Biçimlendirme ve değer seçenekleri için bkz.
Integration
.
Business Messages ve Dialogflow'u bağlamak yaklaşık iki dakika sürer. Alıcı:
entegrasyonun durumunu kontrol edebilir, entegrasyonun
OperationInfo
.
Entegrasyonu güncelleme
Aracınızın otomatik yanıt ayarını güncellemek için aşağıdaki komutu çalıştırın. AUTO_RESPONSE_STATUS değerini ETKİN veya Business Messages'ın otomatik olarak çalışmasını isteyip istemediğinize bağlı olarak DEVRE DIŞI BIRAKILDI kullanıcılara Dialogflow yanıtlarıyla yanıt verin.
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 }'
Biçimlendirme ve değer seçenekleri için bkz.
Integration
.
Dialogflow sürümleri arasında geçiş yapma
Bir Business Messages temsilcisi, aynı anda yalnızca bir Dialogflow entegrasyonunu destekleyebilir. Bir Dialogflow sürümünden diğerine geçiş yapmak için yeni entegrasyonu oluşturmadan önce mevcut entegrasyonu inceleyin.
Entegrasyonu sil
Dialogflow'u Business Messages temsilcinizden kaldırmanız gerekirse aşağıdaki komutla entegre edebilirsiniz.
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)
Biçimlendirme ve değer seçenekleri için bkz.
Integration
.
Entegrasyon bilgilerini alma
Bir entegrasyon hakkında bilgi almak için Business Communications'ı kullanabilirsiniz.
API'den yararlanabilirsiniz. Ancak, entegrasyonun name
değerine sahip olmanız gerekir.
Tek bir entegrasyon hakkında bilgi alma
Entegrasyon bilgilerini almak için aşağıdaki komutu çalıştırın.
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)
Biçimlendirme ve değer seçenekleri için bkz.
Integration
.
Bir temsilci için tüm entegrasyonları listeleme
Entegrasyonun adını bilmiyorsanız tüm INTEGRATION_ID atlanarak bir temsilciyle ilişkili entegrasyonlar bir GET isteği URL'sindeki değer.
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)
Biçimlendirme ve değer seçenekleri için bkz.
Integration
.
Intent eşleşme
Bir Business Messages temsilcisi için Dialogflow entegrasyonunu etkinleştirdikten sonra aracısı, Dialogflow projenizin yapılandırılmış amaçlarını kullanarak kullanıcı sorularına kod yazmanıza gerek kalmadan yanıt vermenizi sağlar. Şu konu hakkında daha fazla bilgi edinmek için: Dialogflow ES belgelerine bakın. ve Dialogflow CX.
Yapmayı düşündüğünüz her görüşme seçeneği için Dialogflow niyetlerinizi yapılandırın otomasyonla destekleyebilirsiniz. Business Messages temsilcileri, şu işlemler için Dialogflow'u kullanır: daha iyi anlamanızı sağlar.
Dialogflow API'lerini çağırırken Business Messages,
kullanıcı mesajı yükü
amaçlarınıza ve karşılama webhook'unuza
ulaşın. Bir kullanıcı mesajı eşleştiğinde
bu yüke Struct
biçiminde
business_messages_payload
alanı (QueryParameters
içinde).
Yük, kullanıcı mesajındaki DialogflowResponse
hariç tüm alanları içerir.
Dialogflow CX'te Business Messages, amaçlarınıza google_business_messages
değerine sahip channel
adlı bir oturum parametresi de iletir. Temsilcinizde bu parametreye şu biçimde referans verebilirsiniz: $session.params.channel
.
Bu parametre, aynı Dialogflow aracısında birden fazla kanalı desteklemek amacıyla Dialogflow karşılamalarınıza koşullar eklemek için kullanılabilir.
Sorgu parametreleri hakkında daha fazla bilgi için Dialogflow ES ve Dialogflow CX referanslarına bakın.
Ön koşullar
Dialogflow'da NLU modelleri oluştururken farklı yanıt türlerini inceleyeceğiz. Business Messages, varsayılan yanıtı destekler. Bunlar aşağıdakileri içerebilir:
- Metin
- Özel yük
- Canlı aracı aktarma (yalnızca Dialogflow CX)
Özel yük, geçerli bir Business Messages JSON mesaj yanıtıyla eşleşmelidir. nesne. Bir amaca yönelik özel yük yanıtlarını yapılandırırken Business Messages şu alanları yoksayar:
name
messageId
representative
Aşağıdaki örnek yanıtlara bakın.
Öneri içeren metin
{
"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"
}
}
]
}
Zengin kart
{
"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"
}
}
]
}
}
}
}
Zengin kart bandı
{
"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
}
}
}
]
}
}
}
Canlı müşteri temsilcisi aktarımı
{
"metadata": {}
}
SSS bot'ları
Business Messages temsilcisi için Dialogflow ES entegrasyonunu etkinleştirdikten sonra SSS bot'u oluşturabilir. Soruları ve yanıtları Business Messages ve Dialogflow, desteklenen bir bilgi dokümanını kullanıcı sorularını anlamak ve yanıtlamak için gereken altyapıyı kod yazmanız gerekir.
SSS bot'unu iş başında görmek için Business Messages ile ilgili SSS Bot.
Ön koşullar
SSS bot'u oluşturmadan önce sorularınızı ve yanıtlarınızı bir bilgi belgesi (maks. 50 MB): herkese açık bir HTML dosyası veya CSV dosyası.
Genellikle bilgi belgeleri,
- Zengin seçeneğinde belirtildiği gibi, yanıtlara sınırlı Markdown dahil edilebilir metin.
- Dosya en fazla 50 MB boyutunda olmalıdır.
- 2.000 soru/cevap çifti sayısını aşmamalıdır.
- Farklı yanıtları olan yinelenen soruları desteklemeyin.
HTML dosyaları için
- Herkese açık URL'lerdeki dosyaların Google arama dizinleyicisi tarafından taranmış olması gerekir. Böylece, bu öğeler arama dizininde yer alır. Bunu Google Search Console. Dizine ekleme aracının içeriğinizi güncel tutmadığını unutmayın. Açık bir şekilde kaynak içerik değiştiğinde dokümanınızı güncelleyebilirsiniz.
- Dialogflow yanıt oluştururken içerikten HTML etiketlerini kaldırır. Çünkü nedeniyle HTML etiketlerinden kaçınmak ve mümkün olduğunda düz metin kullanmak en iyisidir.
- Tek soru/yanıt çifti içeren dosyalar desteklenmez.
CSV dosyaları için
- Dosyaların ilk sütununda sorular, ikinci sütunda yanıtlar olmalıdır. olabilir.
- Dosyalar ayırıcı olarak virgül kullanmalıdır.
SSS bot'u oluşturma
SSS bot'u oluşturmak için öncelikle tüm ekledikten sonra, hesabınıza soru/cevap çiftleri içeren bir veya daha fazla doküman oluşturmaktır.
Bilgi tabanı oluşturma
Bilgi tabanı oluşturmak için aşağıdaki komutu çalıştırın. Değiştir
BRAND_ID, AGENT_ID ve INTEGRATION_ID
dokümanın name
etiketindeki benzersiz değerlerle kullanın. Değiştir
tanımlayıcı dizesine sahip KNOWLEDGE_BASE_DISPLAY_NAME
seçim.
Bilgi bankası oluşturduktan sonra doküman oluşturabilirsiniz bir bilgidir.
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__" } ] } }'
Biçimlendirme ve değer seçenekleri için bkz.
DialogflowKnowledgebase
.
Bilgi belgesi oluşturma
Bilgi dokümanı oluşturmak için aşağıdaki komutu çalıştırın.
Dokümanı mevcut dokümanlar listesine ekleyin veya yoksa yeni bir liste oluşturun
henüz mevcut. Mevcut belgeler listesinde belgenin name
bilgileri bulunmalıdır
değeri olabilir.
Herkese açık HTML dosyası
Aşağıdaki değişkenleri değiştirin:
- BRAND_ID, AGENT_ID ve INTEGRATION_ID
entegrasyonun
name
etiketinden alınan benzersiz değerlerle - KNOWLEDGE_BASE_DISPLAY_NAME ve Şununla DOCUMENT_DISPLAY_NAME: seçtiğiniz dizeleri tanımlama
Bilgi sahibi PUBLIC_URL dokümanın herkese açık URL'si
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__" } ] } ] } }'
Yerel CSV dosyası
Aşağıdaki değişkenleri değiştirin:
- BRAND_ID, AGENT_ID ve INTEGRATION_ID
entegrasyonun
name
etiketinden alınan benzersiz değerlerle - KNOWLEDGE_BASE_DISPLAY_NAME ve Şununla DOCUMENT_DISPLAY_NAME: seçtiğiniz dizeleri tanımlama
CSV ile CSV_RAW_BYTES base64 kodlu dize olarak dosya
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__" } ] } ] } }'
Biçimlendirme ve değer seçenekleri için bkz.
DialogflowKnowledgebase
.
Bir dokümanın bilgi tabanına eklenmesi yaklaşık iki dakika sürer. Kontrol etmek için
entegrasyonun durumunu kontrol edin.
OperationInfo
.
Bilgi dokümanını silme
Soru/cevap çiftlerini Business Messages temsilcinizden kaldırmanız gerekiyorsa aşağıdaki komutla kendisini içeren bilgi dokümanını silin.
Mevcut tek bir dokümanı silmek için aşağıdaki komutu çalıştırın. Değiştir
BRAND_ID, AGENT_ID ve INTEGRATION_ID
dokümanın name
etiketindeki benzersiz değerlerle kullanın. Değiştir
KNOWLEDGE_BASE_DISPLAY_NAME değerini uygun dizeyle değiştirin.
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__" } ] } }'
Biçimlendirme ve değer seçenekleri için bkz.
DialogflowKnowledgebase
.
Otomatik yanıtlar
Dialogflow entegrasyonu sırasında otomatik yanıtı etkinleştirirseniz Business, Mesajlar, Dialogflow aracılığıyla kullanıcıya otomatik olarak yanıt verir. İşletmeniz Mesajlar aracısı, en yüksek güven düzeyi eşleşmesiyle yanıt verir. Şununla Dialogflow ES entegrasyonu (hem bir SSS yanıtı hem de özel amaç doğrultusunda, Business Messages en yüksek olan eşleşmeyle yanıt verir. güven seviyesi.
Business Messages, otomatik olarak yanıtlanan tüm mesajları BOT
adlı gönderenden geliyor olarak işaretler
temsil eder. Temsilciniz canlı aracıları destekliyorsa
Business Messages, REPRESENTATIVE_JOINED
sonra otomatik yanıtları askıya alacak
etkinlikler
ve REPRESENTATIVE_LEFT
etkinlikten sonra otomatik yanıtları devam ettirir. Bkz. Handoff
yardımcı olur.
SSS yanıtıyla otomatik yanıt ver
Dialogflow ES entegrasyonu ile bir SSS yanıtı en yüksek güven düzeyine sahipse Business Messages, yanıtı bir kısa mesajla eşleştirir. Bir ilgili ancak farklı bir yanıt varsa mesajda "Başka bir yanıt görüntüleyin" yanıt" öneririz. Değilse iletide bir soru ve önerilen bilgiler bulunur. mesajın, kullanıcının isteğini karşılayıp karşılamadığını soran yanıtlar.
Niyet yanıtıyla otomatik yanıt ver
Amaç yanıtları, aşağıdaki yanıtlardan bir veya daha fazlasını içerebilir.
- Dialogflow ES: Metin, Özel yük
- Dialogflow CX: Metin, Özel yük Canlı müşteri temsilcisi aktarımı
Amaç yanıtı en yüksek güven düzeyi eşleşmesine sahipse aşağıdakiler geçerli olur.
- Yanıtta en az bir metin değeri varsa Business Messages bunu eşler. kısa mesaja dönüştürebilirsiniz.
- Yanıtta geçerli bir İşletme içeren en az bir özel yük varsa Messages JSON nesne yapısı, Business Messages şunu kullanarak bir mesaj oluşturur: sağlayan JSON nesnesidir.
- Yanıtta en az bir Canlı temsilci aktarma yanıtı varsa Canlı temsilci isteğiyle otomatik yanıt verin.
Dialogflow tek bir amaç eşleşmesinde birden fazla yanıt içerebildiğinden Business Messages, her kısa mesaj, özel yük veya canlı temsilci aktarımını gönderir ayrı bir ileti olarak gönderebilirsiniz. Bir amaçta birden fazla mesaj varsa ancak bazıları hatalı biçimlendirilmiş. Business Messages yalnızca otomatik yanıt olarak kaydeder.
Canlı temsilci isteğiyle otomatik yanıt verme
Dialogflow CX Canlı aracı aktarımını destekler tıklayın. Görüşmenin bir insana devredilmesi gerektiğini gösteriyor sağlar ve erişiminiz için özel meta veriler gerekir. Amaç yanıtı en yüksek güven düzeyi eşleşmesine sahipse ve bir canlı müşteri temsilcisi devir işlemi içerirken Business Messages, canlı müşteri temsilcisi tarafından istenen etkinlik bağlayın. Bu etkinliği işlemek için bkz. Bot'tan canlı temsilciye aktarım.
Yedek mesajla otomatik yanıt ver
Dialogflow yüksek bir güven düzeyi eşleşmesi elde edemezse Business Messages, oluşturabilirsiniz. Yedekler, Dialogflow ES'de farklı şekilde işlenir ve Dialogflow CX'e gidin.
Dialogflow ES
SSS bot'ları için bir SSS yanıtıyla eşleşme yoksa Business Messages, yanıt bulamadığını belirten bir yedek ileti.
Yapılandırılmış amaçlar için bir amaç yanıtıyla eşleşme yoksa Business Mesajlar, yedek intent yanıtı gönderir. Dialogflow tarafından sağlanan yedek metni kullanabilir veya ek metin ve özel yük içeren bir yedek oluşturun.
Webhook'unuzun düzenlediği yedek intent yanıtı örneğini şunları alabilir:
{
"intentResponses": [
{
"intentName": "projects/df-integration/agent/intents/12345",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "1.0",
"fulfillmentMessages": [
{
"text": "One more time?"
}
]
}
]
}
Dialogflow, intent_name
ve intent_display_name
alanlarını önceden doldurur.
Dialogflow CX
Dialogflow CX, yedek intent yanıtlarını şu şekilde işler: yerleşik etkinlikler. Amaç yanıtıyla eşleşme yoksa Business Messages, bir Dialogflow'daki "Eşleşme yok" varsayılan etkinliğinden yedek mesaj Şunları yapabilirsiniz: Dialogflow tarafından sağlanan yedek metni kullanın veya Ayrıca ek metin, özel yük ve canlı aracı aktarım seçenekleriyle
Aşağıda, webhook aşağıdaki bilgileri alabilir:
{
"intentResponses": [
{
"intentName": "sys.no-match-default",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "0.3",
"fulfillmentMessages": [
{
"text": "I missed that, say that again?"
}
]
}
]
}
Business Messages'ın intent_name
ve intent_display_name
sabit kodları.
Dialogflow'a özel alanlar
Dialogflow entegrasyonunu etkinleştirdikten sonra kullanıcı, temsilciye mesaj gönderir.
alır
şunları içerir:
dialogflowResponse
nesnesini tanımlayın. Webhook'unuz, aşağıdakilerden bağımsız olarak tüm kullanıcı mesajları için yük alır
Business Messages'ın hesabınızdaki mesaja otomatik olarak yanıt verip vermediği
anlamına gelir. Otomatik yanıt olup olmadığını kontrol etmek için
autoResponded
alanına girin ve kullanıcıya yanıt vermeniz gerekip gerekmediğine karar verin.
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", }], }, ...
Alan | Açıklama |
---|---|
queryText
|
Orijinal konuşma sorgu metni. Otomatik yazım ise
queryText Dialogflow modeli için düzeltme etkinleştirildi
düzeltilmiş kullanıcı girişini içerir. |
intentName |
Eşleşen amacın benzersiz tanımlayıcısı. |
intentDisplayName |
Eşleşen amacın adı. |
intentDetectionConfidence
|
Eşleşmedeki sayısal güven derecesi
queryText ile intentName arasında. |
text |
Mesaj yanıtı. |
jsonPayload
|
Özel bir yük yanıtı.
Bu dize, özel
yük değerini temel alır.
Yükte geçerli bir Business Messages JSON dosyası yoksa
error sorunu tanımlıyor. |
error |
Niyet yerine getirme mesajındaki bir hatanın açıklaması. |
userQuestion |
Kullanıcının sorduğu soru (Dialogflow tarafından ayrıştırılır). |
faqQuestion |
Dialogflow'daki bir soru, kullanıcının sorusuyla eşleşti. |
faqAnswer |
Dialogflow'dan kullanıcının sorusuyla eşleşen bir yanıt. |
matchConfidenceLevel
|
İkisi arasındaki eşleşmenin güven seviyesi
userQuestion ve faqQuestion . |
matchConfidence
|
Eşleşmenin sayısal güven derecesi
userQuestion ve faqQuestion . |
autoResponded
|
Business Messages'ın otomatik olarak yanıtlanıp yanıtlanmadığı Dialogflow'dan bir yanıt gelene kadar. |
message |
Otomatik yanıtın yükü. |
responseSource
|
Otomatik yanıtın kaynağı. Görüntüleyin
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", }], }, ...
Alan | Açıklama |
---|---|
queryText
|
Orijinal konuşma sorgu metni. Otomatik yazım ise
queryText Dialogflow modeli için düzeltme etkinleştirildi
düzeltilmiş kullanıcı girişini içerir. |
intentName |
Eşleşen amacın benzersiz tanımlayıcısı. |
intentDisplayName |
Eşleşen amacın adı. |
intentDetectionConfidence
|
Eşleşmedeki sayısal güven derecesi
queryText ile intentName arasında. |
text |
Mesaj yanıtı. |
jsonPayload
|
Özel bir yük yanıtı.
Bu dize, özel
yük değerini temel alır.
Yükte geçerli bir Business Messages JSON dosyası yoksa
error sorunu tanımlıyor. |
error |
Niyet yerine getirme mesajındaki bir hatanın açıklaması. |
liveAgentHandoff |
Canlı temsilci aktarma prosedürünüz için özel meta veriler. |
autoResponded
|
Business Messages'ın otomatik olarak yanıtlanıp yanıtlanmadığı Dialogflow'dan bir yanıt gelene kadar. |
message |
Otomatik yanıtın yükü. |
responseSource
|
Otomatik yanıtın kaynağı. Görüntüleyin
ResponseSource . |