Обмен с внешними сервисами

Имеется два внешних сервиса, с одного требуется забирать данные по REST, а в другой загружать данные через вебхук после обработки сценарием. Возможно ли это делать при помощи directual?

Спасибо!

Привет!

Да, можно.

Внешний REST-интерфейс можно дернуть из шага HTTP-request, он работает аналогично инструменту Postman. Последний иногда удобно бывает использовать для экспериментов с интеграциями – у него есть бесплатная версия.

Этот же шаг может слать данные после обработки на указанный URL webhook.

Супер, это то что надо :slightly_smiling_face:

Если можно, напишите поподробнее про работу с шагом HTTP-Request?

Я не очень понимаю как его обрабатывать на directual, если приведете пример - я все пойму. В документации и в видеоуроках нет примера, отсюда и вопрос.

У меня есть REST, который по запросу GET отдает JSON, данные которого я хочу записать в структуру для последующей обработки. Как это сделать?

Спасибо!

Последовательность следующая:

  1. HTTP-request дергает ваш REST, получает в ответ json, записывая его в поле типа json
  2. следующим шагом мы парсим этот json. Тут два варианта:
    – если json не содержит массива [ ], то применяем простой механизм шаблонизатора (в вебинаре есть пример https://youtu.be/gvlAKh0c-MM?t=417)
    – если json содержит массив [ ], который нужно разобрать на разные объекты, придется использовать JS SDK. Вот тут пример: Обращение к данным JSON с повторяющимся именем
  3. Когда хотим отправить JSON, то просто используем шаблонизатор, вписывая поля в текст json, который ловит ваш webhook
  4. пуляем кубиком HTTP-request собранный json.

В следующих релизах платформы мы реализуем более простой механизм работы с JSON, отдельным шагом в сценарии.

Если будут еще вопросы — welcome!

Спасибо большое за ответ! Все понял, правда сценарий почему то не работает. Не хотел засорять форум и попытался написать на почту feedback@directual.com , но она сломалась:

Напишу здесь:
Создал простой сценарий для GET запроса с последующей записью JSON в структуру, но при запуске ничего не происходит.
Расписание - запрос каждые 2 минуты.
Счетчики - нули, структура пустая.
Что я делаю не так?

Спасибо за фидбек про почту — пофиксили.

По вашему кейсу смотрите как получается:
Сценарий всегда работает с каким-то объектом.

Если сценарий работает по расписанию (например раз в 2 минуты), он раз в две минуты забирает всю структуру, на которую настроен и прогоняет ее объекты через себя. Если объектов в структуре 0, то и выполнится он ноль раз каждые две минуты.

Для вашего кейса можно сделать структуру с одним объектом (номинальным, с полем для записи ответа от API) и гонять этот сценарий, причем из него уже создавать шагом создания нового объекта объекты в соседней структуре, куда будем писать ответ.

Спасибо! Логику понял, реализовал, сценарий начал работать, но запрос выполняется с ошибкой которую непонятно как интерпретировать:
Скриншот 11-02-2020 012138

Ошибка в кубике “Http-request”. Я записываю данные от запроса в структуру с полем array для того что потом обработать и создать новый объект при помощи “create object”.

Сможете подсказать что значит ошибка?

Сложно сразу сказать.
Давайте сначала поймем, что запрос выполняется и ответ приходит. Я лично для этого пользуюсь Postman’ом или Paw — там удобная функциональность для экспериментов с API. По аналогии настраиваем шаг запроса в сценарии.
Ответ приходит в виде array – значения через запятую? Если нет, можно просто в string или json писать, а потом разбирать.

P.S. чтобы быстрее тестировать конкретный шаг есть механизм тестирования шага