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

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

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

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

กิจกรรมแต่ละรายการจัดเป็นประเภทที่เฉพาะเจาะจง ดังนี้

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

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

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

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

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

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

    สำหรับผู้ใช้ บูลีน 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