Acknowledge orders
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
Acknowledgedstatus, 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}/acknowledgeFunction
Use this API to:
- Confirm the receipt of purchase orders.
- Update the order-line statuses to
Acknowledged. - Retrieve order details, including product information and quantities.
- Access shipping information and estimated fulfillment dates.
- Obtain the updated order information in JSON or XML forma
Sample request
curl --request POST \ --url https://marketplace.walmartapis.com/v3/orders/purchaseOrderId/acknowledge \ --header 'accept: application/json'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
Before sending the request, replace the placeholder purchase order ID with the actual purchase order ID and configure the required authentication credentials.
Replace the purchase order ID
Replace the purchaseOrderId in the endpoint with the purchase order ID you want to acknowledge.
Specify the response format
The request sample uses the following header to request a JSON response:
--header accept: application/json
Include authentication credentials
Ensure that your request includes the required Walmart Marketplace authentication headers and a valid access token.
Send the request
After replacing the purchase order ID and configuring authentication, send the POST request.
Sample responses
application/json
200
{ "order": { "purchaseOrderId": "1796277083022", "customerOrderId": "5281956426648", "customerEmailId": "[email protected]", "orderType": "PREORDER", "orderDate": 1568466571000, "shippingInfo": { "phone": "3155598681", "estimatedDeliveryDate": 1569438000000, "estimatedShipDate": 1568700000000, "methodCode": "Value", "postalAddress": { "name": "Kathryn Cole", "address1": "3258BWarners rd", "address2": "Garage", "city": "Warners", "state": "NY", "postalCode": "13164", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "4", "item": { "productName": "Beba Bean Pee-pee Teepee Airplane - Blue - Laundry Bag", "sku": "test1" }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 10 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 0.8 } }, "taxAndOtherFees": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 0.8 } } } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1568753156000, "orderLineStatuses": { "orderLineStatus": [ { "status": "Acknowledged", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" } } ] }, "fulfillment": { "fulfillmentOption": "S2H", "shipMethod": "VALUE", "pickUpDateTime": 1568919600000 } } ] } }
}400
{ "errors": [ { "code": "INVALID_REQUEST_CONTENT.GMP_ORDER_API", "description": "Invalid request content.", "info": "Request content is not valid.", "severity": "ERROR", "category": "DATA" } ]
}401
{ "errors": [ { "code": "UNAUTHORIZED.GMP_ORDER_API", "description": "Unauthorized request.", "info": "Authentication failed. Verify your credentials.", "severity": "ERROR", "category": "APPLICATION" } ]
}403
{ "errors": [ { "code": "FORBIDDEN.GMP_ORDER_API", "description": "Access denied.", "info": "You do not have permission to perform this action.", "severity": "ERROR", "category": "APPLICATION" } ]
}404
{ "errors": [ { "code": "NOT_FOUND.GMP_ORDER_API", "description": "Resource not found.", "info": "The requested purchase order was not found.", "severity": "ERROR", "category": "DATA" } ]
}429
{ "errors": [ { "code": "RATE_LIMIT_EXCEEDED.GMP_ORDER_API", "description": "Too many requests.", "info": "Rate limit exceeded. Retry after the specified time.", "severity": "ERROR", "category": "APPLICATION" } ]
}500
{ "errors": [ { "code": "INTERNAL_SERVER_ERROR.GMP_ORDER_API", "description": "An internal server error occurred.", "info": "Retry the request. If the issue persists, contact support.", "severity": "ERROR", "category": "SYSTEM" } ]
}application/xml
200
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:order xmlns:ns2="http://walmart.com/mp/orders" xmlns:ns3="http://walmart.com/mp/v3/orders" xmlns:ns4="com.walmart.services.common.model.money" xmlns:ns5="com.walmart.services.common.model.name" xmlns:ns6="com.walmart.services.common.model.address" xmlns:ns7="com.walmart.services.common.model.address.validation" xmlns:ns8="http://walmart.com/"> <ns3:purchaseOrderId> 1796277083022 </ns3:purchaseOrderId> <ns3:customerOrderId> 5281956426648 </ns3:customerOrderId> <ns3:customerEmailId> [email protected] </ns3:customerEmailId> <ns3:orderType> PREORDER </ns3:orderType> <ns3:orderDate> 2019-09-14T13:09:31.000Z </ns3:orderDate> <ns3:shippingInfo> <ns3:phone> 3155598681 </ns3:phone> <ns3:estimatedDeliveryDate> 2019-09-25T19:00:00.000Z </ns3:estimatedDeliveryDate> <ns3:estimatedShipDate> 2019-09-17T06:00:00.000Z </ns3:estimatedShipDate> <ns3:methodCode> Value </ns3:methodCode> <ns3:postalAddress> <ns3:name> Kathryn Cole </ns3:name> <ns3:address1> 3258BWarners rd </ns3:address1> <ns3:address2> Garage </ns3:address2> <ns3:city> Warners </ns3:city> <ns3:state> NY </ns3:state> <ns3:postalCode> 13164 </ns3:postalCode> <ns3:country> USA </ns3:country> <ns3:addressType> RESIDENTIAL </ns3:addressType> </ns3:postalAddress> </ns3:shippingInfo> <ns3:orderLines> <ns3:orderLine> <ns3:lineNumber> 4 </ns3:lineNumber> <ns3:item> <ns3:productName> Beba Bean Pee-pee Teepee Airplane - Blue - Laundry Bag </ns3:productName> <ns3:sku> test1 </ns3:sku> </ns3:item> <ns3:charges> <ns3:charge> <ns3:chargeType> PRODUCT </ns3:chargeType> <ns3:chargeName> ItemPrice </ns3:chargeName> <ns3:chargeAmount> <ns3:currency> USD </ns3:currency> <ns3:amount> 10.00 </ns3:amount> </ns3:chargeAmount> <ns3:tax> <ns3:taxName> Tax1 </ns3:taxName> <ns3:taxAmount> <ns3:currency> USD </ns3:currency> <ns3:amount> 0.80 </ns3:amount> </ns3:taxAmount> </ns3:tax> </ns3:charge> </ns3:charges> <ns3:orderLineQuantity> <ns3:unitOfMeasurement> EACH </ns3:unitOfMeasurement> <ns3:amount> 1 </ns3:amount> </ns3:orderLineQuantity> <ns3:statusDate> 2019-09-17T20:45:56.000Z </ns3:statusDate> <ns3:orderLineStatuses> <ns3:orderLineStatus> <ns3:status> Acknowledged </ns3:status> <ns3:statusQuantity> <ns3:unitOfMeasurement> EACH </ns3:unitOfMeasurement> <ns3:amount> 1 </ns3:amount> </ns3:statusQuantity> </ns3:orderLineStatus> </ns3:orderLineStatuses> <ns3:fulfillment> <ns3:fulfillmentOption> S2H </ns3:fulfillmentOption> <ns3:shipMethod> VALUE </ns3:shipMethod> <ns3:pickUpDateTime> 2019-09-19T19:00:00.000Z </ns3:pickUpDateTime> </ns3:fulfillment> </ns3:orderLine> </ns3:orderLines>
</ns3:order>Result
A successful request returns HTTP 200 and the updated order information in the requested JSON or XML format.
The response confirms that the order has been acknowledged by displaying the Acknowledged status for the applicable order lines.
The response can also contain the purchase order ID, customer order ID, product details, order line quantities, shipping information, estimated delivery dates, and fulfillment details.
Next steps
After successfully acknowledging an order, verify that the returned order lines have an Acknowledged status and confirm that the order details match the original purchase order.
Continue processing the order by preparing the items for fulfillment and using the Ship order lines API to submit shipment information, including the carrier and tracking number, when the order is ready to ship.
For unsuccessful requests, review the HTTP status code and error response, correct any request or authentication issues, and retry as appropriate.
Updated 10 days ago

