Mx Integrations Order Retail Guide

Here's a simplified, structured version of the Wolt Retail Order Integration Workflow — specifically for manual acceptance and fulfillment using the Wolt Merchant App):

Retail Order Flow Overview

StepDescription
1Order appears in Wolt Merchant App
2Venue staff accepts order manually
3Items are picked in App Lite (substitutions handled)
4Order marked ready in App Lite
5Wolt sends "Order Ready" webhook
6(Optional) Courier pickup webhook sent
7Partner pulls updated order details from Wolt API
8Partner sends order to internal systems
9Wolt sends "Order Delivered" webhook

Key Webhook Notifications

1. Order Ready Notification

Triggered after venue staff completes picking and marks the order as ready in the App Lite.

Payload Example

{

  "id": "90f5c25cbbfb3d131a46e643",

  "type": "order.notification",

  "order": {

    "id": "90f5be47fc97e11107f8a480",

    "venue_id": "9a5c7e3102fe6a000c4b562b",

    "status": "READY",

    "resource_url": "https://pos-integration-service.wolt.com/orders/90f5be47fc97e11107f8a480"

  },

  "created_at": "2021-07-19T18:20:12.378509Z"

}

2. (Courier) Courier approaching the venue  

Sent when courier is approaching the venue

Example Payload

{

  "id": "90f5c25cbbfb3d131a46e643",

  "type": "courier.notification",

  "order": {

    "id": "90f5be47fc97e11107f8a480",

    "venue_id": "9a5c7e3102fe6a000c4b562b",

    "resource_url": "https://pos-integration-service.wolt.com/orders/90f5be47fc97e11107f8a480"

  },

"courier_details": { "courier_pickup_eta": "2025-03-29T11:16:43.000Z" },

  "created_at": "2021-07-19T18:20:12.378509Z"

3. Courier Pickup Notification (Optional)

Sent when the Wolt courier picks up the order.

Payload Example

{

  "id": "6630d3034b4f2f54c43c727a",

  "type": "pickup_completed.notification",

  "order": {

    "id": "90f5be47fc97e11107f8a480",

    "venue_id": "9a5c7e3102fe6a000c4b562b",

    "resource_url": "https://pos-integration-service.wolt.com/orders/90f5be47fc97e11107f8a480"

  },

  "details": {

    "is_pickup_completed": true

  },

  "created_at": "2021-07-19T18:20:12.378509Z"

}

4. Order Delivered Notification

Sent when the courier marks the order as delivered.

Payload Example

{

  "id": "90f5c25cbbfb3d131a46e643",

  "type": "order.notification",

  "order": {

    "id": "90f5be47fc97e11107f8a480",

    "venue_id": "9a5c7e3102fe6a000c4b562b",

    "status": "DELIVERED",

    "resource_url": "https://pos-integration-service.wolt.com/orders/90f5be47fc97e11107f8a480"

  },

  "created_at": "2021-07-19T18:20:12.378509Z"

}

Pulling Final Order Details

The order_ready webhook does not include full order contents. Use the resource_url to fetch complete order data — including any updates from substitutions or missing items.

curl -H "Authorization: Bearer {{access_token}}" \

     https://pos-integration-service.wolt.com/orders/{{order_id}}

Important Notes

  • Order modifications (substitutions, missing items) are reflected in the API response when you pull order details after the READY status.

  • Treat webhook notifications as triggers and always pull full order data before processing internally.

  • Ensure your system handles out-of-order events, retries, and validates against duplicate processing.