W rozmowach z agentami Business Messages wiadomość powitalna ustawia ton rozmowy. Informuje też użytkowników, co może zrobić agent, kształtują pytania i oczekiwania użytkownika.
Agent wysyła wiadomość powitalną za każdym razem, gdy użytkownik otwiera rozmowę. agent może też wyświetlać rozpoczęcia rozmowy. aby wskazać użytkownikom znane lub często występujące ścieżki.
Jeśli użytkownik spróbuje rozpocząć rozmowę poza godzinami pracy agenta, agent wyświetli komunikat offline, możesz wykorzystać, aby udostępnić alternatywne kanały lub zaproponować dalsze kroki. Przez wykorzystanie te ustawienia, możesz zwiększyć niezawodność i łatwość obsługi agenta.
Ustawienia na poziomie agenta i lokalizacji
Ustawienia konwersacyjne możesz określić na poziomie agenta lub lokalizacji.
Poziom agenta: Te ustawienia rozmów mają zastosowanie do wszystkich rozmów z we wszystkich punktach wejścia.
Może się wyświetlić wiadomość powitalna na poziomie agenta „Dziękujemy za skontaktowanie się z nami Biegacze Bridgepoint...” Pomysły na rozpoczęcie rozmowy działań i informacji dotyczących całej firmy.
Na poziomie lokalizacji: te ustawienia zastępują ustawienia na poziomie agenta i dotyczy tylko rozmów z tą lokalizacją w okresie
PLACESHEET
orazMAPS
punktów wejścia.Może się wyświetlić wiadomość powitalna na poziomie lokalizacji: „Dziękujemy za skontaktowanie się z nami Biegacze Bridgepoint na Amphitheatre Pkwy...” Pomysły na rozpoczęcie rozmowy z zadań i informacji opartych na lokalizacji. Wiadomość offline może zawierać wzmiankę o tym kiedy dana lokalizacja zostanie otwarta.
Języki
Agenci i lokalizacje mogą określać osobne ustawienia dla różnych lokalizacji . Na przykład agent może określić wiadomość powitalną po angielsku dla „en” i tę samą wiadomość powitalną po hiszpańsku jako „es”. język. Business Messages rozwiązuje problem niezgodności między zgłoszonym językiem urządzenia użytkownika języki, dla których agent lub lokalizacja mają ustawienia konwersacyjne.
Lokalizacja jest raportowana w każdej wiadomości resolvedLocale
. Ty
może podać atrybut defaultLocale
agenta lub lokalizacji, który przypisuje wagi
dopasowania regionalnego. Patrz sekcja Lokalizacja i
Locales.
Business Messages używa regionu do określenia, która rozmowa ustawienia, które chcesz zastosować.
Wiadomość powitalna
Pierwsza wiadomość w rozmowie między agentem a użytkownikiem to adres wiadomość powitalną. Wiadomość powitalna pojawia się automatycznie, gdy użytkownik rozpocznie nowa rozmowa. Dobra wiadomość powitalna określa oczekiwania użytkownika dotyczące interakcji z agentem. Edytowanie powitania Więcej informacji znajdziesz w artykule Aktualizowanie ustawień rozmów.
Pomysły na rozpoczęcie rozmowy
Dobra wiadomość powitalna obejmuje ogólne funkcje agenta, jest otwarty, jest dobrym punktem wyjścia do rozmowy wskazać użytkownikom odpowiedzi na częste pytania lub poznać znane funkcje;
Propozycje pytań do rozmowy są wyświetlane jako sugerowane ułożone w pionie odpowiada na wiadomości i bezpośrednio postępuje zgodnie z wiadomością powitalną. Gdy użytkownik kliknie rozmowę polecenia inicjującego, agent otrzyma określone przez Ciebie wstępnie zdefiniowane treści i dane wywołania zwrotnego podczas określania polecenia inicjującego.
Jeśli agent obsługuje funkcje automatyczne w przypadku określonych żądań, początki rozmów mogą być powiązane z tymi żądaniami, dzięki czemu możesz polegać dane wejściowe na potrzeby automatyzacji i wysyłają swobodne pytania użytkowników do pracowników obsługi klienta gotowych do .
Agent może mieć maksymalnie 5 poleceń inicjujących rozmowę, a każde polecenie inicjujące może mogą mieć maksymalnie 35 znaków.
Aby dodać lub edytować początek rozmowy, zobacz Aktualizowanie rozmowy ustawieniach.
Wiadomości offline
Gdy użytkownik rozpocznie rozmowę z agentem spoza jego działania
godzin (zgodnie z definicją
MessagingAvailability
),
użytkownik otrzyma wiadomość offline agenta. Tylko człowiek
dostępność jest brana pod uwagę przy wyzwalaniu wiadomości offline. Pracownicy obsługi klienta, którzy tylko
pozwól przedstawicielom botów zawsze wysyłać wiadomości powitalne. Dobra wiadomość offline
- Wyjaśnia, dlaczego agent jest niedostępny
- Informuje użytkownika o odpowiednich kolejnych krokach lub alternatywnych kanałach kontaktu.
- Dopasowuje do tonu wiadomości powitalnej i początków rozmowy
Błąd w trybie offline
„Zamknięte,”.
Dobra wiadomość offline
„Mamy teraz zamknięte, ale będziemy dostępni jutro o 8:00. Jeśli potrzebujesz pilnej pomocy, skontaktuj się z zespołem pomocy pod numerem +12223334444 lub support@gtb.com”.
Aby edytować wiadomość offline, zobacz Aktualizowanie ustawień rozmów.
Aktualizowanie ustawień rozmów
Aby zarządzać wiadomością powitalną lub początkami rozmowy, musisz wysłać prośbę o PATCH
z działem komunikacji biznesowej
Interfejs API
aby zaktualizować pole conversationalSettings
agenta lub lokalizacji.
Aktualizując pole conversationalSettings
, musisz podać wartości dla:
wszystkich pól w
ConversationalSetting
.
obiektu. Żądania aktualizacji zastępują zawartość wszystkich edytowanych przez Ciebie pól, w tym
wszystkich polach podrzędnych. Na przykład jeśli poprosisz o zmodyfikowanie wiadomości powitalnej
ale nie zawierają początku rozmowy, żądanie usunie wszystkie wcześniejsze
pomysły na rozpoczęcie rozmowy.
Wymagania wstępne
Zanim zaktualizujesz ustawienia konwersacji, musisz mieć:
- Ścieżka do klucza konta usługi projektu GCP na komputerze, którego używasz do programowania
- Język, którego ustawienia chcesz zaktualizować
W przypadku ustawień na poziomie agenta agent
name
(np. „brands/12345/agents/67890”)Jeśli nie znasz tego numeru (
name
), zobacz Wyświetlanie listy wszystkich agentów dla danego marki.W przypadku ustawień na poziomie lokalizacji lokalizacja
name
(np. „marki/12345/locations/67890”)Jeśli nie znasz
name
lokalizacji, zobacz Wyświetlanie listy wszystkich lokalizacji dla marki.Język do aktualizacji w postaci dwuznakowego języka ISO 639-1. kod
Nowa wiadomość powitalna
URL Polityki prywatności
(Opcjonalnie) Tekst na początek rozmowy
(Opcjonalnie) Dane wywołania zwrotnego na początku rozmowy
(Opcjonalnie) Nowa wiadomość offline
Jeśli nie znasz bieżących wartości funkcji conversationalSettings
, zapoznaj się z sekcją Pobieranie agenta
informacje
i Pobierz lokalizację
więcej informacji.
Wysyłanie prośby o aktualizację
Aby zaktualizować agenta lub lokalizację, uruchom poniższe polecenie. Zastąp zmienne z wartościami określonymi w sekcji Wymagania wstępne.
Jeśli nie chcesz, aby rozpoczynały rozmowy, pomiń parametr conversationStarters
i wszystkie jego
pól podrzędnych.
Ustawienia na poziomie agenta
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)
Ustawienia na poziomie lokalizacji
# 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" } } } ] } } }'
Informacje o formatowaniu i wartości:
brands.agents.patch
brands.locations.patch
,
oraz
ConversationalSetting
.
Przykłady
Ustawienia na poziomie agenta
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', }, }, }, ], }, }, }, }"
Ustawienia na poziomie lokalizacji
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', }, }, }, }, ], }, }, }"