Acknowledge an order
Call this endpoint to confirm that you have received an order and can fulfill it. Acknowledging new orders within four hours of creation updates their status in Walmart's system, showing that you plan to fulfill them.
Note:
- Once an order is in
Acknowledged
status, you can re-acknowledge if needed (for example, if there was an error on a previous call).- Do not acknowledge orders that have already been shipped or canceled.
- Walmart-fulfilled orders cannot be acknowledged because they are processed automatically. For these orders, proceed directly with shipping or tracking updates.
Endpoint
POST https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId}/acknowledge
Sample request
curl -X POST "https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId}/acknowledge" \ -H "Authorization: Basic <Base64EncodedClientID:ClientSecret>" \ -H "WM_SVC.NAME: Walmart Marketplace" \ -H "WM_QOS.CORRELATION_ID: 1234567890" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "orderLinaes": [ { "lineNumber": "4", "orderLineStatuses": [ { "status": "Acknowledged" } ] } ] }'
import requests url = "https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId}/acknowledge" headers = { "Authorization": "Basic <Base64EncodedClientID:ClientSecret>", "WM_SVC.NAME": "Walmart Marketplace", "WM_QOS.CORRELATION_ID": "1234567890", "Accept": "application/json", "Content-Type": "application/json"
} data = { "orderLines": [ { "lineNumber": "4", "orderLineStatuses": [ { "status": "Acknowledged" } ] } ]
} response = requests.post(url, headers=headers, json=data)
print(response.json())
Modify your code
- Replace
{purchaseOrderId}
in the endpoint URL with the actual purchase order ID you want to acknowledge. - Replace
<Base64EncodedClientID:ClientSecret>
with your Base64-encoded client credentials. - Update
WM_QOS.CORRELATION_ID
with a unique value for your request tracking. - Adjust the
orderLines
object to include the correct line numbers, SKUs, and quantities.
Sample request
{ "order": { "purchaseOrderId": "{purchaseOrderId}", "customerOrderId": "{customerOrderId}", "customerEmailId": "{customerEmailId}", "orderType": "PREORDER", "orderDate": "0123456789012", "shippingInfo": { "phone": "{customerPhone}", "estimatedDeliveryDate": "0123456789023", "estimatedShipDate": "0123456789034", "methodCode": "VALUE", "postalAddress": { "name": "{customerName}", "address1": "{addressLine1}", "address2": "{addressLine2}", "city": "{city}", "state": "{state}", "postalCode": "{postalCode}", "country": "{country}", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "4", "item": { "productName": "Example Product Name", "sku": "{sku}" }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 10 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 0.8 } } } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": "0123456789045", "orderLineStatuses": { "orderLineStatus": [ { "status": "Acknowledged", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" } } ] }, "fulfillment": { "fulfillmentOption": "S2H", "shipMethod": "VALUE", "pickUpDateTime": "0123456789056" } } ] } }
}
Result
If the request is successful, the API returns an HTTP status: 200 OK
along with a JSON object that shows the updated order details. The order is now in the “Acknowledged” status in Walmart’s system, confirming that you have received and plan to fulfill the order.
Updated 14 days ago