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

时间:2019-06-17 04:40:37

标签: arrays json webhooks zapier

我在通过explained on Zapiers website之类的Zapier触发多个Webhook时遇到麻烦 是否有人设法使用此功能?

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

这是我在Zapier Code中创建的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

谁能告诉我我想念什么?

2 个答案:

答案 0 :(得分:0)

根据文档:

  

您可以发送一个格式正确的JSON对象数组,我们将   为数组中的每个对象触发一次Zap。

应用程序将能够解析json并了解其结构。使其成为字符串会使它丢失。

因此,我猜测将其作为字符串发送可能不起作用。该应用程序将无法找到字符串中元素的数量,它将整个字符串视为一个元素。

尝试

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

答案 1 :(得分:0)

很酷,所以您在this comment中所描述的完全应该可行。

您的zap将如下:

  1. 触发-新电子邮件
  2. 解析电子邮件,返回一个 Award {#692 ▼ #fillable: array:2 [▶] #connection: "mysql" #table: "awards" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] #perPage: 15 +exists: true +wasRecentlyCreated: false #attributes: array:5 [▶] #original: array:5 [▶] #changes: [] #casts: [] #dates: [] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #guarded: array:1 [▶] } 数组(见下文)
  3. 更新库存(在步骤2中将对数组中的每个项目进行更新)

这利用了代码步骤的undocumented功能,其中如果它们返回数组,则zap分支和后续步骤将运行多次。请注意,没有用于此的UI,它看起来会令人困惑,但是它起作用。

您的JS代码如下所示:

{id, data}

在第3步中(无论您如何执行),您都可以选择// parse email code // get items and their quantities // return object that looks like this return [{id: 1, data: 123}, {id: 2, data: 456}] id作为可映射输入。设置zap时,只会看到data1作为选项,但是当zap启用并真正运行时,第3步将为返回的每个数组元素运行第2步。