ในการสนทนากับตัวแทน Business Messages ข้อความต้อนรับจะตั้งค่า น้ำเสียงในการปฏิสัมพันธ์ นอกจากนี้ยังช่วยให้ผู้ใช้ทราบว่าตัวแทนสามารถทำอะไรได้บ้าง กำหนดคำถามและความคาดหวังของผู้ใช้
ตัวแทนจะส่งข้อความต้อนรับทุกครั้งที่ผู้ใช้เปิดการสนทนา Agent ยังสามารถแสดงข้อความเริ่มต้นการสนทนา เพื่อนำทางผู้ใช้ไปยังเส้นทางที่รู้จักหรือที่ใช้บ่อย
หากผู้ใช้พยายามเริ่มการสนทนานอกเวลาทำการของตัวแทน ตัวแทนแสดงข้อความออฟไลน์ คุณสามารถใช้เพื่อแชร์ช่องทางอื่นๆ หรือแนะนำขั้นตอนต่อไปได้ ใช้ประโยชน์จาก คุณจะสามารถเพิ่มความน่าเชื่อถือและความสามารถในการใช้งานของตัวแทน
การตั้งค่าระดับตัวแทนและระดับสถานที่ตั้ง
คุณระบุการตั้งค่าการสนทนาได้ในระดับของตัวแทนหรือสถานที่ตั้ง
ระดับตัวแทน การตั้งค่าการสนทนาเหล่านี้จะใช้กับการสนทนาทั้งหมดกับ Agent ในจุดแรกเข้าทั้งหมด
ข้อความต้อนรับระดับตัวแทนอาจขึ้นต้นว่า "ขอขอบคุณที่ติดต่อ Bridgepoint Runners..." ข้อความเริ่มการสนทนาสามารถมุ่งเน้น ข้อมูลหรือการดำเนินการทั่วทั้งบริษัท
ระดับสถานที่ตั้ง: การตั้งค่าเหล่านี้จะลบล้างการตั้งค่าระดับตัวแทนและ ใช้ได้เฉพาะกับการสนทนาที่มีสถานที่ตั้งดังกล่าวในช่วง
PLACESHEET
และMAPS
จุดแรกเข้าข้อความต้อนรับระดับสถานที่ตั้งอาจขึ้นว่า "ขอขอบคุณที่ติดต่อ Bridgepoint Runners on Amphitheatre Pkwy..." ข้อความเริ่มการสนทนาสามารถโฟกัสได้ เกี่ยวกับงานหรือข้อมูลที่เกี่ยวข้องกับสถานที่ ข้อความออฟไลน์อาจกล่าวถึง สถานที่จะเปิดครั้งต่อไปเมื่อใด
ภาษา
ตัวแทนและสถานที่ตั้งสามารถระบุการตั้งค่าแยกกันได้สำหรับแต่ละภาษา การสนับสนุน ตัวอย่างเช่น ตัวแทนอาจระบุข้อความต้อนรับเป็นภาษาอังกฤษสำหรับ "en" และมีข้อความต้อนรับเดียวกันเป็นภาษาสเปนสำหรับ "es" ภาษา Business Messages จะแก้ไขการจับคู่ระหว่างภาษาที่อุปกรณ์ของผู้ใช้รายงานกับ ภาษาที่ตัวแทนหรือสถานที่ตั้งแต่ละแห่งมีการตั้งค่าสำหรับการสนทนา
ระบบจะรายงานการจับคู่ภาษานี้ในแต่ละข้อความ resolvedLocale
คุณ
สามารถระบุ defaultLocale
ของตัวแทนหรือสถานที่ตั้ง ซึ่งแก้ไขน้ำหนักแล้ว
การจับคู่ภาษา ดูการแปลและ
ภาษา
Business Messages จะใช้ภาษาที่แก้ไขแล้วเพื่อระบุว่าเป็นการสนทนาใด การตั้งค่าที่จะใช้
ข้อความต้อนรับ
ข้อความแรกในการสนทนาระหว่างตัวแทนและผู้ใช้คือ ข้อความต้อนรับ ข้อความต้อนรับจะปรากฏขึ้นโดยอัตโนมัติหลังจากที่ผู้ใช้เริ่ม การสนทนาใหม่ ข้อความต้อนรับที่ดี ระบุความคาดหวังของผู้ใช้ในการโต้ตอบกับตัวแทน วิธีแก้ไขข้อความต้อนรับ โปรดดูอัปเดตการตั้งค่าการสนทนา
ข้อความเริ่มการสนทนา
ขณะที่ข้อความต้อนรับที่ดีจะครอบคลุมการทำงานของตัวแทนในระดับสูง เป็นคำถามปลายเปิด ข้อความเริ่มการสนทนาที่ดี แนะนำผู้ใช้เกี่ยวกับคำถามที่พบบ่อยหรือฟังก์ชันการทำงานที่ทราบ
ข้อความเริ่มการสนทนาจะปรากฏเป็นรายการแนะนำแบบเรียงซ้อนในแนวตั้ง ตอบกลับและทำตามข้อความต้อนรับโดยตรง เมื่อผู้ใช้แตะการสนทนา เงื่อนไขเริ่มต้น Agent จะได้รับเนื้อหาและข้อมูลระบบรายงานผล Conversion ที่กำหนดไว้ล่วงหน้าซึ่งคุณตั้งค่าไว้ เมื่อระบุเงื่อนไขเริ่มต้น
หากตัวแทนรองรับฟังก์ชันการทำงานอัตโนมัติสำหรับคำขอบางอย่าง ข้อความเริ่มการสนทนาอาจจับคู่กับคำขอเหล่านั้น เพื่อให้คุณอาศัยข้อมูลที่ เพื่อการทำงานอัตโนมัติ และส่งคำถามของผู้ใช้รูปแบบอิสระไปยังตัวแทนแบบเรียลไทม์ที่พร้อม คำตอบ
Agent จะมีข้อความเริ่มการสนทนาได้สูงสุด 5 รายการ และเงื่อนไขเริ่มต้นแต่ละรายการสามารถ มีอักขระได้สูงสุด 35 ตัว
หากต้องการเพิ่มหรือแก้ไขข้อความเริ่มการสนทนา โปรดดูหัวข้ออัปเดตการสนทนา การตั้งค่า
ข้อความออฟไลน์
เมื่อผู้ใช้เริ่มต้นการสนทนากับตัวแทนที่อยู่นอกเหนือปฏิบัติงานของตัวแทน
ชั่วโมง (ตามที่กำหนดโดย
MessagingAvailability
),
ผู้ใช้จะได้รับข้อความออฟไลน์ของตัวแทน ตัวแทนที่เป็นมนุษย์เท่านั้น
ระบบจะพิจารณาความพร้อมจำหน่ายสินค้าเมื่อทริกเกอร์ข้อความออฟไลน์ ตัวแทนที่มีเพียง
ให้ตัวแทนบ็อตส่งข้อความต้อนรับเสมอ ข้อความออฟไลน์ที่ดี
- แชร์สาเหตุที่ตัวแทนไม่พร้อมให้บริการ
- แนะนำผู้ใช้เกี่ยวกับขั้นตอนถัดไปหรือช่องทางการติดต่ออื่นๆ ที่เหมาะสม
- เหมาะกับน้ำเสียงของข้อความต้อนรับและคำเริ่มการสนทนา
ข้อความออฟไลน์ไม่ดี
"ขออภัย เราปิดแล้ว"
ข้อความออฟไลน์ที่ดี
"เราปิดทำการอยู่ในขณะนี้ แต่จะกลับมาให้บริการอีกครั้งในวันพรุ่งนี้เวลา 8 โมงเช้า ถ้า ถ้าต้องการความช่วยเหลือเร่งด่วน โปรดติดต่อฝ่ายสนับสนุนที่ +12223334444 หรือ support@gtb.com"
หากต้องการแก้ไขข้อความออฟไลน์ โปรดดูหัวข้ออัปเดตการตั้งค่าการสนทนา
อัปเดตการตั้งค่าการสนทนา
หากต้องการจัดการข้อความต้อนรับหรือข้อความเริ่มการสนทนา คุณต้องส่งคำขอ Patch
ด้วยฝ่ายการสื่อสารทางธุรกิจ
API
เพื่ออัปเดตช่อง conversationalSettings
ของตัวแทนหรือสถานที่
เมื่ออัปเดตช่อง conversationalSettings
คุณต้องระบุค่าสำหรับ
ฟิลด์ทั้งหมดใน
ConversationalSetting
ออบเจ็กต์ คำขออัปเดตจะเขียนทับเนื้อหาในทุกช่องที่คุณแก้ไข ซึ่งรวมถึง
ช่องย่อยใดก็ได้ เช่น หากคุณส่งคำขอให้แก้ไขข้อความต้อนรับ
แต่อย่าใส่ข้อความเริ่มการสนทนา คำขอจะนำรายการก่อนหน้าออก
ข้อความเริ่มการสนทนา
ข้อกำหนดเบื้องต้น
ก่อนอัปเดตการตั้งค่าการสนทนา คุณต้องมีสิ่งต่อไปนี้
- เส้นทางไปยังคีย์บัญชีบริการของโปรเจ็กต์ GCP ในเครื่องพัฒนา
- ภาษาที่คุณต้องการอัปเดตการตั้งค่า
สำหรับการตั้งค่าระดับตัวแทน ให้ตัวแทน
name
(เช่น "brands/12345/agents/67890")หากคุณไม่รู้จัก
name
ของตัวแทน โปรดดูที่แสดงตัวแทนทั้งหมดสำหรับ แบรนด์สำหรับการตั้งค่าระดับสถานที่ตั้ง ให้เลือกสถานที่ตั้ง
name
(เช่น "brands/12345/locations/67890")หากคุณไม่ทราบ
name
ของตำแหน่ง โปรดดูแสดงรายการสถานที่ทั้งหมดสำหรับ แบรนด์ภาษาที่จะอัปเดต เป็นภาษา ISO 639-1 แบบ 2 อักขระ โค้ด
ข้อความต้อนรับใหม่
URL นโยบายความเป็นส่วนตัว
(ไม่บังคับ) ข้อความสำหรับเริ่มการสนทนา
(ไม่บังคับ) ข้อมูลระบบรายงานผล Conversion สําหรับข้อความเริ่มการสนทนา
(ไม่บังคับ) ข้อความออฟไลน์ใหม่
หากคุณไม่ทราบค่า conversationalSettings
ปัจจุบัน โปรดดูที่รับตัวแทน
ข้อมูล
และดูข้อมูลสถานที่ตั้ง
ส่งคำขออัปเดต
หากต้องการอัปเดต Agent หรือตำแหน่ง ให้เรียกใช้คำสั่งต่อไปนี้ แทนที่ตัวแปร ด้วยค่าที่คุณระบุในข้อกำหนดเบื้องต้น
หากไม่ต้องการเริ่มการสนทนา ให้ข้าม conversationStarters
และทั้งหมด
ช่องย่อย
การตั้งค่าระดับตัวแทน
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)
การตั้งค่าระดับสถานที่ตั้ง
# 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" } } } ] } } }'
สำหรับข้อมูลการจัดรูปแบบและค่า โปรดดู
brands.agents.patch
brands.locations.patch
,
และ
ConversationalSetting
ตัวอย่าง
การตั้งค่าระดับตัวแทน
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', }, }, }, ], }, }, }, }"
การตั้งค่าระดับสถานที่ตั้ง
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', }, }, }, }, ], }, }, }"