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 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

Function

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.


Did this page help you?