Статьи по теме: App Integrator

Response

Общая информация


Во вкладке Response, настраивается парсер ответа на выполненный HTTP запрос, при необходимости. Созданные поля в этой вкладке, будут забирать значения из ответа и сохранять их в поля самой сущности.


В отличии от вкладки Request, в правом поле вместо инпута, выводится селект, в котором выбирается конкретное поле сущности




Content-type


Указывается формат ответа запроса, в котором он придёт. Доступны следующие варианты:


  • JSON


  • XML


  • urlEncoded


В Response формат запроса указывается отдельно, так как бывают случаи, когда запрос уходит в urlEncoded, а ответ приходит в JSON.


Ответ будет ожидаться строго в том формате, какой выбран в виджете, в случае если ответ придёт в другом формате, парсинг работать не будет.



Путь к массиву данных


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


Если данные в ответе приходят в таком виде:


{

"data":[

{

"name":"Иван",

"phone":"+79681112233"

}

{

"name":"Василий",

"phone":"+79681112244"

}

]

}


И необходимо получить оба объекта, то ставится галочка “Возвращать массив данных”, в поле указывается маппинг к нужному массиву, в данном случае это data. Далее в созданных полях, маппинг указывать можно уже без пути к этому массиву.


Так же, можно поставить галочку но оставить поле пустым, это означает, что данные приходят в корне массива, пример:

[

{

"name":"Иван",

"phone":"+79681112233"

}

{

"name":"Василий",

"phone":"+79681112244"

}

]


Триггер с такой настройкой, получив данный ответ, запустится ровно столько раз, сколько объектов придёт в ответе


Заголовки


При необходимости получения значения заголовков, в этой вкладке добавляются поля. В каждом поле слева указывается ключ, справа выбирается поле сущности, куда нужно сохранить полученное значение. Например, когда вам нужно получить значение заголовка


-H "dateTimeEvent: 2021-08-09 19:00:00"


В левом поле указывается ключ dateTimeEvent а в правом из селекта выбирается поле, куда надо сохранить значение:




Параметры


Добавляются поля, которые необходимо получить уже из самого тела запроса.


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


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


Например, если ответ выглядит таким образом:


{

"id": 12345,

"data":[

{

"name":"Иван",

"phone":"+79681112233"

}

{

"name":"Василий",

"phone":"+79681112244"

}

]

}


То указав путь к массиву, можно создать три поля. У поля, которое ловит значение id, галочку ставить не нужно, а у остальных галочку поставить необходимо:




Таким образом, данные будут получены два раза, каждый раз имя и телефон будут уникальные, а ID при этом в обоих случаях будет присвоен один, из корня ответа.


Если поле которое выбрано, куда сохраняется значение, будет с типом DateTime или Phone, то у такого поля появляется шестерёнка с дополнительными настройками, аналогично типам переменных из вкладки Request. Данные поля необязательные для заполнения, если их не заполнять, телефон придёт в таком виде, как его прислала система, а дата попытается автоматически преобразоваться в формат Y-m-d H:i:s, даже если придёт unixtime. Если формат даты нестандартный, необходимо прописать его формат

Последнее изменение: 28/11/2022

Была ли эта статья полезна?

Поделиться отзывом

Отменить

Спасибо!