Webhook Format & Attributes

{
  "partner_order_id": "Partner_2378437",
  "skipcart_order_id": "237126",
  "skipcart_delivery_id": "221635",
  "event_time_utc": "2021-12-13T17:35:23.583Z",
  "event_status": "delivered",
  "order_status": "delivered",
  "schedule_failed_reason": null,
  "driver": {
    "driver_id": "65847",
    "first_name": "Trey",
    "last_name": "Johnson",
    "phone": null,
    "photo": "http://liveventsapi.skipcart.com/v1api//Driver/GetImage/EA10C6A1-A2AB-457A-A88B-36AB4B09E8B3",
    "vehicle": {
      "make": "Tesla",
      "model": "3",
      "color": "Black",
      "license_plate": "J6B4JC",
      "type": "Sedan"
    }
  },
  "location": {
    "lat": "29.427832572805492",
    "lng": "-98.489873682142743"
  },
  "estimated_arrival": {
    "time_utc": "2021-12-13T17:35:24Z",
    "distance_meters": "5281"
  },
  "tracking_url": "https://livetrack.skipcart.com//?t=237126",
  "delivery_details": {
    "delivered_on_utc": "2021-12-13T17:35:23.583Z",
    "signature": "http://liveeventsapi.skipcart.com/v1api//Jobs/GetDeliveryImage/",
    "photo": "http://liveeventsapi.skipcart.com/v1api//Jobs/GetDeliveryImage/",
    "remarks": null,
    "delivery_fee": "9.95",
    "return_reason": null
  },
  "parking_slot": null,
  "reason_code": null,
  "agg_order_id": null
}
Successfull Response Result

Content: 
{"statusCode":200}

📘

The JSON structure will remain consistent for each event_status, however depending on the event certain fields will contain no data.

Attribute Breakdown

Field Name Description
partner\_order\_id Partner generated order ID
skipcart\_order\_id Internal Order ID generated by Skipcart
skipcart\_delivery\_id Skipcart groups multiple orders for efficiency, this is the delivery ID assigned to a group of orders
event\_time\_utc Every time an event fired in Skipcart system, a corresponding non-blocking call is initiated to Partner system using web-hooks. Event time is in UTC and indicates the time the time at which the event happened.
event\_status event\_status defined in Skipcart systems, see table above for breakdown of various events
parking\_slot Optional - Parking slot # where driver is waiting for pickup. This is only returned in arrived\_at\_store & return\_at\_store events.
order\_status order\_status defined in Skipcart systems, see table above for breakdown of order statuses and correlation to events
schedule\_failed\_reason If order status is schedule\_failed, this field will contain the applicable failure reason
driver This group contains information about the driver assigned to the order: * **driver\_id** – Unique identification number of the driver * **first\_name** – First name of the driver * **last\_name** – Last name of the driver * **phone** – Masked mobile number of the driver, populated up until an order is delivered or returned * **photo** – URL of photo of driver * **vehicle** – Vehicle driver is using to deliver to customer. Includes make, model, color, type, license\_plate
location Geolocation coordinates of the driver at the time of event: * **lat** – Latitude * **lng** – Longitude
estimated\_arrival Estimated arrival of driver to store or customer: * **time\_utc** – Expected time of arrival in UTC * **distance\_meters** – Distance to the destination measured in meters
tracking\_url Tracking URL of the order. The Skipcart generated URL is short so it can be sent to customer by partner via SMS or other format. The web page contains map, current location of driver (updated frequently), driver contact details, vehicle details and customer address
delivery\_details This section contains the delivery proofs after the delivery has been completed or returned to store: * **delivered\_on\_utc** – Delivery time in UTC * **signature** – URL of signature of Customer/Partner * **photo** – URL of delivery proof * **remarks** – Remarks given by customer * **delivery\_fee** – delivery fee to be paid to the driver * **return\_reason** – Reason for return of delivery
reason\_code If the event is close\_order, this field returns one of the below values stating the reason for closing the order: **CustomerUnreachable** **PackageContents** **PackageDamage** **LeftAtFrontDoor** **LeftWithSomeoneElse** **LeftAtFrontDesk**
agg\_order\_id This field will only be populated for partner integrations who have multiple brands being passed to Skipcart through a single set of API credentials, aka aggregators. The purpose of this field is to allow traceability for aggregators who have a different order ID at the aggregator level than the partner\_order\_id. Only the partner\_order\_id is shared with Skipcart drivers.

📘

The "photo" field contains only the driver photo; the delivery photo and signature are not open to the public. See section 'Fetching Images from Skipcart' for further detail.

The Driver’s photo is open and does not require any security. It can be directly used in tag and directly assigned to src attribute in HTML.