首页 > 解决方案 > 使用 Zapier Json 对象数组触发多个 webhook

问题描述

我在通过 Zapier 触发多个 webhook 时遇到问题,就像Zapiers 网站上解释的那样 有人设法使用此功能吗?

我正在尝试创建“一组格式正确的 JSON 对象”。为了能够在下一步中选择它作为数据源,它需要是一个简单的数组(这就是我将数组内的 json 字符串化的原因)。

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

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

output = {jsonArrayOut: jsonArray};

这是 Zapier 中自定义 webhook 请求的屏幕截图

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

这是我看到的结果

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

标签: arraysjsonwebhookszapier

解决方案


酷,所以你在这个评论中描述的应该是完全可能的。

您的 zap 将如下所示:

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

这利用了代码步骤的一个未记录的特性,如果它们返回数组,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 步中(无论如何您正在这样做),您将能够选择iddata作为可映射输入。当您设置 zap 时,您只会看到1123作为选项,但是当 zap 开启并真正运行时,步骤 3 将针对步骤 2 中返回的每个数组元素运行。


推荐阅读