Разработка API и Swagger UI для портала РАДО

Создание портала для управления предоставлением услуг содержания офисной недвижимости в ассоциации добросовестных налогоплательщиков
Разработка API и Swagger UI для портала РАДО

О портале

В ряду серьёзных проектов команды выделяется проект создания портала для ассоциации добросовестных налогоплательщиков, созданного при участии ФНС России. В частности, была спроектирована и реализована автоматизация подразделения ассоциации, которое занимается управлением предоставления услуг содержания офисной недвижимости. Т.е. нужно было упорядочить взаимодействие Заказчиков и Подрядчиков на этом рынке.

Что было сделано

Портал автоматизирует работу со множеством различных источников данных. Часть данных поступает от Заказчиков и Подрядчиков, часть данных – от ФНС, часть данных обрабатывается самой информационной системой РАДО. На начальном этапе работы информационный обмен между порталом и сторонними системами был выстроен на основе файлового обмена. В том числе были разработаны и реализованы специальные форматы файлов обмена на основе языка разметки XML. В процессе роста всего проекта и подключения к нему крупных игроков рынка фасилити менеджмента, как например Сбер, СпортМастер и так далее – встал вопрос о реализации обмена данными между информационной системой РАДО и внешними клиентами на основе современных протоколов обмена информации, т.е. на основе API.

Клиенты

Работа над API

После проведения исследования существующих решений и учитывая пожелания коллег – было принято решение реализовать API РАДО.РУС в формате Swagger. Это открытое программное решение, позволяющее организовать взаимодействие между информационными системами по API с учётом передовых практик взаимодействия и большого опыта международного сообщества.

В процессе реализации этого взаимодействия мы спроектировали, согласовали и разработали API, который позволяет выстроить более эффективное взаимодействие между информационной системой РАДО.РУС и внешними Клиентами. Реализованный набор методов и их параметров позволяет избавиться от медленного файлового обмена и оперативно обмениваться данными между ИС Заказчика и РАДО.РУС.

Технологии

Документация и тестирование

Использование инфраструктуры Swagger позволило создать комфортные условия для Клиентов уже на этапе тестирования взаимодействия между информационными системами. Для удобства работы Клиентов была предоставлена вся документация по API на удобном сайте.

Более того, на том же сайте с документацией была предоставлена возможность тестирования методов API и их параметров как с использование тестового, так и рабочего шлюза. На тестовом шлюзе были сформированы ограниченные тестовые наборы данных для проверки взаимодействия и отладки работы. Рабочий шлюз предоставляет полноценный доступ к реальным данным Компании в информационной системе РАДО.РУС.

Возможность тестирования методов API с использованием тестового и рабочего шлюза.
Использование инфраструктуры Swagger позволило создать комфортные условия для Клиентов уже на этапе тестирования взаимодейстия между информационными системами

Схема работы API

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

Клиент API выполняет специальным образом сформированный запрос на адрес шлюза. Предварительно осуществляется авторизация через логин и пароль активного пользователя API. Обработка всех запросов от клиентов к API происходит в файле роутера. При поступлении любого запроса - проверяются авторизационные данные пользователя. Если авторизовать пользователя удалось, то далее на основании состава запроса определяется какую функцию вызвать. До вызова функции проверяются обязательные параметры вызова. Если они корректны, происходит вызов соответствующей запросу функции. Функция выполняет определенные процедуры, используя API Bitrix для доступа к данным в БД. После обработки данных возвращается результат работы функции. Он приводится к принятому в API формату JSON и отправляется клиенту в ответе на вызов метода API.

Результат

Задача создания API к существующей информационной системе РАДО.РУС была успешно выполнена нашей командой. Возможность работы через API сразу выводит систему на новый уровень возможностей как в плане удобства работы, так и масштабирования. Потому, что работа по API с некоторых пор де-факто является обязательным условием развития современной информационной системы.

Требуется решение похожей задачи?
Оставьте заявку нашим специалистам.

Посмотрите наши последние проекты

Веб-приложение интерактивного голосования для онлайн-конференции СРО АКФО

Создание веб-приложения для баттл-сессии с возможностью запуска голосования за спикера
Веб-приложение интерактивного голосования для онлайн-конференции СРО АКФО

Учебный центр Олега Видякина

Сайт для Учебного центра во главе с "Владыкой Excel" Олегом Видякиным.
Учебный центр Олега Видякина
Мы используем Битрикс, а он использует файлы cookie. Они помогают улучшить ваше взаимодействие с сайтом. Ок