Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если беседа активна, события и сообщения от представителя службы клиентов отправляются в настроенную конечную точку webhook. Веб-хук необходим для получения обновлений в режиме реального времени в вашем канале обмена сообщениями.
Сервис повторяется три раза, при каждой попытке с 10-секундным тайм-аутом.
Endpoint
{webhook_url}/v3/conversations/{conversationId}/activities
Where
-
{webhook_url}— это базовый URL-адрес, настроенный в пользовательском канале. -
{conversationId}с уникальным идентификатором GUID активного разговора.
Метод
POST
Заголовки запросов
| Заголовок | Description |
|---|---|
| Authorization | Маркер носителя авторизации, полученный из зарегистрированного приложения Microsoft Entra. |
Замечание
Убедитесь, что вы настроили учетные данные федеративного удостоверения, чтобы этот заголовок был активен.
Политика повторных попыток
- Служба веб-перехватчика пытается выполнить задачу до трех раз.
- Каждая повторная попытка позволяет 10-секундный тайм-аут.
- После трех неудачных попыток дальнейшие повторные попытки не выполняются.
Полезные данные запроса
Нагрузки следуют схеме действий Bot Framework. Структура содержит содержимое сообщения, тип действия, сведения о отправителе и необязательные вложения.
Поля текста запроса
| Ключ уровня 1 | Ключ уровня 2 | Ключ уровня 3 | Description | Тип |
|---|---|---|---|---|
| Тип | Тип действия (сообщение, событие, ввод) | строка (максимум 256) | ||
| channelId | Идентификатор канала (например, "MessagingApi") | строка (максимум 256) | ||
| от | Объект Sender | object | ||
| ид | Идентификатор отправителя | строка (максимум 256) | ||
| имя | Отображаемое имя отправителя | строка (максимум 256) | ||
| разговор | ид | ИД разговора | строка (максимум 256) | |
| textFormat | Формат текста сообщения (Markdown) | строка (максимум 256) | ||
| attachments | [ ] | Список вложений (если таковые есть) | массив | |
| Тип контента | Тип MIME вложения | строка (максимум 256) | ||
| contentUrl | URL-адрес файла | string | ||
| содержимое | Обычно NULL | — | ||
| имя | Имя файла | строка (максимум 256) | ||
| thumbnailUrl | Обычно NULL | — |
Поддерживаемые типы действий
| Тип | Description |
|---|---|
| message | Стандартное текстовое или обогащенное сообщение |
| набор текста | Указывает, что агент или представитель службы поддержки (представитель службы или представитель) набирает текст. |
| событие | События уровня системы, такие как присоединение или закрытие |
Имена действия события
Следующие значения отправляются в поле названия активности событий:
- АгентПринят
- AgentEndSession
- ЗавершениеРазговораОсновнымАгентом
- Агент отключен
- AgentStartSecondaryChannel
- AgentRaiseSecondaryChannel
- AgentEndSecondaryChannel
- ЗавершениеРазговора
- SupervisorForceClosedConversation
- ConsultAgentInitiated
- Ошибка консалтингового агента
- ConsultAgentAcceptSession
- ConsultAgentEndSession
- ConsultAgentRejectSession
- Сеанс консультации с агентом истек
- ConsultAgentRemoved
- TransferToAgentInitiated
- TransferToAgentFailed
- TransferAgentAcceptSession
- TransferAgentRejectSession
- TransferAgentTimedOutSession
- AgentEndedConsult
- Агент присоединился к разговору с клиентом
- ConsultAgentLeftPublicConversation
- TransferToQueueInitiated
- TransferToQueueFailed
- CustomerDisconnected
- Клиент отключился, агент ожидает
- АгентНазначен
- Вне рабочего времени из-за нерабочих часов
- Вне рабочих часов из-за праздника
Примеры полезной нагрузки
Примеры полезных данных представляют различные типы действий в реальном времени, такие как сообщения, индикаторы ввода текста, события агентов и вложения, которые приложение отправляет в веб-перехватчик во время активного разговора.
Агент или представитель принят
{
"type": "message",
"channelId": "<custom channel Id GUID>",
"conversation": {
"id": "{conversation_id}"
},
"text": "EventName: **_AgentAccepted_**",
"name": "AgentAccepted"
}
Ввод данных агентом или представителем
{
"type": "typing",
"channelId": "MessagingApi",
"conversation": {
"id": "{conversation_id}"
},
"recipient": {
"id": "{recipient_id}"
}
}
Сообщение агента или представителя
{
"type": "message",
"channelId": "<custom channel Id GUID>",
"from": {
"id": "{sender_id}",
"name": "{sender_name}"
},
"conversation": {
"id": "{conversation_id}"
},
"textFormat": "markdown",
"text": "hello"
}
Агент/представитель отправляет вложение
{
"type": "message",
"channelId": "<custom channel Id GUID>",
"from": {
"id": "{sender_id}",
"name": "{sender_name}"
},
"conversation": {
"id": "{conversation_id}"
},
"textFormat": "markdown",
"attachments": [
{
"contentType": "image/jpeg",
"contentUrl": "{attachment_url}",
"content": null,
"name": "issue (1).jpg",
"thumbnailUrl": null
}
]
}
Агент/представитель закрыт
{
"type": "message",
"channelId": "<custom channel Id GUID>",
"from": {
"id": "{sender_id}"
},
"conversation": {
"id": "{conversation_id}"
},
"text": "EventName: **_AgentClosed_**",
"name": "AgentClosed"
}
Беседа закрыта
{
"type": "message",
"channelId": "<custom channel Id GUID>",
"from": {
"id": "{sender_id}"
},
"conversation": {
"id": "{conversation_id}"
},
"text": "EventName: **_ConversationClosed_**",
"name": "ConversationClosed"
}
Ответ
Код HTTP 200. Все данные, размещенные в тексте запроса, игнорируются.