Twilio TaskRouter workers 对数组中对象中数据的匹配表达式
Matching expressions for Twilio TaskRouter workers on data in objects in arrays
我的 Twilio Taskrouter worker 的属性如下所示:
{
"name": "Bob",
"id": "45",
"roles": [
{ "id": "19", "name": "Foobar" },
{ "id": "20", "name": "Foobaz" }
]
}
我想编写一个队列表达式来仅匹配具有 id
为 20
的角色的 Workers。我该怎么做?
它看起来像...
"20" in roles.id
...但这不起作用。因为看起来 Taskrouter 不够聪明,无法“展开”id 并在其中进行匹配(就像使用像 jq
这样的工具)。我无法在 Twilio Taskrouter expression docs.
中找到解决方案
此处为 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
我的 Twilio Taskrouter worker 的属性如下所示:
{
"name": "Bob",
"id": "45",
"roles": [
{ "id": "19", "name": "Foobar" },
{ "id": "20", "name": "Foobaz" }
]
}
我想编写一个队列表达式来仅匹配具有 id
为 20
的角色的 Workers。我该怎么做?
它看起来像...
"20" in roles.id
...但这不起作用。因为看起来 Taskrouter 不够聪明,无法“展开”id 并在其中进行匹配(就像使用像 jq
这样的工具)。我无法在 Twilio Taskrouter expression docs.
此处为 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