Получение данных из WEB-сервисов - База знаний Modus
Вместе с ETL поставляется модуль получения данных (см. раздел «Механизм извлечения данных с использованием обработок plug-in’ов (модулей получения данных)») из различных WEB-сервисов с помощью относительно простых http-запросов.
Предварительная настройка правила выгрузки
Для получения данных из web сервиса при помощи простого http запроса выполните следующие предварительные действия.
- Создайте «Установку правила выгрузки» с новым правилом выгрузки (см. раздел «Настройка выгрузки данных»).
- Задайте вид правила «Произвольный код» (см. раздел «Настройка правила вида «Произвольный код»»).
- Разверните вкладку формы «Произвольный код».
- Перейдите на вкладку «Данные модуля».
- В качестве модуля получения данных выберите «WEB-сервис». Если модуля «WEB-сервис» нет в списке, создайте его.
- Нажмите на кнопку «Сохранить».
- Откройте мастер настройки простого запроса кнопкой:


Создание модуля «WEB сервис»
Если модуля «WEB-сервис» нет в списке, создайте его.
- Нажмите на кнопку


- В открывшемся окне заполните поля, выбрав из выпадающего списка:
- Вид объекта обработки — выберите «Обработка конфигурации»;
- Обработка — нажмите на кнопку «Показать все» и в открывшемся окне выберите «Источник данных WEB сервис (обработка)».

- Укажите наименование модуля «WEB-сервис».
- Нажмите на кнопку «Записать и закрыть».

Описание настроек мастера
Далее настройте модуль, нажав на кнопку «Настройки модуля» на вкладке «Данные модуля».

В открывшейся форме заполните поля и настройте вкладки:

- Тип запроса — укажите тип запроса, выбрав «POST» или «GET».
- Строка запроса — введите URL ресурса в поле строки запроса; для GET-запроса добавьте параметры прямо в URL, если требуется
- Таймаут — настройте таймаут запроса в секундах, чтобы при превышении указанного времени соединение автоматически завершалось с ошибкой.
- Вкладка «Параметры» — для работы с параметрами запроса, представленными в формате таблицы «ключ-значение». Для GET-запроса синхронизируйте таблицу с URL сервиса: изменения в таблице автоматически обновят URL, а правки параметров в URL отразятся в таблице. Для POST-запроса используйте вкладку «Параметры» только при отсутствии тела запроса — в этом случае содержимое таблицы преобразуется в JSON-объект и размещается в теле запроса.
- Вкладка «Тело запроса» — укажите тело «POST-запроса.

- Вкладка «Заголовки» — таблица вида ключ-значение, содержит заголовки запроса.

- Кнопка «Типовые заголовки» — добавляет в таблице заголовков типовые заголовки.
- Вкладка «Куки» — таблица вида «ключ-значение», позволяет сопровождать запрос куками. Конвертирует содержимое таблицы в строку вида
key1=val1;key2=val2;key3=val3;....
- Вкладка «Редирект» — позволяет настроить параметры редиректа:
- Переключатель «Выполнять переход» — включает / отключает функцию редиректа;
- Параметр «Максимум переходов» — ограничивает количество переходов при редиректе;
- Переключатель «Использовать заголовки основного запроса» — позволяет использовать в запросах перехода заголовки от основного запроса;
- Переключатель «Использовать логин и пароль основного запроса» — позволяет использовать в запросах перехода параметры аутентификации основного запроса.

- Вкладка «Авторизация» — позволяет настроить параметры авторизации для запроса.
Поддерживаемые варианты:
- «Авторизация на веб-сервере» — укажите логин и пароль.
- При условии требований системы безопасности источника используйте заранее полученный токен для настройки запроса. Укажите имя ключа токена и определите место его размещения, выбрав между телом запроса или заголовками.

- Токен получаемый предварительным запросом. Для этого варианта использования токена, нужно:
- в секции «Получение»:
- активируйте опцию, включив переключатель «Требуется автоматическое получение токена»;
- выберите тип запроса авторизации, указав «GET» или «POST»;
- указать URL запроса;
- при необходимости задайте значение логина, укажите имя ключа логина и определите место его расположения;
- аналогично настройте значение пароля, указав имя ключа пароля и место его размещения;
- определите имя ключа для параметра, в котором будет содержаться токен, и укажите, где он должен располагаться.
- в секции «Использование» задайте имя ключа для полученного токена и укажите его местоположение при выполнении запроса.
- в секции «Получение»:
Правило
![]()
Нижняя часть окна мастера отведена под функции работы с правилом разбора данных (см. раздел «Загрузка JSON файлов»).
По кнопке «Открыть в конструкторе» мастер выполнит запрос по ранее настроенным параметрам и откроет полученные данные в конструкторе в режиме просмотра.
Если необходимо выполнить тестовый запрос нужно нажать кнопку: ![]()
Если запрос выполнится без ошибок, то мастер предложит сохранить полученные данные в файл.
Если во время выполнения запроса произошла ошибка — будет выведен лог исполнения вместе с подробным описанием ошибки.
Переключатель
в верхней части окна, позволяет выполнять тестовые запросы в режиме отладки, при котором подробно фиксируются все параметры запроса, и по окончании выполнения показывается окно с полным списком имеющихся параметров.
Окно отладки:

Лог отладки
Лог отладки — инструмент для детального анализа процесса выполнения web запроса. Имеет в своём составе следующие компоненты:
- «Консоль лога» — список событий с описаниями;
- «Просмотр значений» — окно просмотра значения отдельных элементов запроса (тело запроса, тело ответа, заголовки запроса, заголовки ответа). Для отображения в окне просмотра значения, его нужно выбрать в списке запросов;
- «Ответ как веб документ» — диалог для просмотра тела ответа в окне встроенного браузера;
- «Список запросов» — таблица в которой строки — отдельные запросы, а колонки — значения элементов запроса доступные для просмотра (тело запроса, тело ответа, заголовки запроса, заголовки ответа). Для запроса без редиректа содержит одну строку. Если был осуществлён переход по адресам редиректа, то для каждого перехода (запроса) будет отдельная строка.
Повторное использование настроенного правила запроса к WEB-сервису
По завершению этапа подготовки запроса к web сервису, необходимо настроить поля, которые впоследствии станут колонками в таблице хранилища. Эта таблица предназначена для хранения данных полученных из WEB-сервиса.
Настройка повторной выгрузки
- Находясь в подготовленном окне запроса к WEB-сервису, нажмите на кнопку «Открыть в конструкторе» (см. раздел «Конструктор правил разбора JSON»), настройте поля и сохраните правило разбора.
- Закройте окно «Конструктора» и окно «Источник данных: WEB-сервис».
- Перейдите на вкладку «Настройка параметров». Если всё настроено верно, в данной вкладке отображаются порядка 20 строк параметров.
Примечание — если строка три «ПравилоРазбора» пустая, перейдите в параметры и из выпадающего списка выберите настроенное ранее правило. - Далее настройте правило выгрузки (см. раздел «Настройка выгрузки данных»).
Настройка источника
В качестве источника данных для использования в составе выгрузки, необходимо применять настроенный заранее источник (см. раздел «Источники данных») и зарегистрировать этот источник в наборе.
Состав выгрузки
По завершению всех настроек, источник и правило получения данных объедините в состав выгрузки (см. «Настройка состава выгрузки данных»).

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