通过编程创建的任务属性未显示在Twilio Flex中
我正在试验Twilio Flex。我们试图构建的是一个聊天(bot)应用程序,它集成了两个或三个参与者(user+cc-human-agent+chabot与user+cc-human-agent) 我能够加入Twilio聊天频道(来自基于Node.js启动的应用程序的web应用程序和利用npm包Twilio聊天的服务器端代码)。然后,我使用以下代码创建Flex任务:通过编程创建的任务属性未显示在Twilio Flex中,twilio,twilio-api,twilio-programmable-chat,twilio-functions,Twilio,Twilio Api,Twilio Programmable Chat,Twilio Functions,我正在试验Twilio Flex。我们试图构建的是一个聊天(bot)应用程序,它集成了两个或三个参与者(user+cc-human-agent+chabot与user+cc-human-agent) 我能够加入Twilio聊天频道(来自基于Node.js启动的应用程序的web应用程序和利用npm包Twilio聊天的服务器端代码)。然后,我使用以下代码创建Flex任务: let task = await twilioClient.taskrouter.workspaces(TWILIO_FLEX_
let task = await twilioClient.taskrouter.workspaces(TWILIO_FLEX_WORKSPACE)
.tasks.create({attributes: JSON.stringify({
type: 'support',
message: 'some message from chat here'
}),
workflowSid: TWILIO_FLEX_CHAT_WORKFLOW,
taskChannel: 'chat'
})
任务已成功创建并在Twilio Flex agent仪表板中弹出,但当我接受它时:
TASK CONTEXT
Task type
chat
Task created on
Wed Jan 23 2019 16:01:36 GMT+0100 (Central Europe Standard Time)
Task priority
0
Task queue
Everyone
CUSTOMER CONTEXT
Customer name / phone number
Anonymous
Country
ADDONS
No add-ons enabled. To expand your experience, visit Twilio Marketplace
我正在尝试做类似的事情(可编程聊天,Twilio Flex),以下是让我进入工作状态的原因:
//创建Twilio可编程聊天频道后,设置Studio webhook
app.post(“/create task”),函数(请求、响应){
//请参阅下面的完整代码
聊天服务频道
.创造({
//请参阅下面的完整代码
})
。然后(频道=>{
const webhookUrl=channel.links.webhooks;
常量选项={
网址:webhookUrl,
方法:“张贴”,
认证:{
用户:accountSid,
通行证:authToken
},
表格:{
类型:“工作室”,
“Configuration.FlowSid”:twillioflowsid
}
};
返回新承诺((解决、拒绝)=>{
post(选项、函数(错误、响应、正文){
如果(!错误){
解析(通道);
}否则{
拒绝(错误);
}
});
});
});
//请参阅下面的完整代码
});
reservation.accepted
事件手动将代理添加为频道的成员。您可以在底部的TaskRouter设置下添加回调
app.post(“/accept task callback”),函数(请求、响应){
const{tasktattributes,WorkerSid,WorkerName,EventType}=request.body;
const{channelSid}=JSON.parse(TaskAttributes);
日志(“接收到的事件”,EventType);
if(EventType!=“预订.已接受”){
回复。发送(“确定”);
返回;
}
log(“添加成员”、WorkerSid、WorkerName、“事件上”、EventType);
聊天室
.channels(channelSid)
.members.create({identity:WorkerName})
。然后(成员=>{
回复.发送({
指示:“接受”
});
})
.catch(错误=>{
控制台错误(error);
回复.发送({
说明:“拒绝”
});
});
});
这是一个完整的代码
//这是Express应用程序
app.post(“/create task”),函数(请求、响应){
const accountSid=process.env.TWILIO\u ACCOUNT\u SID;
const authToken=process.env.TWILIO\u AUTH\u令牌;
const workspaceSid=process.env.TWILIO\u WORKSPACE\u SID;
const workflowSid=process.env.TWILIO\u工作流\u SID;
const twillioflowsid=“FW…”
//启动对话的Twilio可编程聊天用户的身份。您可以通过登录或其他方式获得该身份
const username=request.body | |“Nancy Drew Support”;
聊天服务频道
.创造({
类型:“私有”,
friendlyName:用户名,
属性:JSON.stringify({
状态:“活动”,
发件人:用户名,
频道类型:“网络”
})
})
。然后(频道=>{
const webhookUrl=channel.links.webhooks;
常量选项={
网址:webhookUrl,
方法:“张贴”,
认证:{
用户:accountSid,
通行证:authToken
},
表格:{
类型:“工作室”,
“Configuration.FlowSid”:twillioflowsid
}
};
返回新承诺((解决、拒绝)=>{
post(选项、函数(错误、响应、正文){
如果(!错误){
解析(通道);
}否则
拒绝(错误);
}
}