POST /{channelName}/order/{channelLinkId}

Create/Cancel Order

Your channel integration can use this endpoint to place a new order or process a cancellation of an existing order. See examples listed on the right hand side of this page.

Channel 'Scope'

The channelName represents the Scope provided to create orders.

If the channelname used is invalid or does not have access to an account, the request is considered unauthorised. Remember to write the channelname in lowercase letters.

The {channelLinkId} is the unique identifier of the channel in the restaurant location. Obtained via a registration webhook event delivered via Register Channel

If the channelLinkId used is invalid or has not been made available to your partner account, the request is considered unauthorised.

Order Types

Depending on the format of the order created, the relevant orderType should be sent;

Type Integer Value
pick up 1
delivery 2
Eat-in 3
Curbside 4


All orders sent in a valid format with correct scope applied will receive a 201. This does not indicate the POS has successfully processed the order, you should reference the events sent to your 'Order Status Update' webhook to understand if successful.

Path parameters

  • channelName string Required
  • channelLinkId string Required
application/json

Body

  • channelOrderId string Required

    The full unique ID from the ordering channel.

  • channelOrderDisplayId string Required

    A humanly-readable order reference.

  • courier string Required

    Who delivers the order.

  • validationId string

    Validation ID returned from dispatch validation when used.

  • orderType integer Required

    Order type. Use 1 for pickup, 2 for delivery, 3 for eat-in, and 4 for curbside.

  • pickupTime string Required

    Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601

  • deliveryTime string

    Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601

  • placedTime string

    Time when the order was placed.Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601

  • payment object Required
    Hide payment attributes Show payment attributes object
    • amount integer Required
    • type integer Required
    • due integer
  • ageCheck boolean
  • taxes array[object]
    Hide taxes attributes Show taxes attributes object
    • taxClassId integer
    • name string
    • total integer
  • items array[object] Required
    Hide items attributes Show items attributes object
    • plu string Required
    • name string Required
    • price string Required
    • quantity string Required
    • remark string
    • subItems array[object]
  • deliveryAddress object
    Hide deliveryAddress attributes Show deliveryAddress attributes object
    • street string
    • streetNumber string Deprecated

      Deprecated - will be included within "street"

    • postalCode string
    • area string
    • city string
    • country string
    • extraAddressInfo string
    • coordinates object
      Hide coordinates attributes Show coordinates attributes object
      • latitude float
      • longitude float
  • deliveryIsAsap boolean Required
  • deliveryCost integer
  • deliveryCostTax integer
  • serviceCharge integer
  • serviceChargeTax integer
  • tip integer
  • driverTip integer
  • bagFee integer

Responses

  • default application/json

    default

POST /{channelName}/order/{channelLinkId}
curl \
 --request POST 'https://api.staging.deliverect.com/{channelName}/order/{channelLinkId}' \
 --header "Content-Type: application/json" \
 --data '[{"channelOrderId":"{{channelOrderId-001}}","channelOrderDisplayId":"{{channelOrderDisplayId-001}}","channelLinkId":"{{channelLinkId-001}}","by":"","orderType":2,"table":"Table 23","channel":10000,"pickupTime":"2020-03-09T17:17:38Z","estimatedPickupTime":"2020-03-09T17:17:38Z","deliveryTime":"2020-03-09T17:17:38Z","deliveryIsAsap":true,"courier":"restaurant","customer":{"name":"Customer name","companyName":"Deliverect","phoneNumber":"0123456789","email":"customer@deliverect.com","tin":"taxIdentificationNumber"},"deliveryAddress":{"street":"The Krook","streetNumber":"4","postalCode":"9000","city":"Gent","extraAddressInfo":""},"orderIsAlreadyPaid":true,"payment":{"amount":975,"type":3},"note":"This is a test note","items":[{"plu":"T5","name":"Bier (Hertog Jan)","price":325,"quantity":1,"remark":"","subItems":[{"plu":"SI2","name":"Fluitje","price":0,"quantity":1,"remark":"","subItems":[]}]},{"plu":"SO1","name":"Cali SALMON","price":550,"quantity":1,"remark":"Don't add peper","subItems":[]}],"decimalDigits":2,"numberOfCustomers":1,"deliveryCost":0,"serviceCharge":0,"discountTotal":0,"tip":100}]'
Request example
[
  {
    "channelOrderId": "{{channelOrderId-001}}",
    "channelOrderDisplayId": "{{channelOrderDisplayId-001}}",
    "channelLinkId": "{{channelLinkId-001}}",
    "by": "",
    "orderType": 2,
    "table": "Table 23",
    "channel": 10000,
    "pickupTime": "2020-03-09T17:17:38Z",
    "estimatedPickupTime": "2020-03-09T17:17:38Z",
    "deliveryTime": "2020-03-09T17:17:38Z",
    "deliveryIsAsap": true,
    "courier": "restaurant",
    "customer": {
      "name": "Customer name",
      "companyName": "Deliverect",
      "phoneNumber": "0123456789",
      "email": "customer@deliverect.com",
      "tin": "taxIdentificationNumber"
    },
    "deliveryAddress": {
      "street": "The Krook",
      "streetNumber": "4",
      "postalCode": "9000",
      "city": "Gent",
      "extraAddressInfo": ""
    },
    "orderIsAlreadyPaid": true,
    "payment": {
      "amount": 975,
      "type": 3
    },
    "note": "This is a test note",
    "items": [
      {
        "plu": "T5",
        "name": "Bier (Hertog Jan)",
        "price": 325,
        "quantity": 1,
        "remark": "",
        "subItems": [
          {
            "plu": "SI2",
            "name": "Fluitje",
            "price": 0,
            "quantity": 1,
            "remark": "",
            "subItems": []
          }
        ]
      },
      {
        "plu": "SO1",
        "name": "Cali SALMON",
        "price": 550,
        "quantity": 1,
        "remark": "Don't add peper",
        "subItems": []
      }
    ],
    "decimalDigits": 2,
    "numberOfCustomers": 1,
    "deliveryCost": 0,
    "serviceCharge": 0,
    "discountTotal": 0,
    "tip": 100
  }
]
Response examples (default)
string
POST /{channelName}/order/{channelLinkId}

Create/Cancel Order

Your channel integration can use this endpoint to place a new order or process a cancellation of an existing order. See examples listed on the right hand side of this page.

Channel 'Scope'

The channelName represents the Scope provided to create orders.

If the channelname used is invalid or does not have access to an account, the request is considered unauthorised. Remember to write the channelname in lowercase letters.

The {channelLinkId} is the unique identifier of the channel in the restaurant location. Obtained via a registration webhook event delivered via Register Channel

If the channelLinkId used is invalid or has not been made available to your partner account, the request is considered unauthorised.

Order Types

Depending on the format of the order created, the relevant orderType should be sent;

Type Integer Value
pick up 1
delivery 2
Eat-in 3
Curbside 4



All orders sent in a valid format with correct scope applied will receive a 201. This does not indicate the POS has successfully processed the order, you should reference the events sent to your 'Order Status Update' webhook to understand if successful.

Path parameters

  • channelName string Required
  • channelLinkId string Required
application/json

Body

  • channelOrderId string Required

    The full unique ID from the ordering channel.

  • channelOrderDisplayId string Required

    A humanly-readable order reference.

  • courier string Required

    Who delivers the order.

  • validationId string

    Validation ID returned from dispatch validation when used.

  • orderType integer Required

    Order type. Use 1 for pickup, 2 for delivery, 3 for eat-in, and 4 for curbside.

  • pickupTime string Required

    Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601

  • deliveryTime string

    Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601

  • placedTime string

    Time when the order was placed.Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601

  • payment object Required
    Hide payment attributes Show payment attributes object
    • amount integer Required
    • type integer Required
    • due integer
  • ageCheck boolean
  • taxes array[object]
    Hide taxes attributes Show taxes attributes object
    • taxClassId integer
    • name string
    • total integer
  • items array[object] Required
    Hide items attributes Show items attributes object
    • plu string Required
    • name string Required
    • price string Required
    • quantity string Required
    • remark string
    • subItems array[object]
  • deliveryAddress object
    Hide deliveryAddress attributes Show deliveryAddress attributes object
    • street string
    • streetNumber string Deprecated

      Deprecated - will be included within "street"

    • postalCode string
    • area string
    • city string
    • country string
    • extraAddressInfo string
    • coordinates object
      Hide coordinates attributes Show coordinates attributes object
      • latitude float
      • longitude float
  • deliveryIsAsap boolean Required
  • deliveryCost integer
  • deliveryCostTax integer
  • serviceCharge integer
  • serviceChargeTax integer
  • tip integer
  • driverTip integer
  • bagFee integer

Responses

  • default application/json

    default

POST /{channelName}/order/{channelLinkId}
curl \
 --request POST 'https://api.staging.deliverect.com/{channelName}/order/{channelLinkId}' \
 --header "Content-Type: application/json" \
 --data '"[\n  {\n    \"channelOrderId\": \"{{channelOrderId-001}}\",\n    \"channelOrderDisplayId\": \"{{channelOrderDisplayId-001}}\",\n    \"channelLinkId\": \"{{channelLinkId-001}}\",\n    \"by\": \"\",\n    \"orderType\": 2,\n    \"table\": \"Table 23\",\n    \"channel\": 10000,\n    \"pickupTime\": \"2020-03-09T17:17:38Z\",\n    \"estimatedPickupTime\": \"2020-03-09T17:17:38Z\",\n    \"deliveryTime\": \"2020-03-09T17:17:38Z\",\n    \"deliveryIsAsap\": true,\n    \"courier\": \"restaurant\",\n    \"customer\": {\n      \"name\": \"Customer name\",\n      \"companyName\": \"Deliverect\",\n      \"phoneNumber\": \"0123456789\",\n      \"email\": \"customer@deliverect.com\",\n      \"tin\": \"taxIdentificationNumber\"\n    },\n    \"deliveryAddress\": {\n      \"street\": \"The Krook\",\n      \"streetNumber\": \"4\",\n      \"postalCode\": \"9000\",\n      \"city\": \"Gent\",\n      \"extraAddressInfo\": \"\"\n    },\n    \"orderIsAlreadyPaid\": true,\n    \"payment\": {\n      \"amount\": 975,\n      \"type\": 3\n    },\n    \"note\": \"This is a test note\",\n    \"items\": [\n      {\n        \"plu\": \"T5\",\n        \"name\": \"Bier (Hertog Jan)\",\n        \"price\": 325,\n        \"quantity\": 1,\n        \"remark\": \"\",\n        \"subItems\": [\n          {\n            \"plu\": \"SI2\",\n            \"name\": \"Fluitje\",\n            \"price\": 0,\n            \"quantity\": 1,\n            \"remark\": \"\",\n            \"subItems\": []\n          }\n        ]\n      },\n      {\n        \"plu\": \"SO1\",\n        \"name\": \"Cali SALMON\",\n        \"price\": 550,\n        \"quantity\": 1,\n        \"remark\": \"Don't add peper\",\n        \"subItems\": []\n      }\n    ],\n    \"decimalDigits\": 2,\n    \"numberOfCustomers\": 1,\n    \"deliveryCost\": 0,\n    \"serviceCharge\": 0,\n    \"discountTotal\": 0,\n    \"tip\": 100\n  }\n]"'
Request example
[
  {
    "channelOrderId": "{{channelOrderId-001}}",
    "channelOrderDisplayId": "{{channelOrderDisplayId-001}}",
    "channelLinkId": "{{channelLinkId-001}}",
    "by": "",
    "orderType": 2,
    "table": "Table 23",
    "channel": 10000,
    "pickupTime": "2020-03-09T17:17:38Z",
    "estimatedPickupTime": "2020-03-09T17:17:38Z",
    "deliveryTime": "2020-03-09T17:17:38Z",
    "deliveryIsAsap": true,
    "courier": "restaurant",
    "customer": {
      "name": "Customer name",
      "companyName": "Deliverect",
      "phoneNumber": "0123456789",
      "email": "customer@deliverect.com",
      "tin": "taxIdentificationNumber"
    },
    "deliveryAddress": {
      "street": "The Krook",
      "streetNumber": "4",
      "postalCode": "9000",
      "city": "Gent",
      "extraAddressInfo": ""
    },
    "orderIsAlreadyPaid": true,
    "payment": {
      "amount": 975,
      "type": 3
    },
    "note": "This is a test note",
    "items": [
      {
        "plu": "T5",
        "name": "Bier (Hertog Jan)",
        "price": 325,
        "quantity": 1,
        "remark": "",
        "subItems": [
          {
            "plu": "SI2",
            "name": "Fluitje",
            "price": 0,
            "quantity": 1,
            "remark": "",
            "subItems": []
          }
        ]
      },
      {
        "plu": "SO1",
        "name": "Cali SALMON",
        "price": 550,
        "quantity": 1,
        "remark": "Don't add peper",
        "subItems": []
      }
    ],
    "decimalDigits": 2,
    "numberOfCustomers": 1,
    "deliveryCost": 0,
    "serviceCharge": 0,
    "discountTotal": 0,
    "tip": 100
  }
]
Response examples (default)
string