v1

latestOpenAPI 3.0.3Apache 2.02026-07-2478177179.1 KB
POS Platform Order API Webhooks

Push an Order

This endpoint is used to push a new order to the external POS.

FAQ

  • If there is a discount for an item, the discounted amount will be reflected at the item level, and the value is assigned to order.item.price.discountAmount attribute. This value is a total of the discounts for an item, based on the quantity.

  • The Sum of the item level discounts plus order level discounts will be reflected in the order.payment.discounts.amount attribute.

Examples:

Scenario 1: Order with both item level and separate order level discount. The payment.discount value is a total of the item discounts and includes the order discount as well.

Sample payload.

Scenario 2: Order with order level discount. Item level discount values are set to 0.

Sample payload

Scenario 3: Order with order item level discount. Sum of the item level discounts are equal to the value in payment.discount value.

Sample payload

Please note that not all order channels support item-level discount.

post/orders

Request body

idstring required

Unique ID for the order from the aggregator platform.

storeIdstring required

Store ID is for identifying the relevant store of the order. This ID will be provided by either Grubtech or the aggregator.

displayIdstring required

Displayable friendly five-character ID, used by stores and couriers to identify the order easily

type'DELIVERY_BY_AGGREGATOR' | 'DELIVERY_BY_MERCHANT' | 'PICK_UP' required

Type of an order

currencyCodestring required

Applicable currency code for the menu. According to ISO-4217

instructionsstring

Instructions from the customer pertaining to the preparation of this order.

status'PLACED' | 'APPROVED' required

Order status. This will indicate the current status of the order

placedAtstring required

The time at which the order was placed, represented in ISO 8601 format.

Example request

{
  "id": "703546147070869504",
  "storeId": "a9f3ded6-c10b-4f17-ad42-5788e061b0a6",
  "displayId": "4212331",
  "currencyCode": "AED",
  "instructions": "Please readuce the bag count of the order",
  "delivery": {
    "pickupTime": "2021-01-01T09:23:54.723Z"
  },
  "archivedItems": [
    {
      "price": {
        "unitPrice": 1200,
        "discountAmount": 1200,
        "totalPrice": 1200
      },
      "amendItems": [
        {
          "quantity": 10
        }
      ]
    }
  ],
  "scheduledOrder": {
    "scheduledAt": "2020-08-02T09:23:54.723Z"
  },
  "placedAt": "2020-08-02T09:23:54.723Z"
}

Response

Successful response OK

idstring required

Unique id for the order provided by GrubTech

externalReferenceIdstring

Unique id for the order from external POS