Generic selectors

Exact matches only

Search in title

Search in content

Post Type Selectors

Запрос (Request)

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

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

Метод запроса

Выбирается из списка, нужный метод отправки запроса. Доступные методы:

  • GET
  • POST
  • PUT
  • MERGE
  • PATCH
  • DELETE

URL запроса

Прописывается адрес ендпоинта, на который будет передан HTTP запрос. В это поле можно прописать как статичный текст, так и подставить динамические переменные (поля сущности), например передавать в урле определённые айдишники между слешами / /

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

URL должен быть обязательно валидным и начинаться с https:// или http://

Все GET параметры в урле (после символа ? ) будут проходить процедуру urlencode автоматически.

Content-type

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

  • JSON
  • XML
  • urlEncoded

В запросе автоматически подставится нужный заголовок Content-type

Авторизация

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

Заголовки

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

curl -H «Action: create»

Необходимо нажать кнопку Добавить поле , левое поле заполнить значением Action , правое значением create

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

Параметры

Является самим телом запроса. Каждое поле, которое будет тут добавлено, сформирует в выбранном формате и методе тело запроса. Если метод выбран GET, то все поля созданные на этой вкладке, автоматически добавятся в урл как GET параметры.

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

Важно в левом поле указывать маппинг правильно. Для примера возьмём JSON, если нужно заполнить переменную name и JSON выглядит так:

{

«name»:»Иван»

}

Ключ указывается name .

Если нужная переменная находится в объекте и нужно её заполнить, то путь к объекту указывается через точку. Пример JSON:

{

«contact»:{

«name»:»Иван»

}

}

Теперь, что бы заполнить переменную name, необходимо маппинг ключа в левом поле указать в таком виде contact.name

Если переменная находится в массиве объектов и при этом необходимо заполнить конкретный объект, то маппинг указывается через точку но с указанием позиции объекта в массиве (исчисление начинается с нуля). Пример JSON:

{

«contacts»:[

{

«name»:»Иван»

},

{

«name»:»Василий»

}

]

}

В данном случае, если необходимо заполнить name в первом объекте, маппинг указывается contacts.0.name , если необходимо заполнить второй объект, маппинг указывается contacts.1.name

Данный сценарий возможен, когда необходимо заполнить массив объектов, но при этом количество объектов в массиве предсказуемое, в ином случае, нужно в полях сущности создать строковую секцию и в параметрах создать поле, выбрав тип поле “Массив объектов”, тогда объектов будет создано столько, сколько их попадёт в саму строковую секцию

Пример заполнения:

Типы переменных

В правом поле, во вкладке параметры, выбирается тип переменной, в каком виде её нужно передать в запросе. Доступны следующие варианты:

  • String — Строка ””
  • Int — Целое число
  • Decimal — Дробное число
  • Boolean — Отправляется true/false
  • dateTime — Тип даты и времени. При выборе данного типа, мы запоминаем, что это поле является именно датой и временем и его необходимо дополнительно конвертировать в нужный формат. В шестерёнке появляются дополнительные поля, в которых можно указать формат и таймзону отправляемой даты, а так же окончательный формат переменной (int или string).
  • Phone — Ещё один внутренний тип. При выборе данного типа, в шестерёнке добавляются поля с форматом и окончательным типом переменной (int или string). В формате выбирается маска номера телефона, к которой номер будет приводиться всегда. Данный сценарий полезен, когда в API поле с телефоном необходимо передавать строгий формат (прим. +{{countryCode}}########## , выбрав такую маску в настройках, даже если в поле попадёт телефон в формате +7(968)111-22-33 то Albato автоматически его конвертирует в нужный формат для API
  • ObjectArray — Массив объектов, данный тип используется в паре со строковой секцией (которая создана в полях сущности). При выборе данного типа, в ключе указывается путь к самому массиву, в значении выбирается строковая секция.

Так же, у всех типов (кроме ObjectArray ) может быть дополнительный тип с +array на конце. Данный тип, означает что данные надо передавать в массиве элементов (прим. массив строк). То есть, если необходимо заполнить JSON в таком виде:

{

«tags»:[

«tag»,

«tag2»,

«tag3»

]

}

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

Так же, при выборе такого дополнительного типа, появляется дополнительное поле в шестерёнке, в котором нужно указать символ разделитель, между элементами массива (по дефолту символ ,)

Дата и время

Если необходимо передать в запросе дату и время, то выбирается нужный тип переменной. При данном выборе, у поля в шестерёнке появляется три дополнительных поля:

  • Тип — Окончательный тип переменной, в каком виде её нужно передать. Может быть как int (в таком случае идёт автоматическая конвертация в unixtime), так и string.
  • Формат — Необходимо заполнить формат даты, согласно правилам PHP. Дата, что попадёт в это поле (может быть как dd.mm.yyyy hh:mm:ss так и Y-m-d H:i:s), автоматически конвертируется в тот формат, который прописан в этом поле. Формат заполняется согласно PHP документации. То есть, если формат указан Y/m/d+H:i:s, то полученная дата 21.03.2021 19:00:00, придёт к виду 2021/03/21+19:00:00 и именно в таком виде будет передана в HTTP запросе
  • Временная зона — Выбирается часовой пояс даты. Любая дата и время, что попадёт в такое поле, будет сконвертировано в выбранную временную зону

Массив объектов

Тип переменной ObjectArray рассмотрим отдельно, так как он является как отдельной под сущностью вкладки запроса.

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

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

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

{

«items»:[

{

«name»:»Товар1″,

«quantity»:1

},

{

«name»:»Товар2″,

«quantity»:3

}

]

}

То у созданного поля с типом ObjectArray ключ маппинга прописывается items , у массива создаётся два поля и ключ у них прописывается name и quantity с выбором нужных типов переменных. В значения таких полей, кладутся поля сущности именно строковой секции, которая выбрана в поле — родителе.

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