如何向Twilio上的特定工作人员提供任务

如何向Twilio上的特定工作人员提供任务,twilio,twilio-api,twilio-taskrouter,Twilio,Twilio Api,Twilio Taskrouter,我用的是Twilio的TasksRouter 我的工作区中有3个TaskQueue,新任务正在转发到正确的TaskQueue,但我也希望将它们提供给该队列中的特定工作人员 我认为任务属性应该这样做,但即使我的任务具有{user\u id:123}等属性,任务仍然提供给具有{user\u id:999} 这是正确的方法吗?我还可以如何向特定员工提供任务 谢谢 这里是Twilio开发者福音传道者 为了将任务发送给特定的工作人员,您需要基于您给定任务的user\u id属性。您可以将其设置为与属性相匹

我用的是Twilio的TasksRouter

我的工作区中有3个TaskQueue,新任务正在转发到正确的TaskQueue,但我也希望将它们提供给该队列中的特定工作人员

我认为任务属性应该这样做,但即使我的任务具有
{user\u id:123}
等属性,任务仍然提供给具有
{user\u id:999}

这是正确的方法吗?我还可以如何向特定员工提供任务


谢谢

这里是Twilio开发者福音传道者

为了将任务发送给特定的工作人员,您需要基于您给定任务的
user\u id
属性。您可以将其设置为与属性相匹配,并将任务定向到仅由该工作人员负责的队列。

我使用事件完成了此操作。我使用标准工作流和任务队列,然后通过编程拒绝所有预订,直到使用正确的代理完成预订,然后我接受它

在Twilkio控制台的TaskRouter UI中,我在
reservation.created
事件上添加了一个webhook,指向我的服务器。然后按如下方式处理请求:

@app.route('/hook/reservation',methods=['POST'])
def fn_th_reservation():
task_attributes=json.loads(request.form['TaskAttributes'])
通道sid=任务属性[“通道sid”]
worker_sid=request.form['WorkerSid']
预订\ U sid=请求。表单[“ReservationSid”]
workspace_sid=request.form[“WorkspaceSid”]
task_sid=request.form[“TaskSid”]
#在此处实现特定于应用程序的逻辑。您可以使用通道sid和
#例如,worker_sid将它们与数据库中的映射进行比较
你说得对吗。。。
保留状态=“已接受”,如果保留状态正确,则为“已接受”,否则为“已拒绝”
客户端=客户端(帐户sid、身份验证令牌)
#接受或拒绝预订
reservation=client.taskrouter.workspaces(工作区\u sid)\
.tasks(task_sid).reservation(reservation_sid)\
.更新(预订状态=预订状态)
打印(预订.员工姓名)
打印(预订。预订状态)
返回('200')

只要确保你不会通过拒绝每个工人来创建一个无限循环

嘿,利奥,你有没有在你的系统中设置一个条件,根据
用户id
属性分配任务?我完全没有考虑到这一点!非常感谢你指出这一点。如果您愿意,请提交一份答案-我会将其标记为接受。