У меня возникают трудности при получении twilio flex для показа сообщений, созданных с использованием API с использованием node.js.
Я создаю канал, добавляю участника, создаю сообщение на канале с использованием члена.
Гибкая панель инструментов показывает входящий запрос чата в списке задач, я могу ответить на запрос чата, но ни одно из сообщений, сохраняемых на канале, не отображается.
Интересно, если я используюСценарий twilio-flex-webchat.min.js и инициируйте чат с веб-страницы, а затем получите ChannelSid для этого разговора (используя https://chat.twilio.com/v2/Services/ISXXXX/Channels). Я могу использовать API для создания сообщений для этого канала, и они появляются наflex dashboard. Но мне нужно, чтобы все это работало через node.js.
Я сравнил объекты twilio задачи, канала, резервирования, члена и сообщения как для чатов, используя twilio-flex-webchat.min.jsвеб-библиотека и объекты, созданные с помощью кода node.js. Я не могу найти заметных отличий.
У кого-нибудь есть идеи?
Вот мой код.
const accountSid = 'ACXXXXXXXXXX';
const authToken = 'XXXXXXXXXXXXXXXX';
const workspaceSid = 'WSXXXXXXXXXXXXXXXx';
const workFlowSid = 'WWXXXXXXXXXXXXXXXXXXXXXX';
const serviceSid = 'ISXXXXXXXXXXXXXXXXXXXXXX';
const client = require('twilio')(accountSid, authToken);
(async () => {
//create channel
let channel = await client.chat.services(serviceSid)
.channels
.create({
attributes: JSON.stringify({
status: "ACTIVE",
from: "Some Person",
channel_type: "web"
}),
workflowSid: workFlowSid,
taskChannel: 'chat',
friendlyName: 'Flex WebChat',
type: 'private'
});
//create a member in this channel
let member = await client.chat.services(serviceSid)
.channels(channel.sid)
.members
.create({ identity: 'WEB_CLIENT' });
//post a message to this channel from the member
let message = await client.chat.services(serviceSid)
.channels(channel.sid)
.messages.create({ body: 'This is a test message', to: channel.sid, from: 'WEB_CLIENT' });
//create a task for my programable chat channel and associate the channel sid for my current conversation
let task = await client.taskrouter.workspaces(workspaceSid)
.tasks
.create({
attributes: JSON.stringify({
channelSid: channel.sid,
channelType: "web"
}),
workflowSid: workFlowSid,
taskChannel: 'chat',
});
})();
Спасибо