Кнопка отправки HTTP запросов

«Кнопка» является модификацией элемента «Панель с закладками».

  1. Позволяет отправлять http-запросы.
  2. Поддерживает методы:
  • POST;
  • GET;
  • PUT;
  • PATCH;
  • DELETE.
  1. Предусмотрена возможность использовать значения фильтров в качестве параметров запроса.
  2. Предусмотрена кнопка подтверждения отправки запроса с возможностью отправки текстового комментария.

Выбор и настройка элемента «Кнопка»

Чтобы создать «Кнопку» в отчете, нужно:

  • зайти в отчет на аналитическом портале;
  • перейти в режим конструктора (см. рисунок ниже, 1);
  • зайти в меню настройки элемента (см. рисунок ниже, 2);
  • в открывшемся окне настройки элемента выбрать тип отображения — «Панель закладок» (см. рисунок ниже, 3);
  • перейти во вкладку действие кнопки (см. рисунок ниже, 4)
  • выбрать из выпадающего списка Отправка запроса (см. рисунок ниже, 5);
  • выбрать тип запроса (см. рисунок ниже, 6);
  • включить флаг «подтверждение при отправке» (см. рисунок ниже, 7);
  • добавить URL (см. рисунок ниже, 8);
  • заголовки запроса (см. рисунок ниже, 9);
  • тело запроса (см. рисунок ниже, 10);
  • нажать кнопку «Сохранить» (см. рисунок ниже, 11) для сохранения настроек:

Детальная настройка кнопки

В действие кнопки имеются поля, которые необходимо настроить для корректной работы «кнопки»:

  • «Тип запроса» — позволяет выбрать метод запроса из выпадающего списка;
  • «URL запроса» — строка адреса, куда отправляется запрос;
  • «Заголовки запроса» — позволяют клиенту и серверу отправлять дополнительную информацию;
  • «Тело запроса» — непосредственно данные запроса.

Тип запроса:

  • POST;
  • GET;
  • PUT;
  • PATCH;
  • DELETE.

URL запроса

В данную область вводится URL для взаимодействия с API:

Пример URL: https://api.telegram.org/bot{token}/{method}.

Заголовки запроса

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

Пример заголовков:

[
   {
      "key":"Content-Type", 
      "val":"application/json; charset=utf-8"
   },
   {
      "key":"Accept-Encoding", 
      "val":"identity"
   }
]

Тело запроса

Данный блок заполняется данными, которые необходимо отправить в запросе

Пример тела запроса:

{    
     "startDate": "2020-12-31",
     "endDate": "2023-01-14",
     "comment" : "Комментарий"
}

Значения фильтров в качестве параметров запроса

Разработан механизм, позволяющий использовать значения фильтров в качестве параметров запроса. Необходимо сформировать ссылку на фильтр, путем написания наименования фильтра в двойных фигурных скобках {{Фильтр.Наименование Фильтра}}

  1. Если изменяемый параметр должен быть в строке URL, непосредственно в строке URL необходимо добавить ссылку на фильтр:
https://api.telegram.org/bot{{Фильтр.Наименование Фильтра 1}}/{{Фильтр.Наименование Фильтра 2}}
  1. Если изменяемый параметр должен быть в заголовках или теле запроса, к ключу добавляется ссылка на фильтр:
{
   "val_1": "{{Фильтр.Округ}}",
   "val_2": "{{Фильтр.Дата}}"
}
  1. Если значение параметра даты требует форматирования, необходимо использовать маску даты, для этого после ссылки на фильтр добавляется символ >>, затем в квадратных скобках вводится формат даты.

Подробнее о форматах даты: https://learn.microsoft.com/ru-ru/dotnet/standard/base-types/custom-date-and-time-format-strings.

Пример:

   "val_3": "{{Фильтр.Дата>>[DD.MM.YYYY]}}"
   "val_4": "{{Фильтр.Дата>>[YYYY-MM-DD]}}"
   "val_5": "{{Фильтр.Дата>>[DD.MM.YYYY HH:mm:ss]}}"
  1. Если значение параметра даты является периодом, т.е в фильтре используются даты начала и конца этого периода, необходимо использовать дополнительные обозначения к наименованию фильтра. Через точку добавляется признак Начало или Окончание периода, которые соответствуют значениям фильтра.

Пример:

   "val_6": "{{Фильтр.Дата.Начало}}"
   "val_7": "{{Фильтр.Дата.Окончание]}}"

Подтверждение отправки запроса

Для предотвращения случайных нажатий, реализован механизм подтверждения отправки запроса, который активируется одноименным флагом. Так же предусмотрена возможность включить опцию Комментарий, который может быть интегрирован в тело запроса, путем добавления ссылки на это поле {{comment}}.

Пример:

   "val_6": "{{Фильтр.Дата.Начало}}"
   "val_7": "{{Фильтр.Дата.Окончание]}}"
   "val_8": "{{comment}}"

Пример использования связки Аналитический портал — Modus ETL

Для интеграции аналитического портала и Modus ETL в последнем должны быть произведены настройки позволяющие принимать HTTP-запросы (ссылка на статью TO BE).

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

В URL для отправки запросов необходимо добавить учетные данные ETL, затем через @ адрес сервера, где развернут ETL, далее по шаблону указанному в инструкции (ссылка на статью TO BE):

http://[login]:[password]@[Адрес публикации]/hs/object/run

Заголовки и тело запроса заполняются согласно инструкции (ссылка на статью TO BE).