【问题标题】:Matching expressions for Twilio TaskRouter workers on data in objects in arraysTwilio TaskRouter 工作人员对数组对象中数据的匹配表达式
【发布时间】:2020-11-19 22:25:29
【问题描述】:

我的 Twilio Taskrouter 工作人员的属性如下所示:

{
  "name": "Bob",
  "id": "45",
  "roles": [
    { "id": "19", "name": "Foobar" },
    { "id": "20", "name": "Foobaz" }
  ]
}

我想编写一个队列表达式以仅匹配具有id20 角色的工人。我该怎么做?

它看起来像......

"20" in roles.id

...但这不起作用。似乎 Taskrouter 不够聪明,无法“展开” id 并在其中进行匹配(例如使用jq 之类的工具)。我在Twilio Taskrouter expression docs 中找不到解决方案。

【问题讨论】:

    标签: twilio twilio-api twilio-taskrouter


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    使用这样的数据,我找不到适合您的解决方案。我刚刚考虑的一种解决方法是向您的工作人员添加一个数组,例如,role_ids。您可以保留roles 的现有数组,但添加一个更简单的数据类型以用于表达式匹配。

    所以,属性应该是这样的:

    {
      "name": "Bob",
      "id": "45",
      "roles": [
        { "id": "19", "name": "Foobar" },
        { "id": "20", "name": "Foobaz" }
      ],
      "role_ids": ["19", "20"]
    }
    

    然后你可以使用表达式:

    "20" in role_ids
    

    【讨论】:

    • 感谢您的帮助。这是我最终使用的解决方案。但是能够查询嵌套结构肯定会很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多