Отправка дополнительных данных
Для отправки дополнительных данных при переводе на оператора в сценарии, необходимо добавить параметр customData
в ответе switch
.
Параметр customData
принимает JSON, например:
$response.replies.push({
type:"switch",
closeChatPhrases: ["/closeLiveChat", "Закрыть диалог"],
firstMessage: $client.history,
lastMessage: "Мы ждем вас снова!",
customData: {
"prechatDetails": [
{
"label": "Email",
"value": $client.email
}
]
}
});
Для передачи истории переписки клиента с ботом при переводе на оператора вы можете использовать обработчики preProcess и postProcess:
init:
$jsapi.bind({
type: "preProcess",
name: "savingVisitorChatHistory",
path: "/",
handler: function($context) {
$context.client.chatHistory = $context.client.chatHistory || [];
var chatHistory = $context.client.chatHistory;
if ($context.request.query) {
chatHistory.push({type: "Имя клиента", text:$context.request.query});
}
chatHistory.splice(0, chatHistory.length - 10);
}
});
$jsapi.bind({
type: "postProcess",
name: "savingBotChatHistory",
path: "/",
handler: function($context) {
$context.client.chatHistory = $context.client.chatHistory || [];
var chatHistory = $context.client.chatHistory;
if ($context.response.replies) {
$context.response.replies
.filter(function(val) { return val.type === "text"; })
.forEach(function(val) { chatHistory.push({ type:"BOT", text: val.text }); });
}
chatHistory.splice(0, chatHistory.length - 10);
}
});