Skip to content

sclark-org/just-eat-openapi-csharp-server

Repository files navigation

Org.OpenAPITools - ASP.NET Core 8.0 Server

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)
  • 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)

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:

  1. Your webhook is invoked with a ?callback={returnUrl} query string parameter. The returnUrl is a unique URL that you will need to send the async response to.
  2. Return an immediate 202 Accepted response from the webhook endpoint, to indicate that you have received the request.
  3. Perform the long-running operation. This can be deemed either a success; or a failure.
  4. If the result is a success, return the following:
POST {returnUrl} HTTP/1.1

{
      \"status\": \"Success\",
      \"message\": \"{successMessage}\",
      \"data\": {}   // webhook-specific response object
}
  1. Otherwise, if the result is a failure, return the following:
POST {returnUrl} HTTP/1.1

{
      \"status\": \"Failure\",
      \"message\": \"{failureMessage}\",
      \"data\": {}   // webhook-specific response object
}

Upgrade NuGet Packages

NuGet packages get frequently updated.

To upgrade this solution to the latest version of all NuGet packages, use the dotnet-outdated tool.

Install dotnet-outdated tool:

dotnet tool install --global dotnet-outdated-tool

Upgrade only to new minor versions of packages

dotnet outdated --upgrade --version-lock Major

Upgrade to all new versions of packages (more likely to include breaking API changes)

dotnet outdated --upgrade

Run

Linux/OS X:

sh build.sh

Windows:

build.bat

Run in Docker

cd src/Org.OpenAPITools
docker build -t org.openapitools .
docker run -p 5000:8080 org.openapitools

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages