Skip to main content

How to Get Started with Flexi API (3/6)

Building URLs

Written by Petr Pech

In this part of the article, we will walk through how to construct a Flexi URL address.

URL structure takes the following form:

/c/<company identifier>/<agenda>/<record ID>.<output format>

  • <company identifier>: unique identification of the company

  • <agenda>: agenda type (address book, order, invoice, …); List of agendas — use the value of the <evidencePath> element in the URL

  • <record ID>: record identifier — list of identifiers: Record Identifiers

  • <output format>: output format (XML, JSON, …)

URL examples:

demo.flexibee.eu – server address, in this case our cloud (demo instance)

demo – company identifier (can be found in the URL when logging into the web interface)

faktura-vydana – issued invoices agenda

15 – record identifier (found in the XML of the record agenda — the <id> element, or in the application by adding the ID column)

xml – data format

This URL will therefore display, in XML format, the issued invoice with ID 15 for the company "demo" at demo.flexibee.eu.

https://localhost:5434/c/testovaci/faktura-vydana/15.xml
  • example URL for a local installation

https://93.170.19.14:xxxx/c/testovaci/faktura-vydana/15.xml
  • example URL for a custom server — port configuration is handled by your network administrator

For more detailed information about the URL structure, we recommend consulting our documentation: Constructing URLs


For each agenda, it is also possible to retrieve a list of all attributes that the agenda contains.

Attribute overview for each agenda:

/c///properties

These are used as attributes of a given record in an XML/JSON request, for example:

KOD - the record will contain the code/abbreviation "KOD"

Column legend for properties:

* - required field (Internal dependencies may mean that a required field does not need to be filled in.)

rw - field is writable

ro - read-only

1 - field is part of the 'id' list

2 - field is part of the 'summary' list

3 - field is part of the 'full' list

S - the field can be used for sorting or filtering

For each agenda, you can display a list of supported print reports:

/c/<company identifier>/<agenda>/reports

Export a specific report to PDF:

/c/firma/faktura-vydana/1.pdf?report-name=dodaciList

  • exports the delivery note print report to PDF

If you have created custom user reports, they can be exported to PDF in the same way as standard reports.

Export a custom user report to PDF:

/c/firma/cenik/15.pdf?report-name=stitky

  • exports the customized print report with the abbreviation "stitky" to PDF

For more detailed information on how to display a PDF of a given report using a URL, please refer to our documentation: Export to PDF

Records can also be filtered using the URL:

/c/<company identifier>/<agenda>/(<filter>)

Example:

  • filters all invoices where the code begins with 'VF'

Logical operators (and, or, not) can of course also be used:

Example 1:

  • filters all invoices where the code begins with 'VF' and ends with 'P'

Example 2:

  • filters all invoices where the code begins with 'FV' or 'VF'

For more detailed information about record filtering, we recommend consulting our documentation: Filtering

Detail Level

To improve performance, not all data stored for a record is displayed by default. The detail level can therefore be specified using the URL.

Detail levels:

For more information about detail levels, we recommend consulting our documentation: Detail Levels

Pagination

To improve the performance of web applications, a "pagination" system is commonly used. The list is divided into pages that are displayed to the user, who can navigate between them.

Pagination parameters:

  • limit - maximum number of records; default is 20

  • start - number of records to skip; independent of the limit

Example:

  • starting from the 10th record, 25 records will be displayed (i.e. records 10–35)

For more information about pagination parameters, please refer to our documentation: Pagination

Relations/sub-agendas overview:

You can also retrieve information about records in relations by appending the ?relations parameter to the end of the URL.
Example:

  • lists all links related to invoice ID 15

Did this answer your question?