使用 Json 个对象的 Zapier 数组触发多个 webhook

Triggering multiple webhooks with Zapier array of Json objects

我在通过 Zapier 触发多个 webhook 时遇到问题,例如 explained on Zapiers website 有没有人设法使用此功能?

我正在尝试创建 "an array of properly formed JSON objects"。 为了能够 select 它作为下一步的数据源,它需要是一个简单的数组(这就是为什么我将数组中的 json 字符串化)。

这是我在 Zapier 代码中创建的 json 数组,试图用它来触发两个单独的 webhooks 被触发

var jsonArray = ['{"id":1,"data":111}','{"id":2,"data":222}'];

output = {jsonArrayOut: jsonArray};

Here is a screenshot of a custom webhook request in Zapier

无论我如何格式化数据,我总是收到一个请求,而不是两个。

This is the result I see

谁能告诉我我错过了什么?

根据文档:

You can send an array of properly formed JSON objects, and we will trigger the Zap once for each object in the array.

应用程序将能够解析 json 并理解其结构。把它做成一个字符串会使它丢失。

所以我猜想将它作为字符串发送可能行不通。应用程序将无法找到字符串中元素的数量,它会将整个字符串视为一个元素。

试试,

output  = [{"id": 1, "data": 111},{"id": 2, "data": 222}];

太棒了,所以你在 中描述的应该完全可行。

您的 zap 将如下所示:

  1. 触发器 - 新电子邮件
  2. 解析电子邮件,return {id, data} 的数组(见下文)
  3. 更新库存(将在第 2 步中对数组中的每个项目进行更新)

这利用了代码步骤的 功能,如果它们 return 数组,zap 分支和后续步骤 运行 多次。请注意,这里没有 UI,它看起来会令人困惑,但它 起作用。

您的 JS 代码将类似于以下内容:

// parse email code
// get items and their quantities
// return object that looks like this
return [{id: 1, data: 123}, {id: 2, data: 456}]

在第 3 步中(无论您如何操作),您将能够 select iddata 作为可映射输入。当你设置 zap 时,你只会看到 1123 作为选项,但是当 zap 打开并且 运行s 真实时,第 3 步将得到 运行 对于在步骤 2 中编辑的每个数组元素 return。