Запуск нескольких веб-крючков с массивом объектов Json Zapier - PullRequest
1 голос
/ 17 июня 2019

У меня проблемы с запуском нескольких веб-крючков через Zapier, как объяснено на сайте Zapiers Кому-нибудь удалось использовать эту функцию?

Я пытаюсь создать «массив правильно сформированных объектов JSON».Чтобы иметь возможность выбрать его в качестве источника данных на следующем шаге, он должен быть простым массивом (вот почему я преобразую jsons в массив).

Вот массив json, который я создаю в коде Zapier.пытается использовать для запуска двух отдельных веб-крючков

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

output = {jsonArrayOut: jsonArray};

Вот снимок экрана пользовательского запроса веб-крючка в Zapier

Независимо от того, как я форматирую данные, явсегда получаю один запрос, а не два.

Это результат, который я вижу

Может кто-нибудь сказать, что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Круто, поэтому то, что вы описали в этом комментарии , должно быть вполне возможным.

Ваш зап будет следующим:

  1. Триггер - новое письмо
  2. Разбор электронной почты, возврат массива {id, data} (см. Ниже)
  3. Обновление инвентаря (произойдет для каждого элемента в массиве на шаге 2)

Здесь используется недокументированная функция шагов кода, при которой, если они возвращают массивы, ветви zap и последующие шаги выполняются несколько раз. Обратите внимание, что для этого нет пользовательского интерфейса, и это будет выглядеть запутанно, но будет работать.

Ваш 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 (как бы вы это ни делали) вы сможете выбрать id и data в качестве отображаемых входов. Когда вы устанавливаете zap, вы увидите только 1 и 123 в качестве параметров, но когда zap включен и работает по-настоящему, шаг 3 будет запущен для каждого элемента массива, возвращенного на шаге 2.

0 голосов
/ 17 июня 2019

По документам:

Вы можете отправить массив правильно сформированных объектов JSON , и мы будем вызвать Zap один раз для каждого объекта в массиве.

Приложение сможет анализировать json и понимать его структуру. Делая это как строку, вы теряете ее.

Так что я предполагаю, что отправка в виде строки может не сработать. Приложение не сможет найти количество элементов внутри строки, оно будет считать всю строку одним элементом.

Попробуйте,

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