Rozpocznij rozmowę

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.

Pomysły na rozpoczęcie rozmowy

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 oraz MAPS 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();
    }
  }
}
Ten kod opiera się na Java Business Biblioteka klienta Communications.

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',
                            },
                        },
                    },
                },
            ],
        },
    },
}"