Zapier代码:触发多个Webhooks

时间:2018-06-24 14:35:13

标签: javascript webhooks zapier

我正在尝试根据JSON数组中的项目数发送多个webhook。我正在使用以下示例: https://nandovieira.com/using-postgresql-and-jsonb-with-ruby-on-rails

我尝试过,它几乎可以按计划工作。我有一个问题,当我有4个项目的JSON数组时,它将发送16个webhooks而不是4个。如果我有3个项目的JSON数组,它将发送9个webhooks而不是3个。

我使用inputData.items插入JSON数组。有谁知道为什么要对JSON数组中的项进行乘法运算?

我用过:

const elements = JSON.parse(inputData.items)
var body = elements;
var options = {
  "url": "URL.COM",
  "method": "POST",
  "headers": {'Content-Type': 'application/json'},
  "body": JSON.stringify(body)
},
requests = elements.map(mapDataToSettings);

function mapDataToSettings(elem) {
  var settings = Object.assign({}, options);
  settings.data = JSON.stringify(elem);
  return settings;
};

Promise.all(requests.map(grabContent))
.then(function(data){ callback(null, {requestsMade: data});});

function grabContent(options) {
  return fetch(options.url, options)
     .then(function(res) {return res.json();});
};

有人知道为什么我的网络狂热经常触发吗?

谢谢

1 个答案:

答案 0 :(得分:0)

Zapier Platform团队的David在这里。

很难确定没有看到您的zap,但是我猜您是从先前的Code步骤(以数组形式返回)中馈入.items吗?如果是这样,您将遇到一个未记录的代码功能,其中将对数组中的每个项目运行后续步骤。通常这是理想的,但是由于您正在代码中执行循环,因此不需要它。

假设是这种情况,您有两种选择:

  1. 从上一步返回sjon字符串(而不是数组),因此此代码步骤仅运行一次。
  2. 更改此代码以仅接收一项并对其执行请求。

如果发生其他情况,请使用zap id(不是敏感信息)更新您的问题,我可以看看!