发送消息到Twilio Flex

时间:2019-01-12 00:55:55

标签: python twilio twilio-flex

只是为了让您了解我们正在尝试做的事情:我们有一个像聊天机器人一样工作的Python系统,可以自动回答一些问题,但是有时候我们需要将联系人发送到该服务一个接一个,我们需要使用Python在Flex中打开对话

我尝试了多种方法来将消息发送到Flex上的聊天,但是正如我之前说的,我们只能创建聊天,而不能向其中发送消息,更好的说法是,我们能够发送消息,但不能发送消息出现在Flex的聊天界面上(很奇怪)。我尝试了1)通过API使用常规方法,2)创建运行时函数(与通过API相同的结果,只是创建了一个聊天但没有消息出现),3)我尝试应用Twilio Sync,还有4)我尝试使用直接使用Twilio代理。

我可以获取所有创建的对象的sid并查看在Flex界面上创建的聊天,但是在Flex的UI上看不到发送给此聊天的消息。

event = {
    'from': 'phone_number_from',
    'to': 'flex_phone_number',
    'body': 'Testing'
}

attrs = get_channel_attrs(event.get('from'))

channel = get_or_create_chat_channel(event.get('from'), event.get('to'), attrs)

print('Channel created: %s' % channel.sid)

task = get_or_create_ongoing_tasks(event.get('from'), channel.sid)

print('Task created: %s' % task.sid)

message = send_message(channel=channel, from_=event.get('from'), body=event.get('body'))

print('Message created: %s' % message.sid)

-----------------------

Channel created: CH99b4831f********************
Task created: WTe8eee516********************
Message created: IM08884be42********************


2 个答案:

答案 0 :(得分:0)

您可能需要设置其他属性才能使聊天任务显示在Flex中。这是通过网络聊天和Taskrouter中的SMS通过Taskrouter属性的示例。这些任务都显示在Flex中。

网络聊天:

{"channelSid":"CHc7221e1c8ac04b4d9f45xxxxxxxxxxxx","name":"Jane","channelType":"web"}

短信:

{"channelSid":"CH86818963afed4d769fb3xxxxxxxxxxxx","endpoint":"sms","identity":"+15555555555","name":"+15555555555","title":"SMS request"}

答案 1 :(得分:0)

Aaron,我遇到了类似的问题,并试图查看Flex Create Chat功能,但它不存在。当我单击“创建函数”并按flex产品过滤时,仅提供blan函数模板,它将生成此函数代码:

exports.handler = function(context, event, callback) {
    let twiml = new Twilio.twiml.VoiceResponse();
    // twiml.say("Hello World");
    callback(null, twiml);
};