
Just Eat UK
Last updated: June 21, 2021
Description
Just Eat API
Just Eat offers services for our various business partners and our consumer applications. How you interact with the API depends on the services you wish to interact with.
Security
HTTPS
All api calls and callbacks require HTTPS. Your service will need a valid SSL certificate and be accessible via the standard SSL port (port 443).
Making an API request
Some API calls require an API key, to authenticate the partner calling the API.
PUT https://uk-partnerapi.just-eat.io/orders/abcd1234 HTTP/1.1
Authorization: JE-API-KEY abcd123456789
Other calls require a user token in the form of a JWT.
GET https://uk.api.just-eat.io/consumer/me/orders/uk HTTP/1.1
Authorization: Bearer abcd123456789
Date Formats
Date and time formats
All dates and times should use the ISO 8601 standard for representation of dates and times.
For instance:
- DueDateWithUtcOffset:
"2015-05-26T14:52:35.5444292+01:00"- Local time:
14:52 - UTC time:
13:52 - UTC offset:
+1hr(due to daylight time saving)
- Local time:
- DueDateWithUtcOffset:
"2015-02-03T11:10:00.0000000+00:00"- Local time:
11:10 - UTC time:
11:10 - UTC offset:
0(no daylight time saving, local time is equivalent to UTC)
- Local time:
Note that the offset may be for a timezone different to your own, so you should alway convert to your own local time for display purposes (e.g. on receipts and terminals).
Callback timestamps
Timestamps sent to Just Eat should be recorded as the current local time (including any changes needed to account for daylight saving) with an accompanying offset that shows the difference between the recorded local time and the current UTC time.
If it is not possible to record timestamps in local time, timestamps may be recorded in UTC time with a 00:00 offset.
Async Webhooks
Some of the webhooks on the platform are configured as being 'async' webhooks. These are for long-running operations, and work as follows:
- Your webhook is invoked with a
?callback={returnUrl}query string parameter. ThereturnUrlis a unique URL that you will need to send the async response to. - Return an immediate
202 Acceptedresponse from the webhook endpoint, to indicate that you have received the request. - Perform the long-running operation. This can be deemed either a success; or a failure.
- If the result is a success, return the following:
POST {returnUrl} HTTP/1.1
{
"status": "Success",
"message": "{successMessage}",
"data": {} // webhook-specific response object
}
- Otherwise, if the result is a failure, return the following:
POST {returnUrl} HTTP/1.1
{
"status": "Failure",
"message": "{failureMessage}",
"data": {} // webhook-specific response object
}