Reporting Endpoints

Introduction

Reporting partners who have signed an agreement with Deliverect can use a reporting endpoint to collect order data from Deliverect. Access to reporting data is not part of any API scope (e.g., POS, Channel, Dispatch).

  • The data (JSON format) is sent to a specified endpoint in real-time.
  • Based on specific triggers

Endpoint types:

  • New Order (full order content)
  • Status Update (POS/DMA status change info)
  • Courier Update (Courier updates will be sent when present, take into account not all channels may necessarily provide them)

Applications

Here are some examples of applications that could use reporting data:

  • KDS
  • Data warehousing
  • Reporting
  • Business intelligence
  • Dashboard tools
  • Delivery manager
  • Stock management system

Set up the webhooks

Please provide your webhook URLs to our customer success team so they can add them for you.

The webhook URLs can be included at either:

  • Account level: To receive order data for the account and all channels.
  • Channel level: To receive order data only for a specific channel.

Order definitions

🛑 Sample Data Below is sample JSON delivered for reporting purposes. Please refer to the link on the order model to understand the attributes to expect in the payload and note any legacy parameters that should be ignored
▶ See Order Model
{
    "_created": "YYYY-MM-DDT08:36:46.SSSSSSZ",
    "_updated": "YYYY-MM-DDT08:36:46.SSSSSSZ",
    "_id": "63********************a7",
    "account": "65********************e9",
    "channelOrderId": "5***-***-***-***-*****17e",
    "channelOrderDisplayId": "**17E",
    "posId": "",
    "posReceiptId": "",
    "posLocationId": "",
    "location": "65********************a4",
    "channelLink": "65********************e2",
    "status": 2,
    "statusHistory": [
      {
        "timeStamp": "YYYY-MM-DDT08:36:46.SSSSSSZ",
        "status": 4,
        "response": "",
        "source": 2
      },
      {
        "timeStamp": "YYYY-MM-DDT08:36:46.SSSSSSZ",
        "status": 1,
        "response": "",
        "source": 5
      },
      {
        "timeStamp": "YYYY-MM-DDT08:36:46.SSSSSSZ",
        "status": 2,
        "response": "",
        "source": 1
      }
    ],
    "packaging": {
      "includeCutlery": false
    },
    "by": "",
    "orderType": 2,
    "channel": 7,
    "pos": 10000,
    "rating": [],
    "pickupTime": "YYYY-MM-DDT00:00:00.SSSSSSZ",
    "deliveryTime": "YYYY-MM-DDT00:00:00.SSSSSSZ",
    "deliveryIsAsap": true,
    "courier": {
      "deliveryBy": ""
    },
    "courierUpdateHistory": [
      {
        "status": 81,
        "received": "YYYY-MM-DDT00:00:00.SSSSSSZ",
        "courier": {},
        "arrivalTime": "YYYY-MM-DDT00:00:00.SSSSSSZ",
        "deliveryTime": "YYYY-MM-DDT00:00:00.SSSSSSZ",
        "source": 5
      }
    ],
    "customer": {
      "name": "",
      "phoneNumber": "",
      "phoneAccessCode": "",
      "email": ""
    },
    "deliveryAddress": {
      "street": "1 Greenwich Street, New York, NY 10013, US",
      "postalCode": "10013",
      "area": "Manhattan",
      "city": "New York",
      "country": "US",
      "source": "1 Greenwich Street, New York, NY 10013, US, 10013, Manhattan, New York, US",
      "extraAddressInfo": "Front door has bell"
    },
    "orderIsAlreadyPaid": true,
    "taxes": [],
    "payment": {
      "amount": 11580,
      "type": 3,
      "due": 0,
      "rebate": 0
    },
    "note": "",
      "items": [
      {
        "_id": "65********************2c",
        "plu": "658",
        "name": "7UP",
        "sortOrder": 0,
        "price": 300,
        "quantity": 2,
        "productType": 1,
        "remark": "",
        "categoryInfo": {},
        "subItems": [],
        "packaging": {
          "count": 1,
          "reusable": false,
          "packedItems": 0
        },
        "productTags": [],
        "discountReferenceId": 1,
        "discountReferenceIds": [
          1
        ]
      },
      {
        "_id": "65********************2d",
        "plu": "492",
        "name": "Burger + Drink",
        "sortOrder": 0,
        "price": 1290,
        "quantity": 1,
        "productType": 1,
        "remark": "",
        "categoryInfo": {},
        "subItems": [
          {
            "_id": "65a7ec00721e239f702fde2e",
            "plu": "742",
            "name": "Big Burger",
            "sortOrder": 0,
            "price": 0,
            "quantity": 1,
            "productType": 1,
            "categoryInfo": {},
            "subItems": [],
            "packaging": {
              "count": 1,
              "reusable": false,
              "packedItems": 0
            },
            "productTags": []
          },
          {
            "_id": "65a7ec00721e239f702fde2f",
            "plu": "656",
            "name": "Cola",
            "sortOrder": 0,
            "price": 0,
            "quantity": 1,
            "productType": 1,
            "categoryInfo": {},
            "subItems": [],
            "packaging": {
              "count": 1,
              "reusable": false,
              "packedItems": 0
            },
            "productTags": []
          }
        ],
        "packaging": {
          "count": 1,
          "reusable": false,
          "packedItems": 0
        },
        "productTags": []
      }
    ],
    "decimalDigits": 2,
    "numberOfCustomers": 0,
    "channelOrderRawId": "65********************27",
    "channelOrderHistoryRawIds": [
      "64********************37",
      "63********************27"
    ],
    "serviceCharge": 0,
    "deliveryCost": 0,
    "bagFee": 0,
    "tip": 0,
    "driverTip": 0,
    "discountTotal": -936,
    "discounts": [
      {
        "type": "item_bogof",
        "provider": "restaurant",
        "name": "BOGO",
        "channelDiscountCode": "",
        "referenceId": 1,
        "value": 300,
        "amount": 300,
        "amountRestaurant": 300,
        "amountChannel": 0
      },
      {
        "type": "order_percent_off",
        "provider": "restaurant",
        "name": "PERCENTOFF",
        "channelDiscountCode": "",
        "referenceId": 2,
        "value": 4000,
        "amount": 636,
        "amountRestaurant": 636,
        "amountChannel": 0
      }
    ],
    "capacityUsages": [],
    "resolvedBy": "",
    "brandId": "65********************e8",
    "timezone": "Europe/Madrid",
    "date": 20****7
  }
}
{
    "orderId": "6238592552b28ed8717***2",
    "status": 20,
    "timeStamp": "2022-03-21T10:58:53.133931Z",
    "reason": "",
    "channelOrderId": "TEST164786***5",
    "location": "61c881cf**a46a3c23c***",
    "isIgnoredPOSStatus": false
}
{
    "received": "2024-06-27T21:52:29.340804Z",
    "orderId": "667dd8058****d8f010", 
    "pickupTime": "2024-06-27T12:13:43.012Z",
    "courier": {
        "firstName": "",
        "lastName": "",
        "phoneNumber": "",
        "deliveryBy": "Uber Eats",
        "status": 83
    },
    "updatedOrigin": 2,
    "rawDriverUpdate": "{}",
    "location": "64d23ed2b9***0ce4596ce7f4"
}
{
    "received": "2024-07-17T17:51:50.075506Z",
    "orderId": "6697faae**8fa67e997dd57c",
    "pickupTime": "2024-07-17T17:57:47.512Z",
    "courier": {
        "firstName": "",
        "lastName": "",
        "phoneNumber": "",
        "status": 83
    },
    "updatedOrigin": 6,
    "rawDriverUpdate": "{}",
    "deliveryTime": "2024-07-17T18:20:00.014Z",
    "location": "64d23ed7**4fb6fac4b4726f",
    "deliverySystem": 10,
    "deliveryJobId": "6697faae8f8fa6**997dd60e"
}