รับและส่งกิจกรรมเพื่อเสริมสร้างการสนทนา

ในการสนทนา Business Messages เหตุการณ์จะให้ข้อมูลและยกระดับประสบการณ์การสนทนาของทั้งผู้ใช้และตัวแทนด้วยการสื่อสารเนื้อหาที่ไม่ใช่ข้อความ สําหรับผู้ใช้ เหตุการณ์จะแสดงเป็นการแจ้งเตือนภายในการสนทนาและทริกเกอร์ตามการดําเนินการต่างๆ ที่ผู้ใช้อาจทํา ตัวแทนจะได้รับเหตุการณ์ที่เว็บฮุคและส่งเหตุการณ์ด้วยการเรียก API

ตัวแทนควรตระหนักถึงเหตุการณ์ที่เริ่มต้นโดยผู้ใช้และอาจตอบกลับได้ เช่น หากผู้ใช้ส่งคําขอ Live Agent แต่ตัวแทนตอบสนองคําขอในเชิงบวกหรือเชิงลบไม่ได้ จะทําให้ผู้ใช้ได้รับประสบการณ์ที่ไม่ดี

ประเภทกิจกรรม

แต่ละกิจกรรมเป็นของประเภทหนึ่งๆ

  • เหตุการณ์ตัวแทนแบบเรียลไทม์ที่ขอหมายความว่าผู้ใช้ต้องการพูดคุยกับตัวแทนแบบเรียลไทม์โดยตรง

    หากตัวแทนสามารถเปลี่ยนการสนทนาไปยังตัวแทนของมนุษย์ ให้ส่งเหตุการณ์ตัวแทนที่เข้าร่วมแล้วส่งข้อความต่อมาจากตัวแทนมนุษย์

    หากตัวแทนเปลี่ยนการสนทนาไปยังตัวแทนมนุษย์ไม่ได้ ให้ส่งข้อความเพื่อแจ้งให้ผู้ใช้ทราบว่าจะมีตัวแทนแบบเรียลไทม์เมื่อใด

  • เหตุการณ์ที่เป็นตัวแทนเข้าร่วม/ซ้ายจะบอกผู้ใช้เมื่อตัวแทนแบบเรียลไทม์เข้าร่วมหรือออกจากการสนทนา เหตุการณ์เหล่านี้จะแสดงการแจ้งเตือนในการสนทนาและช่วยสร้างความคาดหวังของผู้ใช้เกี่ยวกับการตอบสนองและประเภทของคําถามที่พวกเขาถามได้

    ตัวแทนเข้าร่วม/ซ้าย

  • เหตุการณ์การพิมพ์บ่งชี้ว่าผู้ใช้หรือตัวแทนกําลังพิมพ์อยู่

    สําหรับผู้ใช้ บูลีน isTyping จะแสดงสถานะการพิมพ์ การเปลี่ยนแปลงสถานะแต่ละรายการจะทริกเกอร์เหตุการณ์ใหม่

    ตัวแทนสามารถส่งเหตุการณ์ TYPING_STARTED และ TYPING_STOPPED เพื่อแสดงสัญญาณบอกสถานะการพิมพ์ในการสนทนาได้ การพิมพ์เหตุการณ์จากตัวแทนแจ้งให้ผู้ใช้ทราบว่าตัวแทนที่เป็นมนุษย์กําลังตอบกลับหรือระบบอัตโนมัติแบ็กเอนด์กําลังประมวลผลคําถามหรือคําขอ

    สัญญาณบอกสถานะการพิมพ์

ส่งกิจกรรม

หากต้องการส่งเหตุการณ์ ให้เรียกใช้คําสั่งต่อไปนี้ แทนที่รายการต่อไปนี้

  • CONVERSATION_ID กับตัวระบุการสนทนาที่คุณต้องการส่งแบบสํารวจ
  • EVENT_ID ที่มีตัวระบุที่ไม่ซ้ําสําหรับเหตุการณ์
  • PATH_TO_SERVICE_ACCOUNT_KEYที่มีเส้นทางไปยังคีย์บัญชีบริการ ในเครื่อง
  • EVENT_TYPE ที่มีค่าจาก EventType
  • REPRESENTATIVE_NAME ด้วยชื่อที่แสดงต่อผู้ใช้ของตัวแทนแบบเรียลไทม์หรือการทํางานอัตโนมัติที่สร้างเหตุการณ์
  • REPRESENTATIVE_TYPE ที่มีค่าจาก RepresentativeType
curl -X POST "https://businessmessages.googleapis.com/v1/conversations/CONVERSATION_ID/events?eventId=EVENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-messages" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businessmessages`" \
-d "{
  'eventType': 'EVENT_TYPE',
  'representative': {
    'avatarImage': 'REPRESENTATIVE_AVATAR_URL',
    'displayName': 'REPRESENTATIVE_NAME',
    'representativeType': 'REPRESENTATIVE_TYPE',
  },
}"

ดูตัวเลือกการจัดรูปแบบและค่าได้ที่ conversations.events

ตัวอย่าง: ส่งตัวแทนที่เข้าร่วมกิจกรรม

# 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 REPRESENTATIVE_JOINED event to the user.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/message/events#send

# 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__/events?eventId=6a0af2c6-787d-4097-870d-93fe20351747" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-messages" \
-H "$(oauth2l header --json ./service_account_key.json businessmessages)" \
-d "{
  'eventType': 'REPRESENTATIVE_JOINED',
  'representative': {
    'avatarImage': 'https://developers.google.com/identity/images/g-logo.png',
    'displayName': 'Chatbot',
    'representativeType': 'HUMAN'
  }
}"

รับเหตุการณ์

เมื่อผู้ใช้เรียกเหตุการณ์ให้แสดงในอุปกรณ์ ตัวแทนของคุณจะได้รับเหตุการณ์ที่เว็บฮุค รับและประมวลผลเหตุการณ์แบบเดียวกับที่รับข้อความ

เหตุการณ์ที่เริ่มต้นโดยผู้ใช้มีรูปแบบต่อไปนี้

{
  "agent": "brands/BRAND_ID/agents/AGENT_ID",
  "requestId": "REQUEST_ID",
  "conversationId": "CONVERSATION_ID",
  "customAgentId": "CUSTOM_AGENT_ID",
  "sendTime": "SEND_TIME",
  "userStatus": {
    "isTyping": "BOOLEAN",
    "requestedLiveAgent": "BOOLEAN",
    "createTime": "CREATION_TIME",
  }
}

ดูตัวเลือกการจัดรูปแบบและค่าได้ที่ UserMessage