Headers
Headers
When communicating with EVA there are numbers of special headers that can be sent or received.
Request headers
Below is the list of headers that can be used when sending data to EVA.
Name | Purpose | Notes | Required |
---|---|---|---|
Authorization | User authentication token as received from the Login request. | If omitted calls will be made in an anonymous context. | Depends on service called. |
Accept-Languages | What language (culture) you want your response to be. | E.g. en-EN , de-AT . | ❌ |
EVA-User-Agent | Identifies the client making the call. | Required for access management and analytical purposes by the EVA backend . | ✅ |
EVA-App-Token | Authentication to distinguish between anonymous calls. Vital for anonymous carts. | Automatically applied by the SDK to calls when a new one is received from the backend. Ignored when a logged-in user authentication token is provided. | If no Authorization header is set. |
EVA-StationID | Currently active station identifier. | Needs to be added for legal reasons to track which station was used for calls lacking the station ID in its payload. | No, except for legal reasons. |
EVA-Requested-OrganizationUnitID | Organization unit selection. | Can be used to indicate which organization unit a call needs to act on when not specified in its payload. | ❌ |
EVA-Requested-OrganizationUnit-Query | Organization unit selection based on a query: { Name: '...', BackendID: '...' } | Can be used to indicate which organization unit a call needs to act on when not specified in its payload. | ❌ |
EVA-IDs-Mode | Can be set to ExternalIDs to be able to use BackendIDs instead of EVA identifiers | This applies to: Products, OUs, Orders, OrderLines, Shipments, Payments, and Subscriptions. | ❌ |
EVA-IDs-LeniencyThreshold | Number of IDs that are allowed to be unresolved in the request. | To be used alongside EVA-IDs-Mode in case larger requests fail when some IDs go unresolved. Will return unresolved IDs in the warning header and remove these from the request. This works with ExternalID mode for specifically GetProductAvailability as well. | ❌ |
EVA-IDs-BackendSystemID | x | x | ❌ |
EVA-App-ContextID | Unique call identifier (UUID). | Automatically added by the SDK for analytical purposes in tracking individual calls. | ❌ |
EVA-App-ContextChainID | Unique call chain identifier (UUID). | Automatically added by the SDK for analytical purposes in tracking chains of calls. | ❌ |
EVA-App-PayloadID | Unique request payload identifier (md5 hash). | Automatically added by the SDK for analytical purposes in tracking unique request payloads. | ❌ |
EVA-Service-Name | Name of the EVA service. | Added for analytical purposes. | ❌ |
ClientName | The name of the SDK being used. | Added for analytical purposes. | ❌ |
ClientVersion | The SDK version used. | Added for analytical purposes. | ❌ |
EVA-API-Version | The version of the API typings used in the client application SDK. | Added for analytical purposes and to lock out older clients (in the future). | ✅ |
Response headers
Below is the list of headers that can be received from the EVA backend
Name | Purpose | Notes | Required |
---|---|---|---|
EVA-App-Token | New anonymous application token to be used on consecutive calls. | Automatically picked up by the SDK and applied to any future calls. | ❌ |
EVA-Warning | Inform clients about using deprecated features or other notices. | Can be sent multiple times. | ❌ |
EVA-OrganizationUnit-ExternalIDs-Map | x | x | ❌ |
EVA-Product-ExternalIDs-Map | x | x | ❌ |
Note
Another extremely important header is the EVA-Warning
response header. Make sure to ALWAYS catch this header on responses and ALWAYS resolve any warning we return.