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

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

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

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

Создать “Кнопку” в отчете:

  • Зайти в отчет на аналитическом портале;
  • Перейти в режим конструктора(см. Рисунок 1, 1)
  • Зайти в меню настройки элемента(см. Рисунок 1, 2)
  • В открывшемся окне настройки элемента выбрать тип отображения – “ПАНЕЛЬ ЗАКЛАДОК” (см. Рисунок 1, 3)
  • перейти во вкладку действие кнопки(см. Рисунок 1, 4)
  • выбрать из выпадающего списка Отправка запроса(см. Рисунок 1, 5)
  • выбрать тип запроса(см. Рисунок 1, 6)
  • включить флаг “подтверждение при отправке”(см. Рисунок 1, 7)
  • добавить URL(см. Рисунок 1, 8)
  • заголовки запроса(см. Рисунок 1, 9)
  • тело запроса(см. Рисунок 1, 10)
  • нажать кнопку [Сохранить] (см. Рисунок 1, 11) для сохранения настроек.

Рисунок 1. Настройка кнопки

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

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

  • Тип запроса - позволяет выбрать метод запроса из выпадающего списка
  • 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).