This is Sapenta's API documentation. And we love it!
Sapenta's basic behaviour
You can see Sapenta's basic behaviour here.
On the next link you will find the list of entities and their related API requests. They are like our sisters.
You can see more information about the global use of core API here
This API is a collection of functions not directly related to entities, such as: login, logout...
You can see more information about the global use of Function API here
This API is used to search flights, hotels or cars in Sapenta
Upload / Download Files
There's a module that allows report generation through URL calls.
Google Sign in
That section describes how Sapenta uses Google Authentication to Log In.
Sapenta uses Comet Chat as a application for the communication of logged users.
The application is installed in 'chat.sapenta.com' server, and my.sapenta.com main html (sapenta.html) has a reference to it:
'chat.sapenta.com' server has a users database, which is hourly updated through a process triggered in my.sapenta.com:
This process does a wget call to 'https://chat.sapenta.com/chatsync.php' and this script has the responsability to:
* Call Sapenta BI to get a list of all Sapenta Users. ("BI_USERS") * Truncate chat.sapenta.com database user list and insert the new one.
When user logs into Sapenta, a token named 'CSRF-Token' is generated and send through the response headers.
Client must save this token, and send it into the next api header requests and retrieve the new one from the responses.
WHAT'S NEW ITEMS
When a user closes a "what's new" item from the widget, an openApi call has to be made in order to mark that item as read for the user in session: deleteNewItem. This request makes that the item doesn't appear in the app if the user closes it in the web (and vice versa).
The query has to have the following info:
|log_id||Yes||The id of the log of the item||Integer||Has to exist in global.logs|
|module||Yes||The module of the item||Integer||Has to exist in public.entities|
|format||Yes||The format of the item||Integer||Has to exist in public.notification_types|