Damit die Interaktionen der Nutzer mit Ihrem Agent zufriedenstellend sind, hat Google Umfragen werden an Nutzer gesendet, nachdem sie Unterhaltungen mit dem Agent beendet haben. Wenn möchten Sie Daten mit unterschiedlichem Timing sammeln, z. B. am Ende eine Unterhaltung führen, können Sie Umfragen im Kontext einer Unterhaltung Gespräch. Umfragen werden in der Unterhaltung angezeigt und bieten Nutzern die Möglichkeit, mit verschiedenen Optionen je nach Frage.
Der Zeitpunkt der von Google ausgelösten Umfragen hängt von der Nachricht des Kundenservicemitarbeiters ab. Verfügbarkeit:
Verfügbarkeit | Umfragezeitpunkt |
---|---|
Nur Bot | 30 Minuten nach der letzten Nachricht |
Nur für Menschen | 24 Geschäftsstunden nach der letzten Nachricht |
Mensch und Bot | 24 Geschäftsstunden nach der letzten Nachricht |
Wenn < 24 Stunden in den nächsten 7 Tagen. Stattdessen verwenden wir 24 Stunden.
Sie können alle 24 Stunden eine Umfrage pro Unterhaltung senden. Wenn Sie eine Umfrage eine Unterhaltung vor Google führt, sendet Google keine Umfrage zu dieser Unterhaltung. Wenn Ihr Kundenservicemitarbeiter innerhalb von 24 Stunden in einer Unterhaltung mehrere Umfragen sendet, Business Messages versucht nur, die erste Umfrage an den Nutzer zu senden.
Wenn ein Nutzer das nächste Mal eine Unterhaltung mit Ihrem Agent beginnt, nachdem er Umfrage, zeigt der Agent eine Begrüßung an. Wenn ein Nutzer nicht an einer Umfrage teilnimmt, läuft die Umfrage nach 7 Tagen ab und der Nach Ablauf der Umfrage sieht der Nutzer in der nächsten Unterhaltung eine Begrüßung.
Wenn ein Nutzer eine Nachricht sendet, die nichts mit einer Umfrage zu tun hat, während eine Umfrage in der Unterhaltung abgebrochen, bricht Business Messages die Umfrage ab und sendet die Nachricht des Nutzers zum Webhook des Agents.
Wenn Sie keine Umfragen an Nutzer senden, erhält der Agent weiterhin die Ergebnisse der Google-Umfragen am Webhook zu erfassen. sie entsprechend anpassen.
Fragen
Umfragen können bis zu fünf Fragen umfassen, die in drei Kategorien unterteilt sind: required, template und custom Eine Umfrage enthält immer die erforderliche Frage und zeigt dann bis zu zwei Vorlagen an und zeigt dann bis zu zwei benutzerdefinierte Fragen an.
Pflichtfrage
Die erforderliche Frage ist in alle Sprachen übersetzt, die Business Messages unterstützt. Nutzer können mit „Mag ich“ oder „Mag ich nicht“ antworten.
Die erforderliche Frage: „Hat dieser Messaging-Dienst Ihre Anforderungen mit AGENT_NAME?“
Fragen zu Vorlagen
Vorlagenfragen sind optional. Von Google definierte Fragen, die lokalisiert werden in allen von Business Messages unterstützten Sprachen. Eine Umfrage kann bis zu zwei Vorlagenfragen. Die Antwortformate variieren je nach Frage.
Zu den Vorlagenfragen gehören
- Wie zufrieden bist du mit der Kommunikation mit AGENT_NAME?
- Wie wahrscheinlich ist es, dass Sie AGENT_NAME einem Freund empfehlen?
- Wenn Sie AGENT_NAME das nächste Mal kontaktieren, wie wahrscheinlich ist es, dass Sie Messaging auswählen?
- Wie einfach war die Interaktion mit AGENT_NAME insgesamt?
- Inwieweit stimmst du der folgenden Aussage zu: AGENT_NAME hat es mir leicht gemacht, mein Problem zu lösen.
- Bitte geben Sie an, wie zufrieden Sie insgesamt mit dem Supportmitarbeiter sind.
- Konntest du durch diese Chatsitzung einen Anruf bei AGENT_NAME vermeiden?
Wenn Sie eine Liste aller verfügbaren Vorlagenfragen sehen und Vorlagen-IDs abrufen möchten,
- Öffnen Sie den Business Communications Developer Konsole und melden Sie sich mit Ihrem Google-Konto für Business Messages an.
- Wählen Sie den Agent aus.
- Klicken Sie im linken Navigationsbereich auf Umfrage.
Benutzerdefinierte Fragen
Eine Umfrage kann bis zu zwei benutzerdefinierte Fragen enthalten. Wenn Sie einen benutzerdefinierten fügen Sie für jede Frage eine Version der Frage Sprache die Ihr Agent unterstützt. Sie müssen eine Version jeder Frage für Ihr Standardsprache festlegen. Wenn ein Nutzer eine Umfrage erhält, sich aber in einer Sprache befindet, einer bestimmten Version einer benutzerdefinierten Frage handelt, wird die Frage so angezeigt, wie sie definiert wurde. in der Standardsprache des Agents aus.
Für Antworten auf benutzerdefinierte Fragen werden separate Text- und Postback-Daten unterstützt. zu vorgeschlagenen Antworten
Umfrage anpassen
Um die Umfrage für einen Kundenservicemitarbeiter anzupassen,
- Öffnen Sie den Business Communications Developer Konsole und melden Sie sich mit Ihrem Google-Konto für Business Messages an.
- Wählen Sie den Agent aus.
- Klicken Sie im linken Navigationsbereich auf Umfrage.
- Fügen Sie der Umfrage bis zu zwei verfügbare Fragenvorlagen hinzu.
- Klicken Sie auf Benutzerdefinierte Frage erstellen, um Ihrer Umfrage benutzerdefinierte Fragen hinzuzufügen.
Informationen zu Formatierungs- und Wertoptionen finden Sie unter
surveyConfig
Umfrage senden
Führen Sie den folgenden Befehl aus, um eine Umfrage zu senden. CONVERSATION_ID ersetzen durch die ID der Unterhaltung, an die Sie die Umfrage senden möchten, und SURVEY_ID durch eine eindeutige Kennung für die Umfrage.
cURL
# Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # https://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # This code sends a survey to the user: # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/message/surveys?hl=en # Replace the __CONVERSATION_ID__ with a conversation id that you can send messages to # Make sure a service account key file exists at ./service_account_key.json curl -X POST "https://businessmessages.googleapis.com/v1/conversations/__CONVERSATION_ID__/surveys?surveyId=f4bd7576-6c2e-4674-9db4-d697166f63ce" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-messages" \ -H "$(oauth2l header --json ./service_account_key.json businessmessages)"
Node.js
/** * This code sends a survey to the user: * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/message/surveys?hl=en * * This code is based on the https://github.com/google-business-communications/nodejs-businessmessages Node.js * Business Messages client library. */ /** * Edit the values below: */ const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json'; const CONVERSATION_ID = 'EDIT_HERE'; const businessmessages = require('businessmessages'); const uuidv4 = require('uuid').v4; const {google} = require('googleapis'); // Initialize the Business Messages API const bmApi = new businessmessages.businessmessages_v1.Businessmessages({}); // Set the scope that we need for the Business Messages API const scopes = [ 'https://www.googleapis.com/auth/businessmessages', ]; // Set the private key to the service account file const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY); /** * Posts a survey to the Business Messages API. * * @param {string} conversationId The unique id for this user and agent. */ async function sendSurvey(conversationId) { const authClient = await initCredentials(); // Create the payload for creating a new survey const apiParams = { auth: authClient, parent: 'conversations/' + conversationId, surveyId: uuidv4(), resource: {} }; // Call the message create function using the // Business Messages client library bmApi.conversations.surveys.create(apiParams, {auth: authClient}, (err, response) => { console.log(err); console.log(response); }); } /** * 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); } }); }); } sendSurvey(CONVERSATION_ID);
Java
import com.google.api.client.googleapis.services.AbstractGoogleClientRequest; import com.google.api.client.http.HttpBackOffUnsuccessfulResponseHandler; import com.google.api.client.http.HttpRequest; 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.client.util.ExponentialBackOff; import com.google.api.services.businessmessages.v1.Businessmessages; import com.google.api.services.businessmessages.v1.model.*; import java.io.FileInputStream; import java.util.Arrays; import java.util.UUID; class SendSurveySnippet { /** * Initializes credentials used by the Business Messages API. */ private static Businessmessages.Builder getBusinessMessagesBuilder() { Businessmessages.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/businessmessages")); credential.refreshToken(); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance(); // Create instance of the Business Messages API builder = new Businessmessages .Builder(httpTransport, jsonFactory, null) .setApplicationName("Sample Application"); // Set the API credentials and endpoint builder.setHttpRequestInitializer(credential); } catch (Exception e) { e.printStackTrace(); } return builder; } public static void main(String args[]) { try { String conversationId = "CONVERSATION_ID"; // Create client library reference Businessmessages.Builder builder = getBusinessMessagesBuilder(); // Create a new survey to send to the user associated with the conversationId Businessmessages.Conversations.Surveys.Create request = bmBuilder.build().conversations().surveys() .create("conversations/" + conversationId, new BusinessMessagesSurvey()); request.setSurveyId(UUID.randomUUID().toString()); // Setup retries with exponential backoff HttpRequest httpRequest = ((AbstractGoogleClientRequest) request).buildHttpRequest(); httpRequest.setUnsuccessfulResponseHandler(new HttpBackOffUnsuccessfulResponseHandler( new ExponentialBackOff())); // Execute request httpRequest.execute(); } catch (Exception e) { e.printStackTrace(); } } }
Python
"""This code sends a survey to the user. Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/message/surveys?hl=en This code is based on the https://github.com/google-business-communications/python-businessmessages Python Business Messages client library. """ import uuid from businessmessages import businessmessages_v1_client as bm_client from businessmessages.businessmessages_v1_messages import BusinessmessagesConversationsSurveysCreateRequest from businessmessages.businessmessages_v1_messages import BusinessMessagesSurvey from oauth2client.service_account import ServiceAccountCredentials # Edit the values below: path_to_service_account_key = './service_account_key.json' conversation_id = 'EDIT_HERE' credentials = ServiceAccountCredentials.from_json_keyfile_name( path_to_service_account_key, scopes=['https://www.googleapis.com/auth/businessmessages']) client = bm_client.BusinessmessagesV1(credentials=credentials) # Create the survey request survey_request = BusinessmessagesConversationsSurveysCreateRequest( surveyId=str(uuid.uuid4().int), parent='conversations/' + conversation_id, businessMessagesSurvey=BusinessMessagesSurvey()) # Send the survey bm_client.BusinessmessagesV1.ConversationsSurveysService( client=client).Create(request=survey_request)
Informationen zu Formatierungs- und Wertoptionen finden Sie unter
conversations.surveys
Umfrageantworten erhalten
Wenn ein Nutzer auf eine Frage in einer Umfrage antwortet, erhält Ihr Agent die Antwort. am Webhook. Erhalten und verarbeiten Sie Umfrageantworten genauso wie erhalten Nachrichten
Alle Fragen in einer Umfrage haben denselben surveyResponse.survey
-Wert. Wenn
Ihre Umfrage mehrere Fragen umfasst, stellen Sie sicher, dass Ihre Infrastruktur
mehrere Antworten mit demselben surveyResponse.survey
-Wert und identifiziert
anhand des Felds surveyResponse.surveyQuestionId
einzelne Fragen stellen.
Textwerte für Umfrageantworten erscheinen in
surveyResponse.questionResponseText
Bei Pflichtfragen und Fragen zu Vorlagen
Business Messages gibt eine „Mag ich“-Antwort als VERY_SATISFIED
und ein „Mag ich“-Symbol zurück
Down-Antwort als VERY_DISSATISFIED
. Wenn eine Antwort auf eine benutzerdefinierte Frage ein
Emojis angezeigt werden, ist es eine Best Practice, sich auf die
surveyResponse.questionResponsePostbackData
statt zu versuchen, die
Unicode-Wert.
Die Umfrageantworten haben das folgende Format.
{ "agent": "brands/BRAND_ID/agents/AGENT_ID", "sendTime": "SEND_TIME", "conversationId": "CONVERSATION_ID", "requestId": "REQUEST_ID", "surveyResponse": { "survey": "conversations/CONVERSATION_ID/surveys/SURVEY_ID", "rating": "SURVEY_RATING", "createTime": "CREATE_TIME", "surveyQuestionId": "QUESTION_ID", "questionResponseText": "RESPONSE_TEXT", "questionResponsePostbackData": "RESPONSE_POSTBACK_DATA", "questionType": "QUESTION_TYPE", "questionIndex": QUESTION_INDEX, "totalQuestionCount": TOTAL_QUESTION_COUNT, "surveyTriggerSource": "TRIGGER_SOURCE" } }
Informationen zu Formatierungs- und Wertoptionen finden Sie unter
UserMessage
und
SurveyResponse