Unterhaltung beginnen

<ph type="x-smartling-placeholder">

Bei Unterhaltungen mit Business Messages-Agents wird über die Begrüßungsnachricht festgelegt, für die Interaktion. Außerdem erfahren Nutzer, was der Agent tun kann, die die Fragen und Erwartungen der Nutzenden prägt.

Der Agent sendet jedes Mal eine Willkommensnachricht, wenn der Nutzer eine Unterhaltung öffnet. Die Agent kann auch Gesprächseinstiege anzeigen. um Nutzer zu bekannten oder häufigen Pfaden zu leiten.

Wenn ein Nutzer versucht, eine Unterhaltung außerhalb der Öffnungszeiten eines Kundenservicemitarbeiters zu starten, Der Agent zeigt eine Offlinenachricht an. die du verwenden kannst, um alternative Kanäle zu teilen oder nächste Schritte vorzuschlagen. Durch die Nutzung von können Sie die Zuverlässigkeit und Nutzerfreundlichkeit des Agents erhöhen.

Gesprächseinstiege

Einstellungen auf Agent- und Standortebene

Sie können Konversationseinstellungen auf Agent- oder Standortebene festlegen.

  • Agent-Ebene: Diese Einstellungen gelten für alle Unterhaltungen mit dem an alle Einstiegspunkte.

    Möglicherweise beginnt eine Willkommensnachricht auf Kundenservicemitarbeiter: „Vielen Dank, dass Sie sich an Bridgepoint Runner...“ Konzentrieren Sie sich für Gesprächseinstiege Aktionen oder Informationen für das gesamte Unternehmen betreffen.

  • Standortebene: Diese Einstellungen überschreiben Einstellungen auf Agent-Ebene und gilt nur für Unterhaltungen mit diesem Standort in PLACESHEET und MAPS Einstiegspunkte.

    Möglicherweise wird eine Willkommensnachricht auf Standortebene angezeigt: "Vielen Dank, dass Sie Bridgepoint Runners am Amphitheatre Pkwy..." Für Gesprächseinstiege sorgen zu ortsbezogenen Aufgaben oder Informationen. In einer Offlinenachricht wird möglicherweise Folgendes erwähnt: wann der Standort wieder geöffnet ist.

Sprachen

Agents und Standorte können für jede Sprache, in der sie ausgeführt werden, unterschiedliche Einstellungen festlegen Support. Zum Beispiel könnte ein Agent eine Willkommensnachricht auf Englisch für das „en“ und dieselbe Willkommensnachricht für das "es" auf Spanisch haben. Sprache. Business Messages löst eine Übereinstimmung zwischen der auf dem Nutzergerät gemeldeten Sprache und Die Sprachen, für die ein Agent oder Standort Unterhaltungseinstellungen hat.

Diese Sprachübereinstimmung wird in jeder Nachricht gemeldet. resolvedLocale. Ich kann die defaultLocale eines Agents oder Standorts angeben, mit der die Gewichtungen behoben wurden Gebietsschema. Weitere Informationen finden Sie unter Lokalisierung und Sprachen.

Business Messages verwendet die aufgelöste Sprache, um zu bestimmen, welche Konversation die angewendeten Einstellungen.

Willkommensnachricht

Die erste Nachricht in einer Unterhaltung zwischen einem Agent und einem Nutzer ist die Willkommensnachricht. Die Willkommensnachricht wird automatisch angezeigt, neue Unterhaltung. Eine gute Willkommensnachricht legt die Erwartungen des Nutzers an die Interaktion mit dem Agent fest. So bearbeiten Sie eine Begrüßung Informationen zum Aktualisieren der Konversationseinstellungen

Gesprächseinstiege

Während eine gute Willkommensnachricht die Funktionen eines Agents auf hohem Niveau und sind offene, gute Gesprächseinstiege führen Nutzende zu häufigen Fragen oder bekannten Funktionen.

Gesprächseinstiege werden als vertikal gestapelte Vorschläge angezeigt direkt auf die Willkommensnachricht. Wenn ein Nutzer auf eine Unterhaltung tippt Starter, erhält der Agent vordefinierte Inhalte und Postback-Daten, die Sie festlegen. wenn Sie den Auslöser angeben.

Wenn ein Agent automatisierte Funktionen für bestimmte Anfragen unterstützt, Gesprächseinstiege können diesen Anfragen zugeordnet werden. So können Sie sich auf bekannte Eingaben für die Automatisierung vornehmen und Nutzerfragen in freiem Format an Kundenservicemitarbeiter senden, die sich sofort Antwort.

Ein Kundenservicemitarbeiter kann maximal 5 Gesprächseinstiege haben und jeder Auslöser kann dürfen maximal 35 Zeichen lang sein.

Informationen zum Hinzufügen oder Bearbeiten von Gesprächseinstiegen finden Sie unter Unterhaltungseinstieg aktualisieren Einstellungen.

Offlinenachrichten

Wenn ein Nutzer eine Unterhaltung mit einem Agent beginnt, der nicht für den Agent zuständig ist Stunden (definiert durch MessagingAvailability), Der Nutzer empfängt die Offlinenachricht des Agents. Nur menschliche Vertreter Verfügbarkeit wird beim Auslösen einer Offline-Nachricht berücksichtigt. Kundenservicemitarbeiter, die nur Bot-Beauftragte immer eine Willkommensnachricht senden. Eine gute Offline-Nachricht

  • Teilt, warum der Kundenservicemitarbeiter nicht verfügbar ist
  • Weist den Nutzer auf geeignete nächste Schritte oder alternative Kontaktmöglichkeiten hin
  • Der Ton der Begrüßungsnachricht und der Gesprächseinstiege stimmen überein

Schlechte Offlinenachricht

„Wir haben leider geschlossen.“

Gute Offline-Nachricht

„Wir haben momentan geschlossen, aber wir sind morgen um 8 Uhr wieder für Sie da. Wenn Wenn Sie dringende Hilfe benötigen, wenden Sie sich an den Support unter +12223334444 oder support@gtb.com.“

Informationen zum Bearbeiten einer Offlinenachricht finden Sie im Hilfeartikel Einstellungen der Konversation aktualisieren.

Konversationseinstellungen aktualisieren

Um eine Willkommensnachricht oder einen Gesprächseinstieg zu verwalten, stellen Sie eine PATCH-Anfrage mit der Business Communications API , um das Feld conversationalSettings eines Agents oder Standorts zu aktualisieren.

Wenn Sie das Feld conversationalSettings aktualisieren, müssen Sie Werte für in der Spalte ConversationalSetting -Objekt enthält. Aktualisierungsanfragen überschreiben den Inhalt aller Felder, die Sie bearbeiten, einschließlich alle untergeordneten Felder. Wenn Sie beispielsweise eine Anfrage zum Ändern einer Willkommensnachricht stellen aber keine Gesprächseinstiege angeben, werden durch die Anfrage alle vorherigen Gesprächseinstiege.

Vorbereitung

Bevor Sie die Einstellungen für die Konversation aktualisieren, benötigen Sie Folgendes:

  • Pfad zum Dienstkontoschlüssel Ihres GCP-Projekts auf Ihrem Entwicklungscomputer
  • Die Sprache, für die Sie die Einstellungen aktualisieren möchten
  • Für Einstellungen auf Agent-Ebene den Agent name, z. B. „brands/12345/agents/67890“

    Wenn Sie den name des Agents nicht kennen, lesen Sie Alle Agents für einen brand [Marke].

  • Bei Einstellungen auf Standortebene den Standort name, z. B. „brands/12345/locations/67890“

    Wenn Sie die name des Standorts nicht kennen, lesen Sie Alle Standorte für brand [Marke].

  • Das zu aktualisierende Gebietsschema, angegeben als zweistellige ISO 639-1-Sprache Code

  • Neue Willkommensnachricht

  • URL der Datenschutzerklärung

  • Optional: Text für den Gesprächseinstieg

  • Optional: Postback-Daten für den Gesprächseinstieg

  • Optional: Neue Offlinenachricht

Wenn du die aktuellen Werte für conversationalSettings nicht kennst, siehe Agent abrufen Informationen und Standort abrufen Informationen.

Aktualisierungsanfrage senden

Führen Sie den folgenden Befehl aus, um den Agent oder Standort zu aktualisieren. Variablen ersetzen mit Werten, die Sie unter Voraussetzungen angegeben haben.

Wenn du keine Gesprächseinstiege haben möchtest, kannst du conversationStarters und alle zugehörigen untergeordneten Feldern.

Einstellungen auf Agent-Ebene

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();
    }
  }
}
Dieser Code basiert auf dem Java Business Kommunikations-Clientbibliothek

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)

Einstellungen auf Standortebene

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

Informationen zu Formatierung und Werten finden Sie unter brands.agents.patch, brands.locations.patch, und ConversationalSetting

Beispiele

Einstellungen auf Agent-Ebene

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

Einstellungen auf Standortebene

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