Wolt · AsyncAPI Specification

Wolt Webhooks

Version

View Spec View on GitHub CompanyMarketplaceFood DeliveryLast Mile DeliveryLogisticsWebhooksOAuthPoint of SaleAsyncAPIWebhooksEvents

AsyncAPI Specification

wolt-webhooks.yml Raw ↑
generated: '2026-07-21'
method: searched
source: https://developer.wolt.com/docs/webhook
spec_type: Webhooks
docs:
  marketplace: https://developer.wolt.com/docs/webhook
  drive: https://developer.wolt.com/docs/wolt-drive/webhooks
transport: HTTP POST callback to a merchant-registered callback_url
security:
  marketplace:
    header: WOLT-SIGNATURE
    algorithm: HMAC-SHA256 hex over the request body using the client secret (min 128-bit)
  drive:
    mechanism: each event encoded as an HS256-signed JWT in a "token" field, verified with the registered client_secret
retries: up to 3 retries at 5-second intervals until the merchant returns HTTP 200
surfaces:
- name: Marketplace order events
  payload_fields: [id, type, order.id, order.venue_id, order.status, order.resource_url, created_at]
  events:
  - name: CREATED
    description: New order received
  - name: PRODUCTION
    description: Order accepted/confirmed by the venue
  - name: READY
    description: Preparation/collection completed
  - name: CANCELED
    description: Order rejected by merchant, customer, or Wolt
  - name: COURIER ARRIVAL
    optional: true
    description: Courier arriving soon
  - name: PICK-UP-COMPLETED
    optional: true
    description: Courier pickup finished
  - name: DELIVERED
    description: Order delivered to customer
  - name: REVIEW
    optional: true
    description: Customer provided a rating
- name: Marketplace venue events
  payload_fields: [event_type, venue_id, external_venue_id, detected_at, details]
  events:
  - name: REJECTION_ALERT_TRIGGERED
    description: Venue reached 3 consecutive rejections
  - name: REJECTION_ALERT_RECOVERED
    description: Successful order after a rejection alert
  - name: VENUE_OFFLINE_ALERT_TRIGGERED
    description: Venue went offline during opening hours
  - name: VENUE_OFFLINE_ALERT_RECOVERED
    description: Venue back online
  - name: OPENING_HOURS_UPDATED
    description: Opening hours changed (regular or exceptional)
- name: Wolt Drive delivery events
  payload_fields: [dispatched_at, type, id, venue_id, wolt_order_reference_id, tracking_reference, merchant_order_reference_id, order_number, price, pickup.eta, dropoff.eta, courier, parcels]
  events:
  - name: order.received
    description: Order has been received successfully
  - name: order.rejected
    description: Order has been rejected
  - name: order.pickup_eta_updated
    description: Order pickup ETA is updated
  - name: order.pickup_started
    description: Courier has started a pickup task
  - name: order.picked_up
    description: Order has been picked up from venue
  - name: order.pickup_arrival
    description: Courier is arriving to pickup location
  - name: order.dropoff_started
    description: Courier has started a dropoff task
  - name: order.dropoff_arrival
    description: Courier is arriving to dropoff location
  - name: order.dropoff_completed
    description: Courier has completed the dropoff task
  - name: order.delivered
    description: Complete order has been delivered
  - name: order.dropoff_eta_updated
    description: Order dropoff ETA is updated
  - name: order.handshake_delivery
    description: Sent when delivery handshake verification is enabled
  - name: order.customer_no_show
    optional: true
    description: Customer not reached; delivery unsuccessful
  - name: order.location_updated
    optional: true
    description: Courier location info (heavy event load when enabled)