Odyssee Mobile

API User Guide

Odyssee API is optimized to provide you fastest reponse in a scalable manner.

We implemented state-of-the-art technologies which supports Web API to deliver you data with speed and quality.

In this page we describe how you can use our optimization methods to make your systems even faster and reliable.


1. Using Prefer Minimal

When you create a new entity or update an entity, the API will return you the full object by default.
With this object, you can retrieve some values that you didn't send, like id. In some situations you don't need the full object of the API and only the id is needed.
You can avoid API making by itself a GET on the database by sending us below header on the request.
prefer: return=minimal
With this, the POST/Put will only return you the id created/updated.
Got to "Return values & Errors" for more information


2. Using Compression

With compression you can reduce the payload of a request/response, by doing that your response time will be less, and your systems will be faster.
(You can find a dedicated help page about Compression on this API Help Website)
We support GZIP & deflate types of compression.


3. Using OData $Select

Odyssee API supports Odata for JSON. OData allows users to query data on the url itself, by doing that users can reduce the code they have to write to sort the response.
OData supports lots of notations and features, but $select will specifically impact performance of your system.
$select will only select the properties you mention on the $select url. So it will again reduce the payload size.
Here's an example:

HTTP GET : https://developers.odysseemobile.com/api/Company?$select=name,street,street_number,phone 


4. Use JSON instead of XML

Always try to use JSON as your Content-Type. We say this because it is lighter and faster compared with XML.
Also if you think to create a client side interface with Odyssee API, JSON will be the most suitable choice as it is supported by all the browsers and javascript libraries.


5. Store Odyssee.Guid on your ERP

Storing the Odyssee.Guid id in your ERP improve the speed of your process.
By doing that you don't have to call the API each time you need to retrieve your ERP Primary key.
For exemple, if the jobs come from your ERP, when you will read the job_approval, the field jobs_id is enough for you and you don't need to make a GET on /Jobs to retrieve your primary key on jobs.reference_back_office