问题标签 [twilio-taskrouter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
twilio - Twilio 任务路由器 - 根据年龄评估任务属性
在 Twilio 任务路由器中,如何根据年龄评估任务。对于客户要求在 5 分钟后致电的要求之一,因此在任务路由器中,如何在 5 分钟后而不是立即执行任务分配。
即task.age > 300。我已经在工作流程中尝试过,但是任务会立即分配给工作人员。
任何有关这方面的帮助都会很有用。
twilio - Twilio 任务预订未返回预订超时
我们目前正在使用 Twilio TaskRouter 实施一个新的联络中心。
所需的功能是:
通过任务分配 URL 呼叫可用的工作人员。
如果 Reservation 超时(Worker 没有应答),请将 Worker Activity 更改为 Offline。我们已经成功建立了这个场景,但我们面临的问题是,我们没有得到 reservation.timeout 事件。我们得到的是 reservation.canceled 事件,而不是超时。但是,当我们使用 Twilio Taskrouter JS 接受任务时,我们确实会遇到预订超时。我们在任务分配 URL 上使用“会议”指令。
twilio - Twilio TaskRouter 无服务器预留功能
有没有人完成或找到关于路由/接受任务路由器预订的指南?
示例流程:
呼叫 # > 由 Twilio Studio 接听并使用属性排队到 TaskRouter 工作区 > 任务路由器工作流关联到任务路由器队列并找到可用代理 > [我需要将此呼叫连接到工人属性,即他们的 sip:phonenumber
我试图避免使用 aws 服务器和 lambda,同时通过函数将整个编排保持在 twilio 本地。
twilio - Twilio Flex 使用自定义路由逻辑触发呼叫任务的热转移
我需要能够根据当前座席的特定按钮按下来转移正在进行的呼叫任务。这目前可以通过从 Action Framework调用TransferTask Flex 操作或通过在 Flex 中的任务上下文中对任务使用 transfer 方法来完成。
复杂性来自于确定任务需要转移给谁的逻辑。根据他们的技能和之前的分配,要转移到的代理列表从我们的后端 API 中按顺序排列。我们的 Flex 插件检索列表,使用即时查询仅针对当前可用的代理,然后需要:
- 尝试列表中的第一个代理 60 秒或直到他们拒绝转移
- 如果 60 秒已到或第一个代理拒绝转移,请立即尝试列表中的所有可用代理,直到其中一个接听
任务对象上的 TransferTask 操作和传输方法通过将当前任务更新为“正在传输”状态来工作,并且需要一个绕过任何 Taskrouter 工作流配置的传输目标(workerSid 或 queueSid),所以我不确定在这种情况下可以使用内置的传输机制。
我能想到的实现自定义路由逻辑的主要方式是创建一个新任务,这意味着 TaskRouter 工作流可以处理路由逻辑。但是,这也需要相当多的工作,例如:
- 替换转移任务的 AcceptTask Flex 操作以调用将第二个代理添加到会议并接受预订的函数
- 用于为第一个代理和第二个代理检索当前会议的参与者列表的自定义逻辑(默认情况下,如果另一个参与者以编程方式添加到与当前任务关联的会议,则 Flex TaskCanvas 不会显示所有详细信息)
- 用于将参与者开/关保持和从当前会议中删除参与者的自定义逻辑
- 客户挂机时处理任务完成的自定义逻辑(如果以编程方式添加第三个参与者并且客户挂机,则会议结束,但第二个(转移)任务仍处于已分配状态
- 如果第一个和转移代理都离开了会议,则用于完成会议的自定义逻辑(如果以编程方式添加了第三个参与者并且两个代理都离开了,则 2 个任务已完成,但会议仍然开放,其中有客户)。
- 等(我确定还有其他情况,例如第二个代理需要根据需要将客户转移到第三个代理,我还没有检查过)
理想情况下,我希望尽可能少地使用标准的 TransferTask 操作,但我不认为这是可行的。我认为我可以做的另一件事是在初始任务中设置一些属性,其中包含要转移到的第一个代理的详细信息以及合适的代理列表,以及:
- 触发向第一个代理的转移。如果不成功(不适用 60 秒超时),则:
- 触发转移到每个人队列,当在 Flex 中创建和接收预订时,如果接收预订的座席不在合适的座席列表中,则自动拒绝预订(这会导致 Flex 屏幕在预订出现,然后立即消失)。
与创建和管理全新任务相比,我是否缺少任何可以使实施自定义传输路由更容易的东西?
twilio - 使用 TaskRouter 出队调用的问题
我正在使用 Twilio 函数、Studio 和 TaskRouter。
场景:caller_1
来电。在任务队列中排队 > 分配回调运行并发出一个instruction: "call"
> 设置的电话号码to
被拨打。当一个新的呼叫进来时,它被排入队列。
分配回调.js:
我正在手动设置工作人员的可用性,url
并status_callback_url
防止在通话时接听新电话。
网址:agentAnswer.js
连接代理.js
status_callback_url: callStatusCallback.js
这是我收到错误的地方:队列中有四个呼叫者。每当已连接到工作人员的第一个呼叫者挂断时,队列中的所有呼叫者都会断开连接(直接转到语音信箱),最后一个呼叫者除外。最后一个呼叫者成功地拨打了出站电话,而不是排队的第二个呼叫者。
我已经尝试instruction: "redirect"
并使用<Dial>
inurl
连接到代理。并监听statusCallbackEvent: "initiated completed"
将工作人员活动分别设置为“通话中”和“可用”。使用这种方法,我也得到了相同的结果。
我会在这几个星期。谁能指出我在这里做错了什么?提前致谢!
twilio - 如何将电话号码与twilio中的回调任务相关联
我能够创建一个回调任务,但它没有将电话号码与其关联,这反过来又不会在 twilio flex 面板中显示回调按钮。
这是使用的 api: https ://taskrouter.twilio.com/v1/Workspaces/workspaceId/Tasks
这是发送的有效载荷。
那么是否可以创建一个与电话号码相关联的回调任务?
twilio - 由于 Taskrouter 不会在多任务模式下自动更新它,因此确定工作人员当前状态的最佳方法是什么?
Taskrouter 似乎将工作人员的活动状态留在空闲,即使他们正在通话(我们目前只使用语音)。我尝试禁用其他方法,以便只有语音处于活动状态,但结果是一样的。
我想以编程方式更改工作人员的状态,从空闲 > 保留 > 忙碌 > 总结当他们接听电话时,就像在多任务处理之前使用的那样。由于在路由的每一步都没有单独的回调,我正在考虑使用工作区的事件回调,但这对我的服务器来说似乎有很多额外的工作。有没有更好的方法来完成这项任务?
twilio - 当我调用 worker.completeTask 或 reservation.task.complete() 时,Twilio 的 taskrouter.js 会引发 CORS 策略错误
当代理完成呼叫后职责时,我试图以编程方式将 Taskrouter 任务从“包装”移动到“完成”。对工作人员或预留工作的其他方法调用,但在尝试调用worker.completeTask 或reservation.task.completed 时,我收到CORS 策略错误“不存在'Access-Control-Allow-Origin”标头。由于 taskrouter.js 是一个外部 Twilio 脚本,我无法更改它,有没有办法让它工作?