풍부한 대화를 위한 이벤트 주고받기

Business Messages 대화에서 이벤트는 대화를 제공하고 이를 강화합니다. 사용자와 상담사 모두의 경험을 개선할 수 있습니다. 대상 사용자에게 이벤트가 대화 내에서 알림으로 표시되고 트리거됨 기반으로 결정됩니다. 상담사는 웹훅을 설정하고 API 호출로 이벤트를 전송합니다.

상담사는 사용자가 시작한 이벤트를 인지하고 대응할 수 있어야 합니다. 변경할 수 있습니다 예를 들어 사용자가 실제 상담사를 요청하지만 상담사가 처리할 수 없는 경우입니다. 요청에 긍정적이거나 부정적으로 반응하면 불량 사용자가 될 수 있습니다. 경험해 볼 수 있습니다

이벤트 유형

각 이벤트는 다음과 같이 특정 유형에 속합니다.

  • 실시간 상담사 요청 이벤트는 사용자가 말하고 싶어 함을 나타냅니다. 실제 상담사에게 직접 전달합니다

    상담사가 대화를 담당자에게 전환할 수 있는 경우 다음을 전송합니다. 담당자가 참여함 이벤트를 수신하면 있습니다.

    상담사가 대화를 담당자로 전환할 수 없는 경우 사용자에게 알리는 메시지를 전송하고 실제 상담사가 상담이 시작될 시간을 알립니다. 있습니다.

  • 담당자가 참여함/퇴장 이벤트는 실제 상담사가 참여하거나 나간 시점을 사용자에게 알립니다. 대화에서 나가기 이러한 이벤트는 대화에서 알림을 표시합니다. 응답성 및 광고 소재 유형에 대한 사용자 기대치를 설정하는 데 질문할 수 있습니다.

    대의원 입사함/퇴사한 사람

  • 입력 이벤트는 사용자 또는 상담사가 입력 중임을 나타냅니다.

    사용자의 경우 부울 isTyping는 입력 상태를 나타냅니다. 각 상태 새 이벤트를 트리거합니다

    에이전트는 TYPING_STARTEDTYPING_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