Introduction to integrations
Any operation in EVA is essentially just a simple messages that's sent to EVA Core, which then sends a response.
Additionally, we need certain headers and correct authentication.
EVA service tester (DORA)
Before we talk about headers and authentication, you might want to know about DORA. Dora is our service tester. It allows you to log on to your endpoint using normal username/password credentials and handles all further authentication and headers for you. Read more about DORA here.
All messages should be sent to the correct endpoint. Endpoints are customer specific but generally look something like:
EVA includes a shit ton of possible messages, somewhere upwards of 1400. When making a request using any of these messages, we should specify what message we are actually trying to send. To do so, we will suffix this specification to our endpoint. For example, a simple product search request would be sent to:
Only two headers are mandatory for every request. Without these, EVA will just respond with an error message.
EVA requires the standard
Content-Typeheader, the value should be
application/jsonto indicate we are providing JSON content.
EVA-User-Agentheader is always mandatory in its standard notation;
Requests without one of these headers will be blocked.
For a complete list of all possible headers, go to the Headers documentation.
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.
Even though some services can be called without authentication, most of the time it is mandatory to authenticate yourself. We authenticate ourselves by providing a token in the
Authentication header. Read the Authentication documentation to find out how to acquire a token.
Requests and responses may gain additional properties without prior notice!
EVA will include a EVA-Warning header with details on calls that are not optimal - you may be using a deprecated service, missing a certain property, using an inefficient property, or anything else suboptimal. Warnings will turn into actual errors later, so you should catch this response header and follow up on them to ensure a continued operation.