我在通过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
无论我如何格式化数据,我总是得到一个请求,而不是两个。
谁能告诉我我想念什么?
答案 0 :(得分:0)
根据文档:
您可以发送一个格式正确的JSON对象数组,我们将 为数组中的每个对象触发一次Zap。
应用程序将能够解析json并了解其结构。使其成为字符串会使它丢失。
因此,我猜测将其作为字符串发送可能不起作用。该应用程序将无法找到字符串中元素的数量,它将整个字符串视为一个元素。
尝试
output = [{"id": 1, "data": 111},{"id": 2, "data": 222}];
答案 1 :(得分:0)
很酷,所以您在this comment中所描述的完全应该可行。
您的zap将如下:
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 [▶]
}
数组(见下文)这利用了代码步骤的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时,只会看到data
和1
作为选项,但是当zap启用并真正运行时,第3步将为返回的每个数组元素运行第2步。