Zapier - REST 挂钩触发器 - 如何在输出数据中包含可变大小的数组输出字段?

Zapier - REST hook trigger - How do you include a variable-size array output field in the output data?

对于我正在开发的 Zapier 应用程序,我正在配置一个 REST Hook 类型的触发器。

假设我的 API 发布了有关足球比赛的详细信息。我的 API 发布到 Zapier 的数据格式如下所示:

[{
"game_start_time": "2020-06-26",
"home_score": 2,
"away_score": 1,
"goals": [
   {
      "time": "45+2",
      "player_name": "Lionel Messi",
      "team": "home"
   },
   {
      "time": "65",
      "player_name":"Cristiano Ronaldo",
      "team": "away"
   },
   {
      "time": "90+5",
      "player_name": "Lionel Messi",
      "team": "home"
   }
],
"attendance": 76000,
"penalties": [
   {
      "time": "21",
      "player_name":"Cristiano Ronaldo",
      "type": "yellow",
      "reason": "diving" 
   }
]
}]

输出字段指定如下:

我希望能够允许我的应用程序的用户使用我的 API 中可用的所有输出字段,包括 goalspenalties。当我尝试指定这些输出字段时,似乎没有办法单独获取数组中的对象。

例如:

goals: [{
      "time": "45+2",
      "player_name": "Lionel Messi",
      "team": "home"
   },
   {
      "time": "65",
      "player_name":"Cristiano Ronaldo",
      "team": "away"
   },
   {
      "time": "90+5",
      "player_name": "Lionel Messi",
      "team": "home"
   }]
goals[]time: "45+2, 65, 90+5"
goals[]player_name: "Lionel Messi, Cristiano Ronaldo, Lionel Messi"
goals[]team: "home, away, home"

使用我的 Zapier App Trigger 的 Zap 似乎很难使用 penaltiesgoals,除非他们添加自己的自定义代码来解析我的 Trigger 的数据。

这是一个棘手的情况,我认为这与 Zapier 如何在整个 Zapier 中处理嵌套数组(在我们的平台上也称为“订单项”)的响应有关。也就是说,它本身并不是真正特定于您的 app/integration。

默认情况下,每个 key/value 都会变成一个字段。任何具有对象数组的键都会将各个字段作为“行项目”返回,这就是为什么您会看到诸如 goals[]Time 等内容的逗号分隔值。

就目前而言,您可以使用 https://zapier.com/help/create/format/get-started-with-formatter

中概述的行项目到文本格式化程序步骤

但在这种情况下,我建议将 Goals 和 Penalties 数组转换为顶级数组,其中所有数据都被展平并添加到触发器发送到操作步骤的对象中。作为开发应用程序的一部分处理触发器的结果时,您将需要执行此操作。