Перейти к основному содержимому

TransferToOperator

Действие TransferToOperator позволяет перевести диалог на оператора платформы онлайн-чатов. Это может помочь в ситуациях, когда бот не справляется с текущим запросом без участия человека.

Перед тем как использовать этот тег, подключите к своему проекту один из операторских каналов.

подсказка
Если вы хотите переводить диалог на оператора без тегов действий, но из вставок JavaScript-кода, используйте ответы с типом switch в $response.replies.

Параметры

Все параметры этого тега необязательны.

ПараметрТипОписание
titleOfCloseButtonСтрокаТекст кнопки перевода диалога обратно на бота. С помощью этой кнопки пользователь может прекратить общение с оператором и вернуться к диалогу с ботом.
messageBeforeTransferСтрокаСообщение перед переводом на оператора. Должно оповещать пользователя, что сейчас с ним будет говорить оператор.
Если вы хотите использовать в сообщении HTML-разметку, вы можете не указывать этот параметр и использовать только messageBeforeTransferHtml.
messageBeforeTransferHtmlСтрокаСообщение перед переводом на оператора с использованием HTML-разметки.
Если вы не хотите использовать HTML-разметку, вы можете не указывать этот параметр и использовать только messageBeforeTransfer.
prechatAttributesОбъектИнформация о пользователе, которую необходимо передать оператору. Укажите значение в формате:
prechatAttributes =
{
"Ключ 1": "Значение 1",
"Ключ 2": "Значение 2"
}
• Ключ — название поля, которое ожидает операторский чат.
• Значение — информация, которую нужно передать оператору при переводе.
Параметр используется только для операторских каналов: Aimychat и LiveTex.
ignoreOfflineЛогическийОжидать ли свободных операторов. Определяет дальнейшие действия, если в момент перевода диалога нет свободных операторов:
• true — будет показано значение параметра messageForWaitingOperator или messageForWaitingOperatorHtml.
• false — произойдет переход в стейт из параметра noOperatorsOnlineState.
messageForWaitingOperatorСтрокаТекст, который будет отправлен пользователю перед ожиданием свободных операторов.
Если вы хотите использовать в сообщении HTML-разметку, вы можете не указывать этот параметр и использовать только messageForWaitingOperatorHtml.
messageForWaitingOperatorHtmlСтрокаТекст, который будет отправлен пользователю перед ожиданием свободных операторов, с использованием HTML-разметки.
Если вы не хотите использовать HTML-разметку, вы можете не указывать этот параметр и использовать только messageForWaitingOperator.
sendMessageHistoryAmountЧислоКоличество последних сообщений пользователя, которые будут переданы оператору.
Указывайте этот параметр, только если для параметра sendMessagesToOperator вы передали значение true.
sendMessagesToOperatorЛогическийПередавать ли оператору историю сообщений пользователя.
noOperatorsOnlineStateСтрокаСтейт, в который перейдет диалог, если на момент перевода диалога нет свободных операторов.
dialogCompletedStateСтрокаСтейт, в который перейдет диалог, когда диалог с оператором будет завершен. Диалог может завершить:
• клиент — по кнопке завершения диалога (параметр titleOfCloseButton);
• оператор, если такая опция есть в операторском канале.
actionsМассив объектовКнопки, которые будут отправлены вместе с запросом. Укажите значение в формате:
actions =
[{
"buttons": [{
"name": "Текст кнопки",
"transition": "/Путь до стейта"
}],
"type": "buttons"
}]
htmlEnabledЛогическийИспользовать ли HTML-разметку в сообщении перед переводом на оператора и ожиданием свободных. Определяет, значения каких параметров будут отображаться клиенту:
• true — будут показаны значения параметров messageBeforeTransfer и messageForWaitingOperator;
• false — будут показаны значения параметров messageBeforeTransferHtml и messageForWaitingOperatorHtml.
destinationСтрокаИдентификатор группы операторов, на которую нужно перевести диалог.
Параметр используется только для Aimychat и Operator API.

Использование в сценарии

state: Switch
intent!: /Перевод на оператора
TransferToOperator:
titleOfCloseButton = Переключить обратно на бота
messageBeforeTransfer = Подождите немного. Соединяю вас со специалистом.
ignoreOffline = false
messageForWaitingOperator = Вам ответит первый освободившийся оператор.
noOperatorsOnlineState = /Switch/Error
dialogCompletedState = /AnythingElse
sendMessageHistoryAmount = 5
sendMessagesToOperator = true

state: Error
a: К сожалению, все операторы сейчас заняты. Мы обязательно свяжемся с вами позже.
go!: /AnythingElse

state: AnythingElse
a: Могу ли я еще чем-нибудь вам помочь?