Offers

Welcome to the Offers API. Offers API provides endpoints for generating and retrieving offers for a combination of origin and destination. Offers API typically gathers more information about the departure and sends a request to the Products API, where the offer is generated. In addition Offers API is responsible for caching the offers which Products API produces, these offers are cached for 30 minutes.

Authentication

Currently the only requirement for authentication is when requesting offers for a certain distribution channel. Some offers are only valid for a specific distribution channel, these offers can only be retrieved if a valid combination of a Entur-issued 0Auth2 bearer token and distribution channel is passed in the request.

In order to issue a valid token you must have a client_id and client_secret(the mechanisms for obtaining these are not in place yet).

curl --request POST \
  --url 'https://<type_of_token>.<environment>.entur.org/oauth/token' \
  --header 'content-type: application/json' \
  --data '{"grant_type":"client_credentials","client_id": "<clientid>","client_secret": "<clientsecret>","audience": "https://api.<envirnoment>.entur.io"}

Headers

All requests will have a correlation id which is pertained with a request as it propagates through the system. This value will show which request is being processed as it flows through the system. This value is automatically created and maintained by the internal logging library, and should not require any further actions from client developers.

DescriptionHeader keyExample value
Distribution ChannelEntur-Distribution-ChannelENT:DistributionChannel:app
Correlation IdcorrelationId7c9786df-cadf-4a70-9487-541607ade1b4
AuthorizationAuthorizationBearer xxxxxxx.yyyyyyyy.zzzzzzzzz

Currency

The Offers API has a standardised way of representing value of products. Firstly, a currency code must always be specified for a given product (e. g. "NOK", "USD", etc). Secondly, the amount for the given currency is represented as a numeric string with two decimal points (e. g. "100.00").