Updating an Order
Maintaining real-time order transparency is essential for building customer reliability and trust. We recommend using the 2026-01 version of the Orders API for the most efficient and streamlined order management workflow.
Status Updates
Providing real-time order status updates via the Orders API is not required but is highly encouraged:
- Customers receive text message updates through Weedmaps (learn more).
- Regular updates enhance customer trust and reduce inbound support inquiries.
- Providing order transparency directly improves customer retention and service reliability.
Receiving & Fulfillment
After an order is acknowledged via callback it'll be set as PENDING, in order to signal to the customer it's been received do the following:
- Callback: Respond to callback
DRAFTevent as noted in the Callbacks Guide - Acceptance: Set the order status to
IN_PROGRESSupon receipt if accepted. - Fulfillment Ready Pass
READY_FOR_ATTAINMENTto notify the customer that the order is ready for Pickup or Delivery.- Note: Messaging dynamically adjusts based on your WMID listing type (Delivery vs. Pickup).
Finalize Orders
After an order is submitted for fulfillment, subsequent statusupdates should be made to finalize the order:
- Apply
COMPLETE,CANCELED_CUSTOMER,CANCELED_SELLERorFAILED(Update Order Status).
Cancel Order
CANCELED_CUSTOMERcan be accompanied with acanceledReasonwhich updates the Weedmaps Order admin page.CANCELED_SELLERis applicable to a POS void or cancel reason.
Why Version 2026-01
As of January 5th, 2026 we've simplified our 2026-01 Orders APi to only require the status and an optional canceledReason in the body of the API call to update the status of an order. Other versions require additional order details, but this update streamlines the request to simplify order status updates. We recommend leveraging version 2026-01 as this is the easiest flow to support.
Here's a CURL example demonstrating a status and canceledReason update.
curl --request PUT \
--url https://api-g.weedmaps.com/oos/2026-01/merchants/{listing_id}/orders/{order_id} \
--header 'authorization: Bearer TOKEN' \
--header 'content-type: application/json' \
--data '{
"canceledReason": "OUT_OF_STOCK",
"status": "CANCELED_SELLER"
}'
Available Order Statuses
| Status | Displayed To User | Description |
|---|---|---|
| DRAFT | Draft | Order pending adjustments before checkout. |
| PENDING | New | Order placed, pending retailer review. |
| IN_PROGRESS | Preparing | Order accepted and in preparation. |
| READY_FOR_ATTAINMENT | Ready for Pickup or Ready for Delivery | Order ready for pickup or delivery dispatch. |
| COMPLETE | Complete | Order successfully fulfilled. |
| CANCELED_CUSTOMER | Canceled | Order canceled by the customer. |
| CANCELED_SELLER | Canceled | Order canceled by the retailer. |
| FAILED | Failed | Order failed to process. |
Canceled Reasons
When thestatus is CANCELED_CUSTOMERor CANCELED_SELLER, you may optionally include a canceledReasonin the body to provide the retailer further insight.
| Canceled Reasons |
|---|
OUT_OF_STOCK |
CUSTOMER_REQUEST |
PAYMENT_FAILURE |
FRAUD_DETECTED |
POS_CLOSED |
DELIVERY_ISSUE |
ORDER_TOO_EXPENSIVE |
ID_ISSUE |
CUSTOMER_NO_SHOW |
EXCEEDS_LIMIT |
OTHER |
Updated 11 days ago