En las conversaciones con los agentes de Business Messages, el mensaje de bienvenida establece la para la interacción. También permite que los usuarios sepan lo que el agente puede hacer, lo que da forma a las preguntas y expectativas del usuario.
El agente envía un mensaje de bienvenida cada vez que el usuario abre una conversación. El El agente también puede mostrar activadores de conversación. para guiar a los usuarios por rutas conocidas o frecuentes.
Si un usuario intenta iniciar una conversación fuera del horario de atención del agente, el agente muestra un mensaje sin conexión. que puedes usar para compartir canales alternativos o sugerir próximos pasos. Aprovechando puedes aumentar la confiabilidad y usabilidad del agente.
Configuración a nivel del agente y de la ubicación
Puedes especificar la configuración de conversación a nivel del agente o la ubicación.
Nivel de agente: Esta configuración de conversación se aplica a todas las conversaciones con el en todos los puntos de entrada.
Es posible que comience un mensaje de bienvenida a nivel del agente "Gracias por comunicarte con nosotros Ejecutores de punto de puente..." Los temas de conversación pueden enfocarse en acciones o información en toda la empresa.
Nivel de ubicación: esta configuración anula la configuración a nivel del agente y solo se aplican a las conversaciones con esa ubicación en el
PLACESHEET
yMAPS
puntos de entrada.Es posible que comience un mensaje de bienvenida a nivel de la ubicación "Gracias por comunicarte con nosotros Bridgepoint Runners en Amphitheatre Pkwy...” Los disparadores de conversación pueden enfocarse en tareas o información basadas en la ubicación. Es posible que un mensaje sin conexión mencione cuándo se abrirá la ubicación próximamente.
Configuraciones regionales
Los agentes y las ubicaciones pueden especificar configuraciones independientes para las configuraciones regionales a las que y asistencia. Por ejemplo, un agente puede especificar un mensaje de bienvenida en inglés para la "en" configuración regional y tener el mismo mensaje de bienvenida en español para "es" configuración regional. Business Messages determina una coincidencia entre la configuración regional informada del dispositivo del usuario y las configuraciones regionales para las que un agente o una ubicación tienen una configuración de conversación.
Esta coincidencia de configuración regional se informa en cada mensaje resolvedLocale
. Tú
puede especificar el defaultLocale
de un agente o una ubicación, que se resolvieron
coincidencia de configuración regional. Consulta Localización e
regionales.
Business Messages usa la configuración regional resuelta para determinar el tipo de conversación de configuración que se aplique.
Mensaje de bienvenida
El primer mensaje de una conversación entre un agente y un usuario es mensaje de bienvenida. El mensaje de bienvenida aparece automáticamente después de que un usuario inicia un conversación nueva. Un buen mensaje de bienvenida que establece las expectativas del usuario para interactuar con el agente. Cómo editar una bienvenida consulta Cómo actualizar la configuración de conversaciones.
Temas de conversación
Si bien un buen mensaje de bienvenida abarca la funcionalidad de un agente a un alto nivel Es abierta, buenas preguntas para iniciar conversaciones guiar a los usuarios a preguntas frecuentes o a funciones conocidas.
Los temas de conversación aparecen como sugerencias apiladas verticalmente respuestas y sigue directamente el mensaje de bienvenida. Cuando un usuario presiona una conversación el agente recibe contenido predefinido y datos de notificación de conversión cuando especificas el activador.
Si un agente admite la funcionalidad automatizada para ciertas solicitudes, de conversaciones pueden asignarse a esas solicitudes, lo que te permite confiar en entradas de automatización y enviar preguntas de usuario de formato libre a los agentes humanos que estén listos para una respuesta en particular.
Un agente puede tener un máximo de 5 temas de conversación tener un máximo de 35 caracteres.
Para agregar o editar disparadores de conversación, consulta Actualizar conversaciones Configuración.
Mensajes sin conexión
Cuando un usuario inicia una conversación con un agente fuera de las operaciones del agente
horas (según lo define
MessagingAvailability
),
el usuario recibe el mensaje sin conexión del agente. Solo el representante humano
disponibilidad se tiene en cuenta cuando se activa un mensaje sin conexión. Los agentes que solo
pedir a los representantes de bots
que envíen siempre un mensaje de bienvenida Un buen mensaje sin conexión
- Comparte el motivo por el que el agente no está disponible.
- Indica al usuario los próximos pasos adecuados o canales de contacto alternativos.
- Coincide con el tono del mensaje de bienvenida y de los disparadores de conversación.
Mensaje de error sin conexión
"Lo sentimos, cerramos".
Mensaje sin conexión correcto
"En este momento, estamos cerrados, pero volveremos a estar disponibles mañana a las 8 a.m. Si si necesitas ayuda urgente, comunícate con el equipo de Asistencia al +12223334444 o a support@gtb.com".
Para editar un mensaje sin conexión, consulta Cómo actualizar la configuración de conversaciones.
Actualiza la configuración de conversaciones
Para administrar un mensaje de bienvenida o temas de conversación, debes realizar una solicitud PATCH.
en el curso Business Communications
API
para actualizar el campo conversationalSettings
de un agente o una ubicación.
Cuando actualices el campo conversationalSettings
, debes incluir valores de
todos los campos del
ConversationalSetting
. Las solicitudes de actualización reemplazan el contenido de todos los campos que edites, incluido
cualquier campo secundario. Por ejemplo, si solicitas modificar un mensaje de bienvenida,
pero no incluyes disparadores de conversación, la solicitud quita cualquier anterior
temas de conversación.
Requisitos previos
Antes de actualizar la configuración de conversaciones, necesitas los siguientes elementos:
- Ruta de acceso a la clave de la cuenta de servicio del proyecto de GCP en la máquina de desarrollo
- La configuración regional para la que quieres actualizar la configuración
Para la configuración a nivel del agente, el agente es
name
(por ejemplo, "brands/12345/agents/67890")Si no conoces la
name
del agente, consulta Enumerar todos los agentes de un brand [marca].Para la configuración a nivel de la ubicación, usa la ubicación
name
(por ejemplo, "marcas/12345/ubicaciones/67890")Si no conoces la
name
de la ubicación, consulta Enumerar todas las ubicaciones para un brand [marca].La configuración regional que se actualizará, como un idioma ISO 639-1 de dos caracteres código
Nuevo mensaje de bienvenida
URL de la Política de Privacidad
Texto para iniciar conversaciones (opcional)
Datos de notificación de conversión para disparadores de conversación (opcional)
Nuevo mensaje sin conexión (opcional)
Si no conoces los valores actuales de conversationalSettings
, consulta Obtener agentes
información
y Obtener ubicación
información.
Cómo enviar la solicitud de actualización
Para actualizar el agente o la ubicación, ejecuta el siguiente comando. Reemplazar variables con los valores que identificaste en Requisitos previos.
Si no quieres disparadores de conversación, omite conversationStarters
y todos sus
campos secundarios.
Configuración a nivel del agente
cURL
# This code updates the conversational settings of a Business Messages agent. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/patch # Replace the __BRAND_ID__, __AGENT_ID__ and __LOCALE__ # 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__?updateMask=businessMessagesAgent.conversationalSettings.__LOCALE__" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "businessMessagesAgent": { "conversationalSettings": { "__LOCALE__": { "welcomeMessage": { "text": "My first welcome message" }, "offlineMessage": { "text": "My first offline message" }, "privacyPolicy": { "url": "https://www.your-company-website.com/privacy" }, "conversationStarters": [ { "suggestion": { "reply": { "text": "Suggestion 1", "postbackData": "post_back_suggestion_1" } } } ] } } } }'
Node.js
/** * This code snippet updates the conversationalSettings of a Business Messages agent. * Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/patch * * 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 LOCALE = 'en'; 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 agentName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID; if (authClient) { // Setup the parameters for the API call const apiParams = { auth: authClient, name: agentName, updateMask: 'businessMessagesAgent.conversationalSettings.' + LOCALE, resource: { businessMessagesAgent: { conversationalSettings: { [LOCALE]: { privacyPolicy: { url: 'https://www.your-company-website.com/privacy' }, welcomeMessage: { text: 'My updated welcome message' }, offlineMessage: { text: 'My updated offline message' }, conversationStarters: [ { suggestion: { reply: { 'text': 'Suggestion 2', 'postbackData': 'post_back_suggestion_2', }, }, } ], }, } } } }; bcApi.brands.agents.patch(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();
Java
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.businesscommunications.v1.BusinessCommunications; import com.google.api.services.businesscommunications.v1.model.*; import com.google.common.collect.ImmutableMap; import java.io.FileInputStream; import java.util.Arrays; class Main { /** * Initializes credentials used by the Business Communications API. */ private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() { BusinessCommunications.Builder builder = null; try { GoogleCredential credential = GoogleCredential .fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY")); credential = credential.createScoped(Arrays.asList( "https://www.googleapis.com/auth/businesscommunications")); credential.refreshToken(); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance(); // Create instance of the Business Communications API builder = new BusinessCommunications .Builder(httpTransport, jsonFactory, null) .setApplicationName(credential.getServiceAccountProjectId()); // Set the API credentials and endpoint builder.setHttpRequestInitializer(credential); } catch (Exception e) { e.printStackTrace(); } return builder; } public static void main(String args[]) { try { // Create client library reference BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder(); String agentName = "brands/BRAND_ID/agents/AGENT_ID"; Agent agent = new Agent().setBusinessMessagesAgent( new BusinessMessagesAgent().setConversationalSettings(ImmutableMap.of("LOCALE", new ConversationalSetting() .setPrivacyPolicy(new PrivacyPolicy().setUrl("PRIVACY_POLICY_URL")) .setWelcomeMessage(new WelcomeMessage().setText("WELCOME_MESSAGE")) .setOfflineMessage(new OfflineMessage().setText("OFFLINE_MESSAGE")) .setConversationStarters(Arrays.asList( new ConversationStarters().setSuggestion(new Suggestion() .setReply(new SuggestedReply() .setText("REPLY_TEXT") .setPostbackData("POSTBACK_DATA"))), ))))); BusinessCommunications.Brands.Agents.Patch request = builder .build().brands().agents().patch(agentName, agent); request.setUpdateMask("businessMessagesAgent.conversationalSettings.LOCALE"); Agent updatedAgent = request.execute(); System.out.println(updatedAgent.toPrettyString()); } catch (Exception e) { e.printStackTrace(); } } }
Python
"""This code updates the conversational settings of a Business Messages agent. Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/patch 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, BusinessMessagesAgent, ConversationStarters, ConversationalSetting, OfflineMessage, PrivacyPolicy, WelcomeMessage, NegativeBotFeedbackMessage, BusinesscommunicationsBrandsAgentsPatchRequest, ) # 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) agents_service = BusinesscommunicationsV1.BrandsAgentsService(client) agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID agent=Agent( businessMessagesAgent=BusinessMessagesAgent( conversationalSettings=BusinessMessagesAgent.ConversationalSettingsValue( additionalProperties=[BusinessMessagesAgent.ConversationalSettingsValue.AdditionalProperty( key='en', value=ConversationalSetting( privacyPolicy=PrivacyPolicy(url='https://www.your-company-website.com/privacy'), welcomeMessage=WelcomeMessage(text='Welcome to Business Messages'), offlineMessage=OfflineMessage(text='This is an offline message'), conversationStarters=[ ConversationStarters( suggestion=Suggestion( reply=SuggestedReply(text='Option 1', postbackData='option_1') ) )] ) ) ] ) ) ) updated_agent = agents_service.Patch( BusinesscommunicationsBrandsAgentsPatchRequest( agent=agent, name=agent_name, updateMask='businessMessagesAgent.conversationalSettings.en' ) ) print(updated_agent)
Configuración a nivel de la ubicación
# This code updates the agent interaction of a bot and human representatives. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/patch # Replace the __BRAND_ID__, __AGENT_ID__, __LOCATION_ID__, __LOCALE__ # Make sure a service account key file exists at ./service_account_key.json curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/locations/__LOCATION_ID__?updateMask=conversationalSettings.__LOCALE__" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "conversationalSettings": { "__LOCALE__": { "welcomeMessage": { "text": "My second welcome message" }, "offlineMessage": { "text": "My second offline message" }, "privacyPolicy": { "url": "https://www.your-company-website.com/privacy" }, "conversationStarters": [ { "suggestion": { "reply": { "text": "Suggestion 2", "postbackData": "post_back_suggestion_2" } } } ] } } }'
Para obtener información sobre el formato y los valores, consulta
brands.agents.patch
:
brands.locations.patch
,
y
ConversationalSetting
Ejemplos
Configuración a nivel del agente
curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=businessMessagesAgent.conversationalSettings.en" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \ -d "{ 'businessMessagesAgent': { 'conversationalSettings': { 'en': { 'welcomeMessage': { 'text': 'Thanks for contacting Growing Tree Bank. What can I help with today?', }, 'offlineMessage': { 'text': 'We\'re closed for the night. Please reach out to us again tomorrow.', }, 'privacyPolicy': { 'url': 'https://www.growingtreebank.com/privacy', }, 'conversationStarters': [ { 'suggestion': { 'reply': { 'text': 'Set up an account', 'postbackData': 'new-account', }, }, }, { 'suggestion': { 'reply': { 'text': 'Look up account information', 'postbackData': 'account-lookup', }, }, }, ], }, }, }, }"
Configuración a nivel de la ubicación
curl -X PATCH \ "https://businesscommunications.googleapis.com/v1/brands/12345/locations/67890?updateMask=conversationalSettings.en" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json /path/to/service/account/key businesscommunications)" \ -d "{ 'conversationalSettings': { 'en': { 'welcomeMessage': { 'text': 'Thanks for contacting Growing Tree Bank on Amphitheatre Pkwy. What can I help with today?', }, 'offlineMessage': { 'text': 'We\'re closed for the night. Please reach out to us again tomorrow.', }, 'privacyPolicy': { 'url': 'https://www.growingtreebank.com/privacy', }, 'conversationStarters': [ { 'suggestion': { 'reply': { 'text': 'What are your hours?', 'postbackData': 'hours', }, }, }, { 'suggestion': { 'reply': { 'text': 'Set up an account', 'postbackData': 'new-account', }, }, }, { 'suggestion': { 'reply': { 'text': 'Look up account information', 'postbackData': 'account-lookup', }, }, }, { 'suggestion': { 'action': { 'text': 'Call us', 'postbackData': 'call', 'dialAction': { 'phoneNumber': '+12223334444', }, }, }, }, ], }, }, }"