【问题标题】:How to offer a task to a specific worker on Twilio如何在 Twilio 上向特定工作人员提供任务
【发布时间】:2018-10-28 14:19:30
【问题描述】:

我正在使用 Twilio 的 TasksRouter。

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

我认为任务属性应该这样做,但即使我的任务具有 {user_id: 123} 等属性,该任务仍会提供给具有 {user_id: 999} 等属性的工作人员

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

谢谢!

【问题讨论】:

  • 嗨,Leo,你有没有在你的workflow 中设置一个条件来根据user_id 属性分配任务?
  • 我完全错过了!非常感谢您指出这一点。如果您愿意,请提交答案 - 我会将其标记为已接受。

标签: twilio twilio-api twilio-taskrouter


【解决方案1】:

这里是 Twilio 开发者宣传员。

为了将任务发送给特定的工作人员,您需要根据您为任务指定的user_id 属性来set up a condition in your TaskRouter workflow。您可以将其设置为匹配属性并将任务定向到仅由该工作人员管理的队列。

【讨论】:

    【解决方案2】:

    我通过使用reservation.created 事件来做到这一点。我使用标准工作流程和任务队列,然后以编程方式拒绝所有预订,直到通过正确的代理完成预订,然后我接受它。

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

    @app.route('/hook/reservation', methods=['POST'])
    def fn_th_reservation():
    
        task_attributes = json.loads(request.form['TaskAttributes'])
        channel_sid = task_attributes["channelSid"]
        worker_sid = request.form['WorkerSid']
        reservation_sid = request.form["ReservationSid"]
        workspace_sid = request.form["WorkspaceSid"]
        task_sid = request.form["TaskSid"]
    
        # implement app specific logic here. you can use channel_sid and
        # worker_sid to compare them to a mapping from you database for instance
        is_right_worker = ...
    
        reservation_status = 'accepted' if is_right_worker else 'rejected'
    
        client = Client(account_sid, auth_token)
        # accept or reject reservation
        reservation = client.taskrouter.workspaces(workspace_sid) \
            .tasks(task_sid).reservations(reservation_sid) \
            .update(reservation_status=reservation_status)
    
        print(reservation.worker_name)
        print(reservation.reservation_status)
    
        return('200')
    

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

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 2022-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多