Запустите twilio flex chat, используя node.js - PullRequest
1 голос
/ 13 марта 2019

У меня возникают трудности при получении 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',
        });
})();

Спасибо

1 Ответ

0 голосов
/ 14 апреля 2019

Перед добавлением сообщения и созданием Задачи необходимо создать сеанс прокси, добавить участников в качестве участников и затем обновить атрибуты канала:

    {
      "status": "ACTIVE",
      "forwarding": true,
      "twilioNumber": firstParticipant.proxyIdentifier,
      "serviceNumber": someIdentity,
      "from": from,
      "channel_type": "sms",
      "proxySession": session.sid
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...