Walmart Dropship Vendor Orders API
The Walmart Order Management API help 1P suppliers stay up to date on order fulfillment.
The Walmart Order Management API help 1P suppliers stay up to date on order fulfillment.
openapi: 3.0.1
info:
title: Walmart DSV Order Management
description: |
Drop ship vendors (DSV) use the DSV Order Management API to stay up to date on order fulfillment.
**May 2024**<br>Built: 05/09/2024, 14:39:22
version: '1.0'
servers:
- url: https://api-gateway.walmart.com
description: Production URL
- url: https://sandbox.walmartapis.com
description: Sandbox URL
paths:
"/v3/orders/{purchaseOrderId}/shipping":
post:
tags:
- DSV Orders
operationId: postShipOrderLines
summary: Walmart Ship One or More Purchase Order Lines
description: "<p style=\"color:red; font-size:larger\">POST <walmartAuthServerUrl>/v3/orders/{purchaseOrderId}/shipping</p>\n\nThis request allows consumers to ship one or more purchase order (PO) lines. \n\nFor Site to Store (S2S) orders, package and pallet advance ship notices (ASN) need to be included in the request payload.\n\nChanging the status of order lines to `Shipped` triggers a charge to the customer. \nIn order to avoid underselling, orders must be acknowledged before sending a shipping update. \nOnce an order line is marked as shipped, it cannot be updated.\n\nNote: `shipDateTime` must be in UTC.\n\nThe response to a successful call contains the order with the shipped line item.\n"
parameters:
- in: path
name: purchaseOrderId
required: true
schema:
type: string
description: |
Specifies an identifier associated with the purchase order.
This value is used to query a purchase order.
Example(s):<br>
2581154514813
example: '2581154514813'
- in: query
name: shipNode
required: true
schema:
type: string
description: |
Specifies the distribution facility distributor identifier.
This parameter identifies each facility from which the inventory is requested. The identifier is autogenerated during drop ship vendor (DSV) account creation. Every time users add or update a facility in Supplier Center, a new identifier is generated. Ensure this value is up to date.
Example(s):<br>
123456701
example: '123456701'
- in: header
name: Accept
required: false
schema:
type: string
description: |
Specifies the data type expected in a response sent from the server.
Valid values are:
| Value | Meaning |
| --- | --- |
| application/xml | XML format for data returned in response. |
| application/json | JSON format for data returned in response. |
example: application/xml
- in: header
name: WM_CONSUMER.CHANNEL.TYPE
required: false
schema:
type: string
description: |
Specifies an identifier that tracks the consumer request by channel.
Use the consumer channel type received during onboarding.
See the system administrator or developer management for the `WM_CONSUMER.CHANNEL.TYPE` value.
example: 0f3e4dd4-0514-4346-b39d-…
- in: header
name: WM_QOS.CORRELATION_ID
required: true
schema:
type: string
description: "Specifies an identifier for each API call and is used to track and debug issues.\n\n This may be any value, but cannot be null or omitted. \n"
example: 6474-a253
- in: header
name: WM_SEC.ACCESS_TOKEN
required: true
schema:
type: string
description: |
Specifies the access token retrieved in the <a href="https://developer.walmart.com/api/us/supplier/auth#operation/dsvTokenAPI">Create Access Token</a> request.
This value is required for token-based authentication.
example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM…
- in: header
name: Content-Type
required: true
schema:
type: string
description: "Specifies the format of request and response body data. \n\nIt specifies if the payload is JSON, XML, form data, or other data type. \nSetting `Content-Type` appropriately is essential when exchanging formatted data with APIs.\n\nValid values are:\n\n| Value | Meaning |\n| --- | --- |\n| application/xml | XML format for request and response body data. |\n| application/json | JSON format for request and response body data. |\n"
example: application/xml
requestBody:
description: Request fields
content:
applications/json:
schema:
type: object
required:
- orderLines
properties:
orderLines:
type: object
description: 'Specifies an object for a list of order lines in the order.
'
required:
- orderLine
properties:
orderLine:
type: array
description: 'Specifies an array of objects for purchase order line information for each item.
'
items:
type: object
required:
- lineNumber
- orderLineStatuses
properties:
lineNumber:
type: string
description: 'Specifies the line number associated with the details for the individual item in the purchase order.
'
example: '1'
orderLineStatuses:
type: object
description: "Specifies an object that lists statuses for order lines. \n"
required:
- orderLineStatus
properties:
orderLineStatus:
type: array
description: "Specifies an array of objects for details about individual order line status. \n"
items:
type: object
required:
- status
- statusQuantity
- trackingInfo
properties:
status:
type: string
description: "Specifies the status of the order line. \n\nValid values are: \n \n| Value | Meaning |\n| --- | --- |\n| Created | The purchase order line has been created. |\n| Acknowledged | The purchase order line has been acknowledged. |\n| Shipped | The purchase order line has been shipped. |\n| Delivered | The purchase order line has been delivered. |\n| Cancelled | The purchase order line has been cancelled. |\n| Refund | The purchase order line has been refunded. |\n\nThe `status` value should be `Shipped`.\n\nExample(s):<br>\nShipped\n"
enum:
- Created
- Acknowledged
- Shipped
- Delivered
- Cancelled
- Refund
example: Shipped
asn:
type: object
description: 'Specifies an object for advance ship notice (ASN) information.
'
required:
- packageASN
properties:
packageASN:
type: string
description: |
Specifies the package advance ship notice (ASN).
Example(s):<br>
1061414119283746
example: '1061414119283746'
palletASN:
type: string
description: |
Specifies the pallet advance ship notice (ASN).
Example(s):<br>
10614141192837465
example: '10614141192837465'
statusQuantity:
type: object
description: 'Specifies an object for details about the status quantity update.
'
required:
- unitOfMeasurement
- amount
properties:
unitOfMeasurement:
type: string
description: "Specifies the unit of measurement for the status quantity.\n\nValid values are: \n\n| Value | Meaning |\n| --- | --- |\n| EACH | Each unit of measurement |\n| EA | Each unit of measurement |\n\nExample(s):<br>\nEACH\n"
enum:
- EACH
- EA
example: EACH
amount:
type: string
description: |
Specifies the amount or value of the status quantity.
Always use `1`.
Example(s):<br>
1
example: '1'
trackingInfo:
type: object
description: 'Specifies an object for tracking information, to include package shipment and tracking updates.
'
required:
- shipDateTime
- carrierName
- methodCode
- trackingNumber
properties:
shipDateTime:
type: string
format: date-time
description: "Specifies a date-timestamp for when the date the package was shipped, in UTC format. \n\nExample(s):<br>\n1513840399000\n"
example: '1513840399000'
carrierName:
type: object
description: 'Specifies an object for information about package carriers.
'
properties:
otherCarrier:
type: string
description: "Specifies a secondary or \"other\" package shipment carrier name. \n\nWhen `otherCarrier` is used, `trackingURL` is required. \n\nExample(s):<br>\nUSPS\n"
example: USPS
carrier:
type: string
enum:
- UPS
- USPS
- FedEx
- Airborne
- OnTrac
- DHL
- LS
- UDS
- UPSMI
- FDX
- FEDEXSP
description: "Specifies the package shipment carrier.\n\nValid values are: \n\n| Value | Meaning |\n| --- | --- |\n| UPS | United Postal Service |\n| USPS | United States Postal Service |\n| FedEx | Federal Express |\n| Airborne | Airborne |\n| OnTrac | OnTrac |\n| DHL | DHL Ecommerce - US |\n| LS | LaserShip |\n| UDS | United Delivery Service |\n| UPSMI | UPS Main Innovations |\n| FDX | FedEx |\n| FEDEXSP | FedEx SmartPost |\n\nExample(s):<br>\nUPS<br>\nUSPS<br>\nFedEx\n"
example: USPS
methodCode:
type: string
description: "Specifies the shipping method code.\n\nThe value can be one of the following: `Standard`, `Express`, `OneDay`, or `Freight`.\n\nValid values are: \n\n| Value | Meaning |\n| --- | --- |\n| Standard | Standard shipping method. |\n| Express | Express shipping method. |\n| OneDay | One-day shipping method. |\n| Freight | Freight shipping method. |\n| WhiteGlove | White glove shipping method. |\n| Value | Value shipping method. |\n\nExample(s):<br>\nStandard<br>\nExpress<br>\nOneDay<br>\nFreight\n"
enum:
- Standard
- Express
- OneDay
- Freight
- WhiteGlove
- Value
example: Standard
trackingNumber:
type: string
description: "Specifies the shipment tracking number. \n\nExample(s):<br>\n13579086421357908642\n"
example: '13579086421357908642'
trackingUrl:
type: string
description: "Specifies the URL for tracking the shipment. \n\nIf `otherCarrier` is used, `trackingUrl` is required.\n\nExample(s):<br>\nwww.genericshipmentcompany.tracking.com\n"
example: www.genericshipmentcompany.tracking.com
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
type: object
properties:
purchaseOrderId:
type: string
description: "Indicates an identifier associated with the supplier's purchase order. \n\nExample(s):<br>\n2581154514813\n"
example: '2581154514813'
customerOrderId:
type: string
description: "Indicates an identifier associated with the sales order for a specified customer. \n\nExample(s):<br>\n6251732862080\n"
example: '6251732862080'
customerEmailId:
type: string
description: "Indicates the email address of the customer for the sales order. \n\nExample(s):<br>\[email protected]\n"
example: [email protected]
orderType:
type: string
description: "Indicates if the order is a regular order or replacement order. \n\nValid values are: \n\n| Value | Meaning |\n| --- | --- |\n| REGULAR | Indicates a regular order. |\n| REPLACEMENT | Indicates a replacement order. | \n\nThis value is provided in response only if query parameter `replacementInfo=true`.\n\nExample(s):<br>\nREGULAR\n"
example: REGULAR
originalCustomerOrderId:
type: string
description: |
Indicates the customer order identifier associated with the original customer order on which the replacement is created.
Example(s):<br>
BCA1732862080
example: BCA1732862080
orderDate:
type: integer
format: int64
description: "Indicates the date-timestamp of when the customer submitted the sales order. \n\nExample(s):<br>\n1513812227000\n"
example: 1513812227000
buyerId:
type: string
format: uuid
description: |
Indicates an identiifer associated with the specific buyer.
Example(s):<br>
fbbd8041-5d0c-4533-b95a-adc84c4f1a10
example: fbbd8041-5d0c-4533-b95a-adc84c4f1a10
mart:
type: string
description: |
Indicates mart information.
Example(s):<br>
walmart.com
example: walmart.com
isGuest:
type: boolean
description: "Indicates a guest customer.\n\nIf `true`, the customer is a guest customer. \n\nIf `false`, the customer is not a guest customer. \n\nExample(s):<br>\nfalse\n"
example: false
shippingInfo:
type: object
description: 'Indicates an object for shipping information (provided by the customer to the supplier).
'
properties:
phone:
type: string
description: |
Indicates the customer phone number.
Example(s):<br>
6505852323
example: '6505852323'
estimatedDeliveryDate:
type: string
format: date-time
description: |
Indicates the estimated time and date for the delivery of the item, in format: yyyy-MM-ddThh:MM:ssZ.
Example(s):<br>
2023-06-15T06:00:00Z
example: '2023-06-15T06:00:00Z'
estimatedShipDate:
type: string
format: date-time
description: "Indicates the estimated time and date when the item will be shipped, in format: yyyy-MM-ddThh:MM:ssZ \n\nExample(s):<br>\n2023-06-16T06:00:00Z\n"
example: '2023-06-16T06:00:00Z'
methodCode:
type: string
description: "Indicates the shipping method code.\n\nThe value can be one of the following: `Standard`, `Express`, `OneDay`, or `Freight`.\n\nValid values are: \n\n| Value | Meaning |\n| --- | --- |\n| Standard | Standard shipping method. |\n| Express | Express shipping method. |\n| OneDay | One-day shipping method. |\n| Freight | Freight shipping method. |\n| WhiteGlove | White glove shipping method. |\n| Value | Value shipping method. |\n"
example: Standard
enum:
- Standard
- Express
- OneDay
- Freight
- WhiteGlove
- Value
postalAddress:
type: object
description: "Indicates an object for elements of the customer postal address. \n"
properties:
name:
type: string
description: |
Indicates the name associated with the shipment.
Example(s):<br>
Jordan Smith
example: Jordan Smith
address1:
type: string
description: "Indicates the first line of the shipping address. \n\nExample(s):<br>\n1357 Main St\n"
example: 1357 Main St
address2:
type: string
description: |
Indicates the second line of the shipping address.
Example(s):<br>
Suite 2B
example: Suite 2B
city:
type: string
description: "Indicates the city of the shipping address. \n\nExample(s):<br>\nFremont\n"
example: Fremont
state:
type: string
description: "Indicates the state of the shipping address. \n\nExample(s):<br>\nCA<br>\nTN<br>\nKY\n"
example: CA
postalCode:
type: string
description: "Indicates the ZIP Code™ of the shipping address. \n\nExample(s):<br>\n94536\n"
example: '94536'
country:
type: string
description: "Indicates the country of the shipping address. \n\nExample(s):<br>\nUSA\n"
example: USA
addressType:
type: string
description: |
Indicates the address type.
Example(s):<br>
RESIDENTIAL
example: RESIDENTIAL
orderLines:
type: object
description: 'Indicates an object for a list of order lines in the order.
'
properties:
orderLine:
type: array
description: 'Indicates an array of objects for purchase order line information for each item.
'
items:
type: object
properties:
lineNumber:
type: string
description: 'Indicates the line number associated with the details for the individual item in the purchase order.
'
example: '1'
item:
type: object
description: 'Indicates an object for item information on the order line.
'
properties:
productName:
type: string
description: "Indicates the name of the product associated with the line item. \n\nExample(s):<br>\nKenmore CF1<br>\n2086883 Canister Secondary Filter Generic 2 Pack\n"
example: Photo Necktie (Printed on 2 Sides)
sku:
type: string
description: |
Indicates the stock keeping unit (SKU) item identifier.
This is a product identifier provided by the drop ship vendor (DSV) to identify each item.
Example(s):<br>
1487132332472
example: '1487132332472'
charges:
type: object
description: 'Indicates an object for information relating to the charge for the order line.
'
properties:
charge:
type: array
description: "Indicates an array of objects for a list of elements that make up a charge. \n"
items:
type: object
properties:
chargeType:
type: string
description: "Indicates the charge type for line items.\n\nValid values are: \n\n| Value | Meaning |\n| --- | --- |\n| PRODUCT | Indicates the product charges for the specified line item in purchase order. |\n| SHIPPING | Indicates the shipping charges for the specified purchase order line item. Walmart only supports UTC `shipDateTime`. |\n\nFor more about charge types, reference the <a href=\"https://developer.walmart.com/doc/us/us-supplier/us-supplier-orders/\">Drop Ship Vendor (DSV) Order Charge Types</a> section in the DSV Orders guide.\n\nExample(s):<br>\nPRODUCT\n"
example: PRODUCT
chargeName:
type: string
description: "Indicates the charge name associated with the charge type. \n\nIf `PRODUCT`, the charge name is Item Price. \n\nIf `SHIPPING`, the charge name is Shipping. \n\nExample(s):<br>\nItem Price<br>\nShipping\n"
example: Item Price
chargeAmount:
type: object
description: "Indicates an object for charge amount information. \n"
properties:
currency:
type: string
description: "Indicates the type of currency (in the three-letter ISO 4217 currency code) for the charge.\n\nValue values include, but are not limited to: \n\n| Value | Meaning |\n| --- | --- |\n| CAD | Canadian Dollar |\n| GBP | Great Britain Pound |\n| USD | United States Dolllar |\n\nReference the ISO 4217 standard for a complete listing of three-letter currency codes. \n\nExample(s):<br>\nUSD<br>\nGBP<br>\nCAD\n"
example: USD
amount:
type: number
description: "Indicates the numeric amount for the charge. \n\nExample(s):<br>\n9.99\n"
example: 9.99
tax:
type: object
description: 'Indicates an object for tax information for the charge, including `taxName` and `taxAmount`.
'
properties:
taxName:
type: string
description: |
Indicates the name associated with the tax.
Example(s):<br>
Sales Tax
example: Sales Tax
taxAmount:
type: object
description: "Indicates an object for details about the amount of the tax charge. \n"
properties:
currency:
type: string
description: "Indicates the type of currency (in the three-letter ISO 4217 currency code) for the charge.\n\nValue values include, but are not limited to: \n\n| Value | Meaning |\n| --- | --- |\n| CAD | Canadian Dollar |\n| GBP | Great Britain Pound |\n| USD | United States Dolllar |\n\nReference the ISO 4217 standard for a complete listing of three-letter currency codes. \n\nExample(s):<br>\nUSD<br>\nGBP<br>\nCAD\n"
example: USD
amount:
type: number
description: "Indicates the numeric amount for the charge. \n\nExample(s):<br>\n9.99\n"
example: 9.99
orderLineQuantity:
type: object
description: "Indicates an object for details about the status update. \n"
properties:
unitOfMeasurement:
type: string
description: "Indicates the unit of measurement for the order line quantity.\n\nValid values are: \n\n| Value | Meaning |\n| --- | --- |\n| EACH | Each unit of measurement |\n| EA | Each unit of measurement |\n\nExample(s):<br>\nEACH\n"
enum:
- EACH
- EA
example: EACH
amount:
type: string
description: |
Indicates the numeric amount for the order line quantity.
Always use `1`.
Example(s):<br>
1
example: '1'
statusDate:
type: string
format: date-time
description: "Indicates the date-timestamp for the most recent order status. \n\nExample(s):<br> \n1514426146000\n"
example: '1514426146000'
orderLineStatuses:
type: object
description: "Indicates an object that lists statuses for order lines. \n"
properties:
orderLineStatus:
type: array
description: "Indicates an array of objects for details about individual order line status. \n"
items:
type: object
properties:
status:
type: string
description: "Indicates the status of the order line. \n\nValid values are: \n\n| Value | Meaning |\n| --- | --- |\n| Created | The purchase order line has been created. |\n| Acknowledged | The purchase order line has been acknowledg
# --- truncated at 32 KB (555 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/walmart/refs/heads/main/openapi/walmart-dropship-vendor-orders-openapi-original.yml