> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maple.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# End-to-end example

> A complete walkthrough from sandbox key to a fulfilled order, in one place.

<Warning>
  **Under construction.** This page will grow into a single, copy-along walkthrough that takes one order from a fresh
  sandbox key all the way to `FULFILLED`, with every request and webhook shown in sequence. For now it links the pieces
  together; the runnable end-to-end script is still being written.
</Warning>

This tutorial ties the individual guides into one narrative. If you want the reference for any step, follow the links — each lands on the page that covers it in depth.

## What you'll build

A minimal but complete ordering integration: connect a sandbox location, publish a small menu, receive a real order over a webhook, and drive it to `FULFILLED`.

## Steps

<Steps>
  <Step title="Get set up">
    Get a sandbox key and make your first authenticated call. Follow the [Quickstart](/developer-api/quickstart) through
    listing locations and connecting one.
  </Step>

  <Step title="Publish a menu">
    Publish a small menu so the order you receive references items you recognize. See [Publish a
    menu](/developer-api/guides/publish-menu).
  </Step>

  <Step title="Place a test order">
    Sandbox orders come through the same path as production — a customer places an order at the location. During
    onboarding, Maple configures a **voice agent** (a phone number) on your sandbox location, so the way to generate a
    test order is to **call that number and place an order**, just as a customer would. The order flows through Maple
    and is pushed to your endpoint as an `order.notification`. If you don't know your sandbox location's number,
    [ask the Maple team](https://maple.inc/get-started).
  </Step>

  <Step title="Receive and verify the webhook">
    Verify the signature and read the order. See [Receive and decide
    orders](/developer-api/guides/receive-orders#step-3--verify-every-delivery).
  </Step>

  <Step title="Drive the order to fulfilled">
    Accept, mark ready, then complete — watching the status move `PENDING → ACCEPTED → READY → FULFILLED`. See the
    [Order lifecycle](/developer-api/concepts/order-lifecycle).
  </Step>
</Steps>

## Next

Until this walkthrough is complete, the [Quickstart](/developer-api/quickstart), [Receive and decide
orders](/developer-api/guides/receive-orders), and [Publish a menu](/developer-api/guides/publish-menu) guides cover the
same ground in depth.
