Inizia la conversazione

Nelle conversazioni con gli agenti di Business Messages, il messaggio di benvenuto imposta la per l'interazione. Inoltre, permette agli utenti di sapere cosa può fare l'agente, definisce le domande e le aspettative dell'utente.

L'agente invia un messaggio di benvenuto ogni volta che l'utente apre una conversazione. La L'agente può anche visualizzare degli spunti di conversazione per guidare gli utenti verso percorsi noti o frequenti.

Se un utente prova ad avviare una conversazione al di fuori dell'orario di apertura di un agente, L'agente visualizza un messaggio offline che puoi utilizzare per condividere canali alternativi o suggerire i passaggi successivi. Sfruttando queste impostazioni, puoi aumentare l'affidabilità e l'usabilità dell'agente.

Spunti di conversazione

Impostazioni a livello di agente e località

Puoi specificare le impostazioni di conversazione a livello di agente o di località.

  • Livello di agente: Queste impostazioni conversazionali si applicano a tutte le conversazioni con su tutti i punti di ingresso.

    Potrebbe iniziare un messaggio di benvenuto a livello di agente "Grazie per aver contattato Bridgepoint Runners..." Gli spunti di conversazione possono concentrarsi su azioni o informazioni a livello aziendale.

  • A livello di località: queste impostazioni sostituiscono quelle a livello di agente e si applica solo alle conversazioni con quella posizione su PLACESHEET e MAPS punti di ingresso.

    Potrebbe iniziare un messaggio di benvenuto a livello di località "Grazie per averci contattato" Bridgepoint Runners su Amphitheatre Pkwy..." Gli spunti di conversazione possono concentrarsi su attività o informazioni basate sulla posizione. Un messaggio offline potrebbe menzionare quando la sede verrà aperta di nuovo.

Impostazioni internazionali

Gli agenti e le località possono specificare impostazioni separate per le impostazioni internazionali assistenza in tempo reale. Ad esempio, un agente potrebbe specificare un messaggio di benvenuto in inglese per "en" lingua e hanno lo stesso messaggio di benvenuto in spagnolo per la lingua "es" impostazioni internazionali. Business Messages risolve una corrispondenza tra le impostazioni internazionali segnalate del dispositivo dell'utente e Le impostazioni internazionali per cui un agente o una località hanno impostazioni di conversazione.

Questa corrispondenza delle impostazioni internazionali è riportata in ogni messaggio campo resolvedLocale. Tu puoi specificare un valore defaultLocale dell'agente o della località, che i pesi risolti corrispondenza delle impostazioni internazionali. Consulta la sezione Localizzazione e impostazioni internazionali.

Business Messages utilizza le impostazioni internazionali risolte per determinare quale impostazioni da applicare.

Messaggio di benvenuto

Il primo messaggio di una conversazione tra un agente e un utente è messaggio di benvenuto. Il messaggio di benvenuto viene visualizzato automaticamente dopo che un utente avvia un nuova conversazione. Un messaggio di benvenuto efficace definisce le aspettative dell'utente in termini di interazione con l'agente. Per modificare un messaggio di benvenuto vedi Aggiornare le impostazioni di conversazione.

Spunti di conversazione

Anche se un buon messaggio di benvenuto copre la funzionalità di un agente a livello generale e sono buoni spunti di conversazione indirizzare gli utenti verso domande frequenti o funzionalità note.

Gli spunti di conversazione vengono visualizzati come suggeriti in pila verticale risposte e seguire direttamente il messaggio di benvenuto. Quando un utente tocca una conversazione. il comando iniziale, l'agente riceve contenuti predefiniti e dati postback impostati quando specifichi il comando iniziale.

Se un agente supporta la funzionalità automatizzata per determinate richieste, gli spunti di conversazione potrebbero mappare queste richieste, consentendoti di fare affidamento su input per l'automazione e invia domande libere degli utenti agli operatori pronti a risposta.

Un agente può avere un massimo di 5 spunti di conversazione e ogni comando iniziale può può contenere un massimo di 35 caratteri.

Per aggiungere o modificare gli spunti di conversazione, consulta Aggiornare il livello di conversazione impostazioni.

Messaggi offline

Quando un utente avvia una conversazione con un agente al di fuori del suo operativo di ore (come definito MessagingAvailability), l'utente riceve il messaggio offline dell'agente. Rappresentante solo umano la disponibilità è considerata quando si attiva un messaggio offline. Agenti che hanno solo fare in modo che i rappresentanti dei bot inviino sempre un messaggio di benvenuto. Un messaggio offline efficace

  • Indica il motivo per cui l'agente non è disponibile
  • Indica all'utente i passaggi successivi appropriati o i canali di contatto alternativi
  • Corrisponde al tono del messaggio di benvenuto e degli spunti di conversazione

Messaggio offline non valido

"Spiacenti, siamo chiusi."

Messaggio offline valido

"Al momento siamo chiusi, ma saremo di nuovo disponibili domani alle 8:00. Se hai bisogno di aiuto urgente, contatta l'assistenza al numero +12223334444 o support@gtb.com."

Per modificare un messaggio offline, vedi Aggiornare le impostazioni di conversazione.

Aggiorna le impostazioni di conversazione

Per gestire un messaggio di benvenuto o degli spunti di conversazione, effettua una richiesta PATCH con Business Communications dell'API per aggiornare il campo conversationalSettings di un agente o della località.

Quando aggiorni il campo conversationalSettings, devi includere i valori per tutti i campi ConversationalSetting . Le richieste di aggiornamento sovrascrivono i contenuti di tutti i campi che modifichi, inclusi qualsiasi campo secondario. Ad esempio, se richiedi di modificare un messaggio di benvenuto ma non includono spunti di conversazione, la richiesta rimuove tutti gli eventuali spunti di conversazione.

Prerequisiti

Prima di aggiornare le impostazioni di conversazione, sono necessari i seguenti elementi:

  • Percorso della chiave dell'account di servizio del progetto Google Cloud sulla macchina di sviluppo
  • Le impostazioni internazionali di cui vuoi aggiornare le impostazioni
  • Per le impostazioni a livello di agente, l'agente name (ad es. "brands/12345/agents/67890")

    Se non conosci il name dell'agente, consulta Elenca tutti gli agenti per un brand.

  • Per le impostazioni a livello di località, la località name (ad es. "brands/12345/locations/67890")

    Se non conosci il name di un luogo, consulta Elenca tutte le sedi per un brand.

  • Le impostazioni internazionali da aggiornare, espresse come lingua ISO 639-1 a due caratteri. codice

  • Nuovo messaggio di benvenuto

  • URL Norme sulla privacy

  • (Facoltativo) Testo per gli spunti di conversazione

  • (Facoltativo) Dati di postback per gli spunti di conversazione

  • (Facoltativo) Nuovo messaggio offline

Se non conosci gli attuali valori di conversationalSettings, consulta Recupera agente informazioni e Ottieni posizione di assistenza.

Invia la richiesta di aggiornamento

Per aggiornare l'agente o la località, esegui questo comando. Sostituisci variabili con i valori identificati nella sezione Prerequisiti.

Se non vuoi spunti di conversazione, ometti conversationStarters e tutti i relativi campi secondari.

Impostazioni a livello di 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();
    }
  }
}
Questo codice si basa sul Attività commerciale Java Libreria client di comunicazione.

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)

Impostazioni a livello di località

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

Per informazioni sulla formattazione e sui valori, consulta brands.agents.patch, brands.locations.patch, e ConversationalSetting

Esempi

Impostazioni a livello di 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',
                            },
                        },
                    },
                ],
            },
        },
    },
}"

Impostazioni a livello di località

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