View source | View content page | Page history | Printable version   

Projects:Retail API/Specs

Back button.png   Back to Projects:Retail_API



The main objective of this project is to provide a business oriented Retail API that allows external systems to interchange (import and export) information with Openbravo.

Functional Requirements

The functional requirement of this project is to provide an API that allows to import and export information of different Openbravo entities.

These entities will not be exactly the DAL Openbravo entities but rich entities that will put together information coming from different sources to generate its own definition. The definition of all these Retail API entities is summarized here.

To make use of this API different web services should be available:

The Web Services will be designed following the standard JSON API specification.

Technical Specs

Mappings Infrastructure

The different Retail API entities will be defined using the Application Dictionary, more specifically they will be defined using the External Integration Infrastructure. Thus, using the Entity Mapping window, it will be possible to define the different entities with their properties.

The representation of the Retail API (type of data) will be done using JSON objects.

Besides, a couple of new tabs will be added in the Entity Mapping window. They will help to define the different filters for the export entities.

With this approach, it will be possible to extend the entities and the export filters and to export the changes into custom modules.

Export Engine

As stated in the previous section, the export service will be a synchronous service. For this reason the Retail API will have an export engine based in the External Integration Export Infrastructure that will allow to map a set of IDs into the JSON representation of the Retail API objects in a synchronous way.

Import Engine

For the import flow, we will directly make use of the standard JSON EDL Import Process of the External Integration Infrastructure.

Thus, the import web service will return the ID of the EDL request in charge of processing the import asynchronously. With this ID and using the Status Service, it will be possible to check the status of the import processing.


The specification of the import and export web services should be exposed using Swagger UI.

An ant base task will be created to automatically generate the Open API specification of both services at compile time, using the Application Dictionary definition of the different Retail API entities.

Retrieved from ""

This page has been accessed 1,746 times. This page was last modified on 3 April 2020, at 10:35. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.