В FastReport Online Designer Builder появилась возможность выполнить сборку дизайнера с помощью API. Ранее пользователям было необходимо вручную выполнять сборку в FastReport Online Designer Builder. Результат сборки можно было скачать в приложении или же получить на почту. Теперь вы можете автоматизировать этот процесс, чтобы обновлять FastReport Online Designer при изменении версии продукта. Для этого вам будет необходимо создать функционал, работающий с API и выполняющий разворачивание сборки дизайнера на ваших серверах. Как пример использования API - можно раз в сутки запрашивать версию продукта и, если она поменялась, автоматически запрашивать сборку. А уже после размещать у себя обновленный дизайнер.
Авторизация пользователя происходит с помощью API ключа, который вы можете создать в FastReport Online Designer Builder. Для создания ключа вам необходимо:
1) Войти в сервис сборки под своим аккаунтом.
2) Перейти в раздел “API Ключи” (находится при нажатии на три точки).
3) Нажать кнопку “+ Создать”.
После этого у вас будет создан новый API ключ. Вы можете кликнуть на ключ, чтобы скопировать его и использовать для авторизации в API.
Чтобы запросить сборку вам необходимо сделать POST запрос по адресу:
https://dsg2014.fast-report.com:3000/builderAPI/build
Тело запроса должно содержать как минимум ваш API ключ. Если параметр не указан – будет использоваться его значение по умолчанию!
Пример минимального запроса:
{ "APIkey": "Ваш API ключ" }
Ниже описаны параметры, которые принимает API для сборки.
Параметры |
|
Параметр |
Описание |
themes |
Тема, с которой будет выполнена сборка. |
Тип данных: строка |
|
Значения смотреть в таблице темы. |
|
components |
Компоненты, которые нужно включить в сборку. |
Тип данных: массив |
|
Значения смотреть в таблице компоненты. |
|
bands |
Бэнды, которые нужно включить в сборку. |
Тип данных: массив |
|
Значения смотреть в таблице бэнды. |
|
controls |
Контролы диалогового окна, которые нужно включить в сборку. |
Тип данных: массив |
|
Значения смотреть в таблице контролы. |
|
plugins |
Плагины, которые нужно включить в сборку. |
Тип данных: массив |
|
Значения смотреть в таблице плагины. |
|
customization |
Панели управления, которые нужно включить в сборку. |
Тип данных: массив |
|
Значения смотреть в таблице панели. |
|
config |
Конфигурация сборки |
Тип данных: объект |
|
Структуру объекта смотреть в таблице настройки. |
Темы |
|
Значение |
Описание |
none |
Не использовать тему |
classic |
Использовать классическую тему |
mini |
Использовать минималистичную тему |
Компоненты |
|
Значение |
Описание |
TextObject |
Текстовый компонент |
PictureObject |
Компонент рисунок |
ShapeObject |
Компонент фигуры |
PolygonObject |
Компонент полигон |
PolyLineObject |
Компонент ломаная линия |
LineObject |
Компонент линия |
SubreportObject |
Компонент вложенный отчет |
TableObject |
Компонент таблица |
MatrixObject |
Компонент матрица |
AdvMatrixObject |
Компонент продвинутая матрица |
BarcodeObject |
Компонент штрихкод |
RichObject |
Компонент форматированный текст |
CheckBoxObject |
Компонент флажок |
CellularTextObject |
Компонент текст в ячейках |
LinearGauge |
Компонент линейный датчик |
SimpleGauge |
Компонент простой датчик |
RadialGauge |
Компонент круговой датчик |
SimpleProgressGauge |
Компонент простой датчик прогресса |
HtmlObject |
Компонент HTML |
SVGObject |
Компонент SVG |
ContainerObject |
Компонент контейнер |
DigitalSignatureObject |
Компонент цифровая подпись |
MapObject |
Компонент карта |
Бэнды |
|
Значение |
Описание |
ReportTitleBand |
Заголовок отчета |
ReportSummaryBand |
Подвал отчета |
PageHeaderBand |
Заголовок страницы |
PageFooterBand |
Подвал страницы |
ColumnHeaderBand |
Заголовок колонки |
ColumnFooterBand |
Подвал колонки |
DataHeaderBand |
Заголовок данных |
DataBand |
Данные |
DataFooterBand |
Подвал данных |
GroupHeaderBand |
Заголовок группы |
GroupFooterBand |
Подвал группы |
ChildBand |
Дочерний бэнд |
OverlayBand |
Фоновый бэнд |
Контролы |
|
Значение |
Описание |
ButtonControl |
Кнопка |
CheckBoxControl |
Флажок |
CheckedListBoxControl |
Список с флажками |
ComboBoxControl |
Текстовое поле с выпадающим списком |
DateTimePickerControl |
Поле ввода даты |
LabelControl |
Надпись |
ListBoxControl |
Список |
MonthCalendarControl |
Календарь |
RadioButtonControl |
Переключатель |
TextBoxControl |
Текстовое поле |
Плагины |
|
Значение |
Описание |
CODE |
Страница с кодом |
GUIDES |
Направляющие линии |
POSITION_BLOCK |
Позиция компонента при перемещении |
RULER |
Линейка |
BAND_HORZ_RESIZER |
Изменение горизонтальной ширины бэндов |
HOTKEY |
Горячие клавиши |
CONTEXT_MENU |
Контекстное меню |
DBLCLICK |
Двойной клик |
Панели |
|
Значение |
Описание |
Properties |
Панель свойств |
Events |
Панель событий |
ReportTree |
Панель с древом отчета |
Data |
Панель с источниками данных |
Preview |
Панель с предпросмотром страниц |
Настройки |
|
Значение |
Описание |
features |
Тип данных: массив |
Список значений смотреть в таблице функции. |
|
entryName |
Тип данных: объект |
|
|
publicPath |
Тип данных: строка. |
Публичный путь до приложения на сервере. |
|
saveSuccessRedirect |
Тип данных: объект. |
|
|
customFonts |
Ссылка на шрифты |
API |
Тип данных: массив |
Список значений смотреть в таблице API. |
Функции |
||
Объект содержит ключ функции и флаг |
||
Значение |
Описание |
|
SHOW_BAND_TITLE |
Заголовок бэнда |
|
ADD_BANDS |
Добавление бэндов |
|
SORT_BANDS |
Сортировка бэндов |
|
RESIZE_BANDS |
Изменение размера бэндов |
|
CONFIRM_BEFORE_EXIT |
Подтверждение перед выходом |
|
MOVABLE_POPUPS |
Перемещаемые диалоговые окна |
|
REVISION_FILES |
Хеш в названиях файлов |
|
MINIFY |
Минификация кода |
|
ENABLE_PREVIEW_BUTTON |
Кнопка превью |
|
READONLY_MODE |
Заблокировать возможность редактирования |
|
AUTOSAVE |
Автоматическое сохранение |
API |
||
Объект содержит ключ API и ссылку |
||
Значение |
Описание |
|
API_SAVE_REPORT |
Сохранение отчета |
|
API_MAKE_PREVIEW |
Превью отчета |
|
API_GET_REPORT |
Получение отчета |
|
API_GET_FUNCTIONS |
Получение функций |
|
API_GET_CUSTOM_CONFIG |
Конфиг для приложения |
|
API_GET_CONNECTION_TYPES |
Типы подключений |
|
API_GET_CONNECTION_TABLES |
Таблицы подключений |
|
API_GET_CONNECTION_STRING_PROPERTIES |
Свойства строки подключения |
|
API_MAKE_CONNECTION_STRING |
Создание строки подключения |
|
API_GET_MSCHART_TEMPLATE |
Шаблон MSChart |
После запроса сборки вы получите UUID, с которым сможете проверить ее статус. Пример ответа:
{ "message": "Successfully queued", "code": 0, "payload": { "UUID": "25d36576-c5e2-49f4-8ab0-73838c457336" } }
Для проверки статуса сборки необходимо сделать GET запрос по адресу:
https://dsg2014.fast-report.com:3000/builderAPI/checkBuild/{apiKey}/{buildUUID}
В ссылке нужно указать ваш API ключ, использовавшийся для сборки и UUID, который вы получили при ее запросе.
Вы можете увидеть в ответе несколько статусов, в зависимости от того на каком этапе находится сборка.
1 (QUEUED) – Сборка запланирована и сейчас находится в очереди.
2 (PROCESSING) – Сборка началась, но все еще обрабатывается.
3 (BUILT) – Сборка завершена, вы можете скачать ее.
Пример ответа:
{ "code": 0, "payload": { "statusCode": 2, "statusText": "PROCESSING" } }
Если сборка завершена – в ответе вы получите ссылку на ее скачивание.
Для скачивания собранного приложения вам необходимо сделать GET запрос по адресу:
https://dsg2014.fast-report.com:3000/builderAPI/download/{apiKey}
В ссылке вам нужно указать ваш API ключ. В ответе на запрос вы получите файл архива с собранным приложением.
Для получения текущей версии приложения необходимо сделать GET запрос:
https://dsg2014.fast-report.com:3000/builderAPI/designer-version/{apiKey}
В ссылке вам нужно указать ваш API ключ. В ответе вы получите текущую версию FastReport Online Designer. Пример ответа:
{ "payload": { "version": "2023.1.3" }, "code": 0 }
Наша команда продолжит работу над улучшением клиентского опыта при работе с продуктами FastReport. По всем возникающим вопросам пишите в нашу поддержку support@fastreport.ru.