After you convert your item for fulfillment via Walmart Fulfillment Service (WFS) you can create an Inbound Order (IO).
To create an Inbound Shipment Order (IO), Call Create inbound Shipment API: POST /v3/inbound-shipments
Specify all required request parameters
You need to provide information in the request to create the IO to avoid any errors. Requests require these parameters:
- Create an ID for the shipment request –
inboundOrderId
- Provide a return address to return shipment if needed –
returnAddress
- Updated shipment quantity –
updatedShipmentQty
- Seller’s item ID –
sku
Optional Parameters
- addOnService – WFS Prep Services (addOnService). A new program that allows you to outsource your inbound inventory preparation to WFS for a small fee.
How It Works
- You can set a preference for each UPC on your IO (currently only Item Labeling service is offered). addOnService is an optional parameter.
- After you request a prep service, the system will notify your assigned WFS fulfillment center.
- When your items arrive, we’ll quickly complete your requested add on services (e.g., item labeling) and make the items available on Walmart.com.
How to prevent common errors
- Make sure that you have filled in all required fields in the API request call. If required parameters are missing, the IO cannot be created.
- Verify
productId
contains correct number of digits depending on which item code you specified for productType
: EAN, UPC or GTIN. - Make sure the
shipmentId
is unique for this IO request. If it was used previously, it will return errors.
Shipment Statuses
When you submit your request to create an Inbound Order, you will receive one of these order statuses in the response:
- Pending Shipment Details – Shipment is created, but still requires a shipment label or tracking information.
- Awaiting Delivery – Indicates that the shipment is created, shipping label and tracking are provided. WFS is waiting for Shipments to arrive at the warehouse. Shipments remain with Awaiting Delivery status until the first unit has been received. If the carrier states that your shipment has been delivered, but WFS indicates “Awaiting Delivery” it is likely due to backups at the inbound dock. To avoid backups, always schedule freight appointments with required document in advance.
- Receiving in Progress – Indicates the shipment is delivered to the warehouse and inventory is being filled.
- Closed – Indicates that WFS has fulfilled the IO.
- Cancelled – Indicates shipment was cancelled, and will not be sent to the WFS warehouse.
Example: Inbound Shipment Request
A successful request to create an inbound shipment:
{
"inboundOrderId": "32414541542",
"returnAddress": {
"addressLine1": "860 W California Ave",
"addressLine2": "",
"city": "Sunnyvale",
"stateCode": "CA",
"countryCode": "US",
"postalCode": "94086"
},
"orderItems": [
{
"productId": "231263112312",
"productType": "UPC",
"sku": "VV-631",
"itemDesc": "Blue jeans",
"itemQty": 123,
"vendorPackQty": 123,
"innerPackQty": 1,
"expectedDeliveryDate": "2020-05-19T00:00:00.000Z"
},
{
"productId": "1213223423131",
"productType": "EAN",
"sku": "VV-234",
"itemDesc": "Google mini",
"itemQty": 22,
"vendorPackQty": 2,
"innerPackQty": 11,
"expectedDeliveryDate": "2020-05-25T00:00:00.000Z"
}
]
}
Example: Inbound Order Response
Upon success, the API returns response with status “OK.”
HTTP/1.1 200 OK
Content-Length: xxx
Content-Type: application/json; charset=utf-8
{
"status": "OK",
"payload": [
{
"shipmentId": "2312355646",
"shipToAddress": {
"addressLine1": "860 W California Ave",
"addressLine2": "",
"city": "Sunnyvale",
"stateCode": "CA",
"countryCode": "US",
"postalCode": "94086"
},
"shipmentItems": [
{
"sku": "VV-631",
"itemQty": 123
}
]
}
]
}
Example: Inbound Shipment Response with Errors
If the API request fails, you will get the errors returned with FAIL status:
HTTP/1.1 400 BAD REQUEST
Content-Length: xxx
Content-Type: application/json; charset=utf-8
Error Response
{
"status": "FAIL",
"errors": [
{
"code": "400.INBOUND_SHIPMENTS.100",
"field": "vendorSku",
"description": "vendorSku cannot be null or empty",
"severity": "ERROR",
"category": "REQUEST",
"errorIdentifiers": {}
}
]
}
How does WFS decide which fulfillment center to send my Inbound Order?
WFS has an allocation engine to determine network capacity for order fulfillments, and sends your Inbound Order to the FC that can handle the shipment request.
Why is there a different expected delivery date in the response?
WFS may change the expected delivery date depending on Fulfillment center capacity. You might see a different entry in the response for expectedDeliveryDate
than what you provided in the request.
Check for IO errors and resubmit IO request
To check for errors, call the Inbound Shipment Errors API.
After you correct any errors in the Inbound Order, resubmit the request with the same Inbound Order ID: inboundOrderId
.