Walmart Dropship Vendor Orders API

The Walmart Order Management API help 1P suppliers stay up to date on order fulfillment.

OpenAPI Specification

walmart-dropship-vendor-orders-openapi-original.yml Raw ↑
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&#46;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&trade; 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