В беседах 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
.