FastReport Online Designer Builder now can build the designer using the API. Previously, users had to manually build in FastReport Online Designer Builder. You could download the result or receive it by mail. Now you can automate this process to update FastReport Online Designer if the product version changes. To do this, you need to create features that work with the API and deploy the designer build on your servers. As an example of using the API, you can request a product version once a day, and if it has changed, automatically request a build. And after that, host the updated designer.
A user is authenticated using an API key, which you can create in FastReport Online Designer Builder. To create a key, you need to:
1) Log in to the build service under your account.
2) Go to the "API Keys" section (located when clicking on three dots).
3) Click the ”+ Create" button
After that, you will have a new API key generated. You can click on the key to copy it and use it for authentication in API.
To request a build, make a POST request at:
https://dsg2014.fast-report.com:3000/builderAPI/build
The request body must contain at least your API key. If you don’t specify the parameter, its default Value will be used!
Minimum request example:
{ "APIkey": "Your API key" }
The parameters that the API accepts for build are described below.
Parameters |
|
Parameter |
Description |
themes |
The build theme. |
Data type: string |
|
See the values in the themes table. |
|
components |
Components to be included in the build. |
Data type: array |
|
See the values in the components table. |
|
bands |
Bands to be included in the build. |
Data type: array |
|
See the values in the bands table. |
|
controls |
The dialog box controls to be included in the build. |
Data type: array |
|
See the values in the controls table. |
|
plugins |
Plugins to be included in the build. |
Data type: array |
|
See the values in the plugins table. |
|
customization |
The control panels to be included in the build. |
Data type: array |
|
See the values in the panels table. |
|
config |
Build configuration. |
Data type: object |
|
See the object structure in the settings table. |
Themes |
|
Value |
Description |
none |
No theme |
classic |
Use classic theme |
mini |
Use minimal theme |
Components |
|
Value |
Description |
TextObject |
Text Component |
PictureObject |
Picture Component |
ShapeObject |
Shape Component |
PolygonObject |
Polygon Component |
PolyLineObject |
Polyline Component |
LineObject |
Line Component |
SubreportObject |
Subreport Component |
TableObject |
Table Component |
MatrixObject |
Matrix Component |
AdvMatrixObject |
Advanced Matrix Component |
BarcodeObject |
Barcode Component |
RichObject |
Rich Text Component |
CheckBoxObject |
Checkbox Component |
CellularTextObject |
Cellular Text Component |
LinearGauge |
Linear Gauge Component |
SimpleGauge |
Simple Gauge Component |
RadialGauge |
Radial Gauge Component |
SimpleProgressGauge |
Simple Progress Gauge Component |
HtmlObject |
HTML Component |
SVGObject |
SVG Component |
ContainerObject |
Container Component |
DigitalSignatureObject |
Digital Signature Component |
MapObject |
Map Component |
Bands |
|
Value |
Description |
ReportTitleBand |
Report Title |
ReportSummaryBand |
Report Summary |
PageHeaderBand |
Page Header |
PageFooterBand |
Page Footer |
ColumnHeaderBand |
Column Header |
ColumnFooterBand |
Column Footer |
DataHeaderBand |
Data Header |
DataBand |
Data |
DataFooterBand |
Data Footer |
GroupHeaderBand |
Group Header |
GroupFooterBand |
Group Footer |
ChildBand |
Child Band |
OverlayBand |
Overlay Band |
Controls |
|
Value |
Description |
ButtonControl |
Button |
CheckBoxControl |
Checkbox |
CheckedListBoxControl |
Checked List |
ComboBoxControl |
Text with Combobox |
DateTimePickerControl |
Date Time Picker |
LabelControl |
Label |
ListBoxControl |
List |
MonthCalendarControl |
Calendar |
RadioButtonControl |
Radio Button |
TextBoxControl |
Text Box |
Plugins |
|
Value |
Description |
CODE |
Page with Code |
GUIDES |
Guidance Lines |
POSITION_BLOCK |
Position of the component when moving |
RULER |
Ruler |
BAND_HORZ_RESIZER |
Band Horizontal Resizing |
HOTKEY |
Hot Keys |
CONTEXT_MENU |
Context Menu |
DBLCLICK |
Double Click |
Panels |
|
Value |
Description |
Properties |
Properties Panel |
Events |
Events Panel |
ReportTree |
Repot Tree Panel |
Data |
Data Panel |
Preview |
Page Preview Panel |
Settings |
|
Value |
Description |
features |
Data type: array |
See the list of values in the features table. |
|
entryName |
Data type: object |
|
|
publicPath |
Data type: string. |
Public path to the application on the server. |
|
saveSuccessRedirect |
Data type: object. |
|
|
customFonts |
Link to fonts |
API |
Data type: array |
See the list of values in the API table. |
Features |
||
Object contains feature key and checkbox |
||
Value |
Description |
|
SHOW_BAND_TITLE |
Band Title |
|
ADD_BANDS |
Adding bands |
|
SORT_BANDS |
Sorting bands |
|
RESIZE_BANDS |
Resizing bands |
|
CONFIRM_BEFORE_EXIT |
Confirm Before Exit |
|
MOVABLE_POPUPS |
Movable Popups |
|
REVISION_FILES |
Hash In File Names |
|
MINIFY |
Code Minification |
|
ENABLE_PREVIEW_BUTTON |
Preview Button |
|
READONLY_MODE |
Disable Editing |
|
AUTOSAVE |
Autosave |
API |
||
The object contains an API key and a link |
||
Value |
Description |
|
API_SAVE_REPORT |
Report saving |
|
API_MAKE_PREVIEW |
Report Preview |
|
API_GET_REPORT |
Getting report |
|
API_GET_FUNCTIONS |
Getting functions |
|
API_GET_CUSTOM_CONFIG |
Application Config |
|
API_GET_CONNECTION_TYPES |
Connection Types |
|
API_GET_CONNECTION_TABLES |
Connection Tables |
|
API_GET_CONNECTION_STRING_PROPERTIES |
Connection String Properties |
|
API_MAKE_CONNECTION_STRING |
Creating the Connection String |
|
API_GET_MSCHART_TEMPLATE |
MSChart Template |
After requesting a build, you will get a UUID to check its status. Example of the response:
{ "message": "Successfully queued", "code": 0, "payload": { "UUID": "25d36576-c5e2-49f4-8ab0-73838c457336" } }
To check the build status, make a GET request to:
https://dsg2014.fast-report.com:3000/builderAPI/checkBuild/{apiKey}/{buildUUID}
The link should contain your API key used for the build and the UUID you got when you requested it.
You can see several statuses in the response depending on the build stage.
1 (QUEUED) –The build is scheduled and is now queued.
2 (PROCESSING) –Build started but still processing.
3 (BUILT) – The completed, you can download it.
Example of the response:
{ "code": 0, "payload": { "statusCode": 2, "statusText": "PROCESSING" } }
If the build is completed, you will receive a download link in the response.
To download the built application, make a GET request to:
https://dsg2014.fast-report.com:3000/builderAPI/download/{apiKey}
Specify your API key in the link. In response to the request, you will receive an archive file with the built application.
Make a GET request to get the current version of the application:
https://dsg2014.fast-report.com:3000/builderAPI/designer-version/{apiKey}
Specify your API key in the link. In response, you will receive the current version of FastReport Online Designer. Example of the response:
{ "payload": { "version": "2023.1.3" }, "code": 0 }
Our team will continue to improve the client experience when working with FastReport products. For any questions, contatc our support at support@fast-report.com.