REST List API
Overview
The List API provides list-based read, write and delete functionality optimized for fast transmission of large amounts of data. It also contains a meta API in order to access meta information dynamically, e.g. for listing all available root entities in the Product Manager's repository.
List-Based Mass Data Access
The REST List API is based on the idea of ListModels, which is one central aspect of the Product Manager's data access layer as described in Data Models. List-based data access enables to transfer only the data that is needed for processing the current request, ommitting unnessesary chunks. Data can be accessed in fast manner, since virtual list models in turn support paging of the result table.
Root Entity vs. Sub Entity Access
As described in Domain Model (Repository), the PIM Core data model consists of entities, which in turn consist of sub entities. Since sub entity instances are distiguished by their dimensions, logical keys need to be provided when navigating on sub entity level - e.g. we need to fully qualify the path to a sub entity field (provide all logical keys) when accessing the English item short description.
Report vs. Search
A Report is a predefined query with a fixed set of parameters and a fixed semantic. Usually the report has a name which reflects it's main purpose, like "byCatalog" or "byStatus". The actual report implementation might be implemented by a Stored Procedure or by some other logic which is totally transparent for the REST API user. Take a look at the Entity Reporting page to learn more about Reports and how to contribute you own reports to the Heiler Product Manager.
A Search has no predefined query and only a limited number of fixed parameters. It's semantic is defined by the search query the user must provide for the execution of the search. Heiler Product Manager provides a generic search module which can be used to build simple and complex queries. Take a look at the Entity Search page to learn more about the possibilities of the generic search engine and also it's limitations.
Report Services
Such a query can represent a predefined report, provided to the Product Manager by an entity report contribution which can simply be executed by providing usually one or two parameters.
Because it is possible to extend the set of entity reports also through customizing, we cannot list the total number of entity reports which are available here. On different installations there might be a different set of entity reports. However, the rest API provides info resources which will list the available reports of a specific Product Manager instance. Using these info resources you are even able to create a generic UI for the end user in which he can pick the report he likes.
Samples:
Show all items/products of the catalog( catalog, assortment )
Show items/products classified by( structure system )
Show items/products not classified by( structure system )
Show items/products by status reached( status )
Show items/products by status not reached( status )
Search Services
The search services are provided in the same way than the report services. The only specialty is the search query parameter which must follow the HSQ Syntax.
Examples
Additionally to the examples provided in this documentation, you can also use the ListAPI Postman collection: ListAPI.postman_collection.json