Dans les conversations avec des agents Business Messages, le message de bienvenue définit le le ton de l'interaction. Les utilisateurs savent aussi ce que l'agent peut faire, façonne les questions et les attentes de l'utilisateur.
L'agent envoie un message de bienvenue chaque fois que l'utilisateur ouvre une conversation. La peut également afficher des amorces de conversation. pour guider les utilisateurs vers des chemins connus ou fréquents.
Si un utilisateur tente de démarrer une conversation en dehors des heures d'ouverture de l'agent, l'agent affiche un message hors connexion vous pouvez utiliser pour partager d'autres canaux ou suggérer des étapes à suivre. En exploitant ces paramètres, vous pouvez accroître la fiabilité et la facilité d'utilisation de votre agent.
Paramètres au niveau de l'agent et de l'emplacement
Vous pouvez spécifier des paramètres de conversation au niveau de l'agent ou de l'emplacement.
Niveau de l'agent: Ces paramètres de conversation s'appliquent à toutes les conversations avec sur tous les points d'entrée.
Un message de bienvenue au niveau de l'agent peut commencer : "Merci d'avoir contacté Bridgepoint Runners..." Les amorces de conversation peuvent se concentrer des actions ou des informations à l'échelle de l'entreprise.
Au niveau de l'emplacement:ces paramètres remplacent les paramètres au niveau de l'agent et ne s'appliquent qu'aux conversations associées à ce lieu via le
PLACESHEET
etMAPS
points d'entrée.Le message de bienvenue "Merci de nous avoir contactés" peut s'afficher, Bridgepoint Runners on Amphitheatre Pkwy..." Les amorces de conversation peuvent se concentrer sur des tâches ou des informations basées sur le lieu. Un message hors connexion peut mentionner la prochaine ouverture de l'établissement.
Paramètres régionaux
Les agents et les emplacements peuvent spécifier des paramètres distincts pour chacun des paramètres régionaux qu'ils de l'assistance. Par exemple, un agent peut spécifier un message de bienvenue en anglais pour "fr" et afficher le même message de bienvenue en espagnol pour "es" paramètres régionaux. Business Messages résout une correspondance entre les paramètres régionaux signalés par l'appareil de l'utilisateur et les paramètres de conversation d'un agent ou d'un emplacement.
Cette correspondance des paramètres régionaux est indiquée dans chaque message resolvedLocale
. Toi
peut spécifier le defaultLocale
d'un agent ou d'un établissement, dont les pondérations sont résolues
la correspondance des paramètres régionaux. Voir la section Localisation et
paramètres régionaux.
Business Messages utilise les paramètres régionaux résolus pour identifier le type de conversation paramètres à appliquer.
Message de bienvenue
Le premier message d'une conversation entre un agent et un utilisateur correspond au message de bienvenue. Le message de bienvenue s'affiche automatiquement lorsqu'un utilisateur lance une nouvelle conversation. Un bon message de bienvenue définit les attentes de l'utilisateur concernant l'interaction avec l'agent. Pour modifier un message de bienvenue consultez Mettre à jour les paramètres de conversation.
Amorces de conversation
Bien qu'un bon message de bienvenue couvre les fonctionnalités d'un agent à un niveau élevé et sont des questions ouvertes qui sont un bon moyen d'engager la conversation. guider les utilisateurs vers des questions fréquentes ou des fonctionnalités connues.
Les amorces de conversation s'affichent sous forme de suggestions empilées verticalement et de suivre directement le message de bienvenue. Lorsqu'un utilisateur appuie sur une conversation l'agent reçoit le contenu prédéfini et les données de postback que vous avez définies lorsque vous spécifiez le déclencheur.
Si un agent prend en charge la fonctionnalité automatisée pour certaines requêtes, des amorces de conversation peuvent correspondre à ces requêtes, ce qui vous permet de vous fier aux pour l'automatisation et envoyer les questions des utilisateurs au format libre aux agents humains réponse.
Un agent peut avoir jusqu'à cinq amorces de conversation, chacune pouvant ne pas comporter plus de 35 caractères ;
Pour ajouter ou modifier des amorces de conversation, consultez Mettre à jour une conversation paramètres.
Messages hors connexion
Lorsqu'un utilisateur entame une conversation avec un agent externe au système d'exploitation
d'heures (comme défini par
MessagingAvailability
),
l'utilisateur reçoit le message
hors connexion de l'agent. Représentant humain uniquement
la disponibilité est prise en compte lors du déclenchement d'un message hors connexion. Les agents qui ne
demandez aux représentants du bot d'envoyer systématiquement un message de bienvenue. Un bon message hors connexion
- Explique pourquoi l'agent est indisponible
- Indique à l'utilisateur les prochaines étapes à suivre ou d'autres canaux de contact.
- Correspond au ton du message de bienvenue et des amorces de conversation
Message hors connexion incorrect
"Désolé, nous sommes fermés."
Message hors connexion correct
"Nous sommes fermés pour le moment, mais nous serons de nouveau disponibles demain à 8h. Si vous avez besoin d'aide rapidement, contactez l'assistance au +12223334444 ou à l'adresse support@gtb.com."
Pour modifier un message hors connexion, consultez Mettre à jour les paramètres des conversations.
Mettre à jour les paramètres de conversation
Pour gérer un message de bienvenue ou des amorces de conversation, vous devez effectuer une requête PATCH
avec le cours Business Communications
API
pour mettre à jour le champ conversationalSettings
d'un agent ou d'un établissement.
Lorsque vous mettez à jour le champ conversationalSettings
, vous devez inclure des valeurs pour
tous les champs de
ConversationalSetting
. Les demandes de mise à jour écrasent le contenu de tous les champs que vous modifiez, y compris
tout champ enfant. Par exemple, si vous demandez à modifier un message de bienvenue
sans inclure d'amorces de conversation, la requête supprime
pour engager la conversation.
Prérequis
Avant de mettre à jour les paramètres de conversation, vous devez disposer des éléments suivants:
- Chemin d'accès à la clé du compte de service de votre projet GCP sur votre ordinateur de développement
- Paramètres régionaux dont vous souhaitez mettre à jour les paramètres
Pour les paramètres au niveau de l'agent, agent
name
(par exemple, "brands/12345/agents/67890")Si vous ne connaissez pas le
name
de l'agent, consultez Lister tous les agents pour une marque.Pour les paramètres au niveau de la zone géographique, zone géographique
name
(par exemple, "brands/12345/locations/67890")Si vous ne connaissez pas le
name
de l'établissement, consultez la section Répertorier tous les établissements d'une marque.Paramètres régionaux à mettre à jour, sous la forme d'une langue ISO 639-1 à deux caractères du code
Nouveau message de bienvenue
URL des règles de confidentialité
(Facultatif) Texte pour amorcer la conversation
(Facultatif) Données de postback pour les amorces de conversation
(Facultatif) Nouveau message hors connexion
Si vous ne connaissez pas les valeurs conversationalSettings
actuelles, consultez Obtenir un agent
informations
et Obtenir la position
informations.
Envoyer la demande de mise à jour
Pour mettre à jour l'agent ou l'emplacement, exécutez la commande suivante. Remplacer les variables avec les valeurs que vous avez identifiées dans la section Conditions préalables.
Si vous ne voulez pas d'amorces de conversation, omettez conversationStarters
et tous ses
sous-jacents.
Paramètres au niveau de l'agent
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)
Paramètres au niveau de la position
# 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" } } } ] } } }'
Pour obtenir des informations sur la mise en forme et les valeurs, consultez
brands.agents.patch
,
brands.locations.patch
,
et
ConversationalSetting
Exemples
Paramètres au niveau de l'agent
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', }, }, }, ], }, }, }, }"
Paramètres au niveau de la position
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', }, }, }, }, ], }, }, }"