Skipcart webhooks enable the partner to be informed at each step throughout the order process.

Each webhook payload contains a single event (event_status) that is associated to a particular order status (order_status). As events are triggered on the Skipcart side, order stauses will also update accordingly.

A comprehensive list of all possible events can be found in the table below.

Event Status

Event Description

Correlating Order Status

Event Frequency

Webhook is Called/Frequency

new

New order created in Skipcart system, either by Partner API or
order entry system in Skipcart

new

Once

No

cancelled

Order is cancelled by partner

cancelled

Once

No

confirmed

Order is assigned to a specific driver (new orders & rejected
driver orders)

confirmed

Once

Yes
Immediately

enroute_to_pickup

Driver is on the way to store for pickup

confirmed

Every 30 seconds

Yes
When within 15 minute of arrival to store, every 30 seconds

geofence_at_pickup

Driver enters the pickup location geofence

confirmed

Every 30 seconds

Yes
Immediately

arrived_at_store

Driver arrives at store for pickup and confirms arrival in Skipcart app

confirmed

Once

Yes
Immediately

partner_rejected

Partner rejects driver partner for delivery and new driver to be identified

new

Once

No

out_for_delivery

Store pickup has been completed and order is enroute to customer destination

out_for_delivery

Once

Yes
Called when driver indicates via driver app they have picked up delivery contents

enroute_to_delivery

Store pickup has been completed and order is enroute to customer destination

out_for_delivery

Every 30 seconds

Yes
Every 30 seconds

delivered

Order is delivered to customer

delivered

Once

Yes
Immediately

customer_refused

Customer refuses to accept the order

out_for_delivery

Once

No

order_expired

Order timed out. Default delivery window is 60 minutes.

out_for_delivery

Once

No

return_started

Event is triggered when order_expired or customer_refused events occur to notify partner of pending return

out_for_delivery

Once

Yes
Immediately

return_enroute_to_store

Driver enroute to store to complete return

out_for_delivery

Every 30 seconds

Yes
Every 30 seconds

return_at_store

Driver reached store to complete return

out_for_delivery

Once

Yes
Immediately

return_delivered

Order is returned to store and store representative acknowledges return on driver's Skipcart app

delivered

Once

Yes
Immediately

schedule_failed

Skipcart systems could not return the schedule (reason code included in response)

schedule_failed

Once

No (Quote Partners)
Yes (Legacy Partners)
Immediately

delivery_proof_uploaded

Delivery proofs are uploaded to Skipcart. This occurs at a separate interval than delivered and return_delivered events to allow time for images to be received

delivered

Once

Yes
Immediately

driver_cancelled_pickup

Driver has accepted an order and subsequently cancels it before out_for_delivery event

new

Once

Yes
Immediately

skipcart_cancelled

If there are no drivers to deliver an order by the delivery window + 30 additional minutes, Skipcart automatically cancels the order

cancelled

Once

Yes
Immediately once time limit reached

retailer_cancelled

Partner/merchant cancels the order

cancelled

Once

No

geofence_customer_dropoff

When driver arrives at customer dropoff location, this event triggers automatically once driver enters the geofence (supresses enroute_to_delivery event when triggered)

out_for_delivery

Every 30 seconds when within geofence

Yes
Every 30 seconds

at_dropoff

Driver arrives at customer door/entrance and marks 'Complete Delivery' in Skipcart app. Also triggers signature capture in the Skipcart driver app.

out_for_delivery

Once

Yes
Immediately

close_order

Customer is unavailable or refuses the delivery. Will return a reason code in response.

close_order

Once

Yes
Immediately