Just Eat Order Acceptance Webhooks API
The Order Acceptance Webhooks API from Just Eat — 5 operation(s) for order acceptance webhooks.
The Order Acceptance Webhooks API from Just Eat — 5 operation(s) for order acceptance webhooks.
openapi: 3.0.0
info:
contact:
x-twitter: JustEatUK
description: "# Just Eat API\nJust Eat offers services for our various business partners and our consumer applications.\nHow you interact with the API depends on the services you wish to interact with.\n## Security\n### HTTPS\nAll api calls and callbacks require HTTPS. Your service will need a valid SSL certificate and be accessible via the standard SSL port (port 443).\n## Making an API request\nSome API calls require an API key, to authenticate the partner calling the API.\n```\nPUT https://uk-partnerapi.just-eat.io/orders/abcd1234 HTTP/1.1\nAuthorization: JE-API-KEY abcd123456789\n```\nOther calls require a user token in the form of a JWT.\n```\nGET https://uk.api.just-eat.io/consumer/me/orders/uk HTTP/1.1\nAuthorization: Bearer abcd123456789\n```\n\n## Date Formats\n### Date and time formats\nAll dates and times should use the [ISO 8601 standard for representation of dates and times](https://en.wikipedia.org/wiki/ISO_8601).\n\n#### For instance:\n* DueDateWithUtcOffset: `\"2015-05-26T14:52:35.5444292+01:00\"`\n - Local time: `14:52`\n - UTC time: `13:52`\n - UTC offset: `+1hr` (due to daylight time saving)\n* DueDateWithUtcOffset: `\"2015-02-03T11:10:00.0000000+00:00\"`\n - Local time: `11:10`\n - UTC time: `11:10`\n - UTC offset: `0` (no daylight time saving, local time is equivalent to UTC)\n\nNote 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).\n\n### Callback timestamps\nTimestamps 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.\n\nIf it is not possible to record timestamps in local time, timestamps may be recorded in UTC time with a 00:00 offset.\n## Async Webhooks\nSome of the webhooks on the platform are configured as being 'async' webhooks. These are for long-running operations, and work as follows:\n 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.\n 2. Return an immediate `202 Accepted` response from the webhook endpoint, to indicate that you have received the request.\n 3. Perform the long-running operation. This can be deemed either a _success_; or a _failure_.\n 4. If the result is a _**success**_, return the following:\n ```\n POST {returnUrl} HTTP/1.1\n\n {\n \"status\": \"Success\",\n \"message\": \"{successMessage}\",\n \"data\": {} // webhook-specific response object\n }\n ```\n 5. Otherwise, if the result is a _**failure**_, return the following:\n ```\n POST {returnUrl} HTTP/1.1\n\n {\n \"status\": \"Failure\",\n \"message\": \"{failureMessage}\",\n \"data\": {} // webhook-specific response object\n }\n ```"
title: Just Eat UK Attempted Delivery API Order Acceptance Webhooks API
version: 1.0.0
x-apisguru-categories:
- ecommerce
x-logo:
url: https://api.apis.guru/v2/cache/logo/https_twitter.com_JustEatUK_profile_image.png
x-origin:
- format: openapi
url: https://uk.api.just-eat.io/docs/openapi.json
version: '3.0'
x-providerName: just-eat.co.uk
servers:
- description: Production URL for the UK API
url: https://uk.api.just-eat.io
- description: Production URL for the DK, ES, IE, IT and NO API
url: https://i18n.api.just-eat.io
- description: Production URL for the AU and NZ API
url: https://aus.api.just-eat.io
tags:
- name: Order Acceptance Webhooks
paths:
/acceptance-requested:
post:
description: This webhook will be invoked whenever acceptance has been requested for the order.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/acceptance-requested'
required: true
responses:
'200':
description: Respond with a 200 status code to indicate that you have received the notification.
summary: Acceptance requested
tags:
- Order Acceptance Webhooks
/order-accepted:
post:
description: This webhook will be invoked whenever the order was accepted.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/order-accepted'
required: true
responses:
'200':
description: Respond with a 200 status code to indicate that you have received the notification.
summary: Order accepted
tags:
- Order Acceptance Webhooks
/order-cancelled:
post:
description: This webhook will be invoked whenever the order was cancelled.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/order-cancelled'
required: true
responses:
'200':
description: Respond with a 200 status code to indicate that you have received the notification.
summary: Order cancelled
tags:
- Order Acceptance Webhooks
/order-rejected:
post:
description: This webhook will be invoked whenever the order was rejected.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/order-rejected'
required: true
responses:
'200':
description: Respond with a 200 status code to indicate that you have received the notification.
summary: Order rejected
tags:
- Order Acceptance Webhooks
/redelivery-requested:
put:
description: This webhook will be invoked whenever the customer responds to the attempted delivery notification.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/attempted-delivery-response-received'
required: true
responses:
'200':
description: Respond with a 200 status code to indicate that you have received the notification.
summary: Customer Requested Redelivery
tags:
- Order Acceptance Webhooks
components:
schemas:
order-rejected:
example:
Event: OrderRejected
RejectedAt: '2018-03-10T14:45:28Z'
RejectedBy: '123456'
RejectedReason: Kitchen overloaded
properties:
Event:
type: string
RejectedAt:
format: date-time
type: string
RejectedBy:
type: string
RejectedReason:
type: string
type: object
order-item:
items:
properties:
Items:
$ref: '#/components/schemas/order-item'
Name:
type: string
Quantity:
type: number
Reference:
type: string
TotalPrice:
format: money
type: number
UnitPrice:
format: money
type: number
type: object
type: array
order-item-restriction:
properties:
Type:
description: The type of restricted item contained in the order. The only supported value is 'Alcohol'.
enum:
- Alcohol
type: string
type: object
acceptance-requested:
example:
Currency: GBP
Customer:
Id: 12345
Name: Bruce Wayne
PreviousRestaurantOrderCount: 5
PreviousTotalOrderCount: 83
CustomerNotes:
noteForDelivery: delivery note
noteForRestaurant: restaurant note
FriendlyOrderReference: REF0001
Fulfilment:
Address:
City: London
Geolocation:
Latitude: 51.51641
Longitude: -0.103198
Lines:
- Fleet Place House
- Fleet Pl
PostalCode: EC4M 7RD
CustomerDueAsap: false
CustomerDueDate: '2018-03-10T14:45:28Z'
Method: Delivery
PhoneMaskingCode: '9999999'
PhoneNumber: '+441234567890'
PreparationTime: 0:23:32
IsTest: true
Items:
- Items:
- Items: []
Name: Fries
Quantity: 1
Reference: '9876'
Synonym: Regular
UnitPrice: 0
- Items: []
Name: Pepsi
Quantity: 2
Reference: '6789'
Synonym: 330ml
UnitPrice: 0
Name: Chicken Box Meal
Quantity: 2
Reference: '1234'
Synonym: ''
TotalPrice: 10
UnitPrice: 5
- Items: []
Name: Milkshake
Quantity: 1
Reference: '4321'
Synonym: ''
TotalPrice: 7.25
UnitPrice: 7.25
OrderId: ABCD654321
Payment:
Lines:
- Paid: false
Type: AccountCredit
Value: 19.25
- Paid: true
Type: CreditCard
Value: 19.25
PlacedDate: '2018-03-10T14:45:28Z'
PriceBreakdown:
Discount: 0
Fees:
Delivery: 1
Other: 0
ServiceCharge: 0.5
Items: 17.25
Taxes: 3.85
Tips: 0.5
Restaurant:
Address:
City: London
Geolocation:
Latitude: 51.4484
Longitude: -0.1504
Lines:
- Oldridge Road
PostalCode: SW12 8PW
Id: I12345
Name: Just Eat Test Restaurant
PhoneNumber: '+441200000000'
Refererence: R99999
TimeZone: Australia/Sydney (IANA format)
Restrictions:
- Type: Alcohol
TotalPrice: 19.25
properties:
Currency:
type: string
Customer:
properties:
Id:
nullable: true
type: number
Name:
type: string
PreviousRestaurantOrderCount:
description: The customer's previous total number of orders made to this restaurant
type: number
PreviousTotalOrderCount:
description: The customer's previous total number of orders made to all restaurants
type: number
type: object
CustomerNotes:
additionalProperties:
type: string
type: object
FriendlyOrderReference:
type: string
Fulfilment:
properties:
Address:
$ref: '#/components/schemas/order-address'
CustomerDueAsap:
type: boolean
CustomerDueDate:
format: date-time
type: string
Method:
enum:
- Delivery
- Collection
type: string
PhoneMaskingCode:
description: Code to use when calling customer phone masking number about this order. null if phone masking not enabled
type: string
PhoneNumber:
description: Customer phone number (will be phone masking number if enabled)
type: string
PreparationTime:
format: timespan
type: string
type: object
IsTest:
type: boolean
Items:
$ref: '#/components/schemas/order-item'
OrderId:
type: string
Payment:
properties:
Lines:
items:
properties:
Paid:
type: boolean
Type:
type: string
Value:
format: money
type: number
type: object
type: array
type: object
PlacedDate:
format: date-time
type: string
PriceBreakdown:
properties:
Discount:
format: money
nullable: true
type: number
Fees:
properties:
Delivery:
format: money
nullable: true
type: number
Other:
format: money
nullable: true
type: number
ServiceCharge:
format: money
nullable: true
type: number
type: object
Items:
format: money
nullable: true
type: number
Taxes:
format: money
nullable: true
type: number
Tips:
format: money
nullable: true
type: number
type: object
Restaurant:
properties:
Address:
$ref: '#/components/schemas/order-address'
Id:
description: Restaurant Id
type: string
Name:
type: string
PhoneNumber:
type: string
Reference:
type: string
TimeZone:
type: string
type: object
Restrictions:
description: This is a list of types of restricted items contained in the order.
items:
$ref: '#/components/schemas/order-item-restriction'
type: array
TotalPrice:
format: money
type: number
type: object
order-address:
properties:
City:
type: string
Geolocation:
properties:
Latitude:
format: double
type: number
Longitude:
format: double
type: number
type: object
Lines:
items:
type: string
type: array
PostalCode:
type: string
type: object
order-accepted:
example:
AcceptedFor: '2018-03-10T14:45:28Z'
Event: OrderAccepted
OrderId: '123456'
properties:
AcceptedFor:
format: date-time
type: string
Event:
type: string
OrderId:
type: string
type: object
order-cancelled:
example:
Event: OrderCancelled
OrderId: ijdhpy7bdusgtc28bapspa
Reason: system_cancelled_other
properties:
Event:
type: string
OrderId:
type: string
Reason:
description: The reason the order was cancelled.
enum:
- cust_cancelled_changed_mind
- cust_cancelled_delivery_too_long
- cust_cancelled_made_mistake
- cust_cancelled_other
- delivery_partner_cancelled
- rest_cancelled_customer_absent
- rest_cancelled_customer_requested
- rest_cancelled_declined
- rest_cancelled_drivers_unavailable
- rest_cancelled_fake_order
- rest_cancelled_other
- rest_cancelled_out_of_stock
- rest_cancelled_too_busy
- system_cancelled_other
- system_cancelled_test_order
type: string
type: object
attempted-delivery-response-received:
example:
Notes: Please press 123 on the door
OrderId: wiej234idf09i29jijgf4
Tenant: uk
Update: Please redeliver
properties:
Notes:
type: string
OrderId:
type: string
Tenant:
type: string
Update:
type: string
type: object
securitySchemes:
Bearer:
bearerFormat: JWT
description: Bearer token authentication using a JSON Web Token (JWT).
scheme: bearer
type: http
api_key:
description: APIs for delivery partners require an API key that will have been issued to you.
in: header
name: Authorization
type: apiKey
basic_auth:
description: A few services allow the use of basic authentication when a partner doesn't support OAuth based authentication.
scheme: basic
type: http
justeat_adfs:
description: ADFS authentication provider for internal Just Eat tools.
openIdConnectUrl: https://adfs.just-eat.com/adfs/.well-known/openid-configuration
type: openIdConnect
restaurantsignup_jwt:
bearerFormat: JWT token with payload `RestaurantId` and Role `[RestaurantRead | VerifyEmail | RestaurantWrite | FullAccess | DocumentRead]`
description: Bearer token authentication using a JSON Web Token (JWT), used by the restaurant sign up system
scheme: bearer
type: http
x-tagGroups:
- name: Consumer Experience
tags:
- Authorization
- Consumers
- ConsumerOffers
- ConsumerQueries
- Consumer Queries Webhooks
- ConsumerOrders
- Search
- Basket
- Payments
- Giftcards
- Experiments
- Vouchers
- Promoted Placement
- Menu
- Recommendations
- Location Services
- name: Manage Order Journey
tags:
- Order Acceptance API
- Order Acceptance Webhooks
- Order Delivery API
- Order Delivery Webhooks
- Order API
- Order Webhooks
- Customer Order Details
- DeliveryFee
- Delivery Pools API
- Attempted Delivery API
- Attempted Delivery Webhooks
- Checkout
- Courier Feedback
- name: Restaurant Management
tags:
- Restaurant Product
- Restaurants
- RestaurantOffers
- Restaurant OrderTimes
- Restaurants Webhooks
- RestaurantSignup
- RestaurantQueries
- RestaurantQueries Webhooks
- Restaurant Claims
- Restaurant Events
- Restaurant Events Webhooks
- Restaurant API
- Restaurant Webhooks
- Products
- Logistics POS Restaurants
- Restaurant Smiley Rating