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.