Я остановился на Azure Chat-Bot Framework. Интеграция SDK4 с живым агентским (человеческим) чатом через REST API с использованием Node.js.
- У меня есть REST API, который должен выполняться в определенном режиме.интервал для получения информации о чате и статусе агента-человека, и мне нужно отправить пользователю в виде сообщения чата.
- Еще один API REST, который снова отправит сообщение чата живому агенту от пользователя.
Я пытаюсь реализовать это в Azure Chat-Bot SDK V4. Метод водопада не удался.
async liveAgentMsg(step) {
var msgObjMessages = await getLiveAgentMessages(); // API call
if (msgObjMessages.length > 0) {
for(var i = 0; i < msgObjMessages.length; i++) {
var msgtype = msgObjMessages[i].type;
if ('ChatRequestSuccess' == msgtype) {
await step.context.sendActivity("Chat request success.");
} else if ('ChatEstablished' == msgtype) {
return await step.prompt('textPrompt', 'Live agent chat established.');
} else if ('ChatMessage' == msgtype) {
await step.context.sendActivity(msgObjMessages [i].message.text);
} else if ('ChatEnded' == msgtype) {
await step.context.sendActivity(msgtype);
return await step.endDialog();
} else {
await step.context.sendActivity(msgtype);
}
}
return await step.replaceDialog(SAME_DIALOG_ID);
} }
async chatMsg(step) {
if (step.result) {
var chatObj = await sendChatMessage(step.result); // API Call
if ("success" == chatObj) {
return await step.replaceDialog(SAME_DIALOG_ID);
} else {
await step.context.sendActivity(chatObj);
}
}
return await step.endDialog(); }
Заранее спасибо.