Confirmation and error interface

This page describes the data format specification for the transfer of order-related confirmation and error data between Walmart.com and all suppliers, including drop-ship vendors.

You can download this document in Word format: Walmart.com Drop Ship Vendor_Error Confirm Interfaces_XML.docx

Interface description

Data files

This interface supports two response files:

  • Confirmation file: Contains a file confirmation (sent both directions between a supplier and Walmart.com).
  • Error file: Contains a file error message (sent in both directions between a supplier and Walmart.com).

File transfer process

Each file transfer entails the following three steps:

  1. The sender generates a data file and pushes it to the recipient's server.
  2. The recipient parses the received file and validates the file format and data consistency.
  3. The recipient replies according to the following rules:
    • If the file parses, then the recipient replies with a confirmation file to the sender.
    • If the file does not parse, the recipient replies with an error file.
    • Never send a confirmation file in response to an error file.

Sample confirmation file

<WMI> <WMIFILEHEADER FILEID="674155.20091104.130037.986539" FILETYPE="FFC" VERSION="4.0.0"> <FH_TO ID="2677" NAME="Walmart.com "/> <FH_FROM ID="600055" NAME="AAA Brands"> <FH_CONTACT EMAIL="unknown" NAME="0" PHONE="0000000" PHONEEXT="000"/> </FH_FROM> </WMIFILEHEADER> <WMIFILECONFIRM FILEID="674155.20091103.175652.451452" FILETYPE="FOR"/>
</WMI>

Interface design and implementation

System requirements

Walmart.com and the supplier send messages as ASCII text files in XML format. After creating a file, its creator pushes it to the recipient.

Error handling & resend process

Error files are used for messaging. When an error file is received, it is assumed that the previously received file was not processed and no data was received. The sender will receive only the error file and resend a valid file as soon as possible. File resend is a manual process on Walmart.com side.

Scheduling & volume analysis

The expected order volume is different for each supplier. Estimates can be obtained from the Walmart.com Logistics and/or Merchandising Teams. Variations on the standard schedule can be negotiated between each supplier. Inbound Walmart.com messages are processed as they are uploaded to the gateway server. Each supplier is expected to send files as follows:

  • Initial confirmation or error files: Within one hour of each file transmitted to the supplier, a confirmation or error file response is expected. This acknowledges the receipt of the file and indicates whether it passed file validation checks.
  • Processing error files: As the supplier processes each file, an error file is generated if bad data is found. This error message is expected within four hours of file transmission.

General XML file structure

Initial XML declaration

The first line of the file defines the XML standard version and the character encoding used in the file. The format is:

XML data definition

Each data element is described in the following bullet points:

  • XPath location: The location of each element or attribute within the data element is defined based on Xpath notation.

    • If the Xpath begins with a / character, then it is absolute within the XML message (for example, /WMI/WMIHEADER/FH_TO@ID).
    • If the Xpath begins with any other character, then it is relative to the specified reference node (for example, FH_TO@ID, with a reference node of /WMI/WMIHEADER).

    For more information, refer to the XML Path Language documentation .

  • Required or optional: Specifies whether each element or attribute is required to populate its parent element.

    • If optional, then the element or attribute may be populated with no data or may be omitted entirely. Note that most optional data must be populated based on certain conditional business rules, so this must be considered when validating the file.
    • If required, then the element or attribute must exist and may not be empty.
  • Data type: Specifies the type of data that's contained in an element or attribute.

    • STR – A string value that can contain alphanumeric characters and punctuation. This is parsed data, so any XML markup delimiters must be escaped with a character string as follows:

      • Replace greater than (>) with \>
      • Replace less than (<) with \<
      • Replace ampersand (&) with \&
      • Replace double-quote (") with \"
      • Replace apostrophe (') with \'
      • For more information, refer to the Extensible Markup Language documentation
    • DEC – A decimal value that contains only numeric data and a decimal point. If the decimal is not present, it’s implied at the end.

    • NUM – Numeric data that can’t contain any alphabetic characters or punctuation.

    • DTM – A formatted date-time value that contains only numeric and punctuation characters. It is formatted as MM/DD/CCYY.hh24.mi, where MM/DD/CCYY is the date and hh24.mi is the 24-hour time (for example, 12/11/2025.17.01).

    • FID – A formatted file identifier that contains only numeric and punctuation characters. It is built from the file generation date and time, the WMFC vendor number and a six-digit random number (to guarantee uniqueness). The format is: VVVVVVVVV.YYYYMMDD.HHMMSS.NNNNNN, using the following notation:

      • VVVVVVVVV is the Vendor ID assigned by Walmart.com (1 to 9 digits)
      • YYYYMMDD is an eight-digit file creation date (GMT date)
      • HHMMSS is a six-digit file creation time (24-hour GMT time)
      • NNNNNN is a six-digit random number.

      Note that these are the same fields used to generate an XML filename. The filename and the file ID will use the same date, time and random number values.

  • Data length: Specifies the maximum length of the data as follows:

    • STR – Number of character digits. Note: When a character is escaped, the length of the data string expands. The length of the data string may be up to 6 times the number of string characters (for a case with all double-quote characters).
    • DEC – Expressed as N.D notation, where N is the number of characters allowed to the left of the decimal and D is the number of digits to the right. Note: Leading zeros are not required.
    • NUM – Number of numeric digits.
    • DTM – Number of characters in the formatted string.
    • FID – Number of characters in the formatted string.

WMIHEADER element

The WMIHEADER element is the first element in any file. It contains a unique file ID, the sender's name, the sender's vendor number, and information for contacting the sender.

Use one of the following two values for the FILETYPE value:

  • FFC: File contains WMIFILECONFIRM data element
  • FFE: File contains WMIFILEERROR data element
NameReqTypeLengthDescription
/WMI/WMIHEADER (reference node)RFile descriptor with the following attributes: FILEID, FILETYPE and VERSION. Also contains one each of the following elements: FH_TO and FH_FROM
@FILEIDRFID24 to 32Unique ID for this file. See naming convention above.
@FILETYPERSTR3File Type code, see notes for FILETYPE values
@VERSIONRSTR5Version level of the XML format used. The value is ‘4.0.0’ for files using this specification.
FH_TORRecipient information, containing the following attributes: ID and NAME.
FH_TO@IDRNUM1 to 9Supplier number of the recipient. The value is ‘2677’ for files sent to Walmart.com.
FH_TO@NAMERSTR1 to 30Text name of the recipient. The value is ‘Walmart.com’ for files sent to Walmart.com.
FH_FROMRSender information, containing the following attributes: ID and NAME. Also contains a FH_CONTACT element.
FH_FROM@IDRNUM1 to 9Supplier number of the sender. The value is ‘2677’ for files from Walmart.com.
FH_FROM@NAMERSTR1 to 30Text name of the sender. The value is ‘Walmart.com’ for files from Walmart.com.
FH_FROM/FH_CONTACTROperations support contact information, with attributes NAME, EMAIL, PHONE and PHONEEXT.
FH_FROM/FH_CONTACT@NAMERSTR1 to 30Name of the operations support contact
FH_FROM/FH_CONTACT@EMAILRSTR1 to 50Operations contact email address
FH_FROM/FH_CONTACT@PHONERNUM1 to 10Operations contact phone number (10-digit string containing no punctuation or spaces).
FH_FROM/FH_CONTACT@PHONEEXTONUM1 to 5Operations contact phone extension (if applicable)

Sample error file

<?xml version="1.0" encoding="UTF-8"?>
<WMI> <WMIFILEHEADER FILEID="24302.20091027.114154.673099" FILETYPE="FFE" VERSION="4.0.0"> <FH_TO ID="100002" NAME="Abc Brands"/> <FH_FROM ID="2677" NAME="Walmart.com"> <FH_CONTACT EMAIL="[email protected]" NAME="Walmart.com Operations Support" PHONE="6508375465" PHONEEXT=""/> </FH_FROM> </WMIFILEHEADER> <WMIFILEERROR FILEID="24302.20091027.184147.937027" FILETYPE="FOS" XLATEDATA="EDI:000000045:45"> <FE_ERROR ERRORCODE="80256"> <FE_MESSAGE> (ORN=12845136, LINENO=1) Line Update Failed: Status transition is disallowed.</FE_MESSAGE> <FE_DATA> ORN=12845136 LINENO=1 STATUS=Line In Process DBMSG=ORA-20029: wff_order_line_status_pkg.set_po_line_ack: Operation on the order is not allowed in this state. Current status = - Too late to acknowledge when status is 61 for po# = 12845136 and line# = 1 ORA-06512: at OMS_FULFILLMENT.WFF_EXC_HANDLER_PK0, line 52 ORA-06512: at OMS_FULFILLMENT.WFF_ORDER_LINE_STATUS_PK0, line 781 ORA-06512: at OMS_FULFILLMENT.WFF_ORDER_LINE_STATUS_PK0, line 4070 ORA-06512: at OMS_FULFILLMENT.WFF_ORDER_LINE_STATUS_PK0, line 4743 ORA-06512: at OMS_FULFILLMENT.WFF_PACKAGE_PK0, line 764 ORA-06512: at OMS_FULFILLMENT.WFF_PACKAGE_PK0, line 797 ORA-06512: at line 1 </FE_DATA> </FE_ERROR> <FE_ERROR ERRORCODE="80256"> <FE_MESSAGE> (ORN=12845136, LINENO=1) Line Update Failed: Status transition is disallowed. </FE_MESSAGE> <FE_DATA> ORN=12845136 LINENO=1 STATUS=Line In Process DBMSG=ORA-20029: wff_order_line_status_pkg.set_po_line_ack: Operation on the order is not allowed in this state. Current status = - Too late to acknowledge when status is 61 for po# = 12845136 and line# = 1 ORA-06512: at OMS_FULFILLMENT.WFF_EXC_HANDLER_PK0, line 52 ORA-06512: at OMS_FULFILLMENT.WFF_ORDER_LINE_STATUS_PK0, line 781 ORA-06512: at OMS_FULFILLMENT.WFF_ORDER_LINE_STATUS_PK0, line 4070 ORA-06512: at OMS_FULFILLMENT.WFF_ORDER_LINE_STATUS_PK0, line 4743 ORA-06512: at OMS_FULFILLMENT.WFF_PACKAGE_PK0, line 764 ORA-06512: at OMS_FULFILLMENT.WFF_PACKAGE_PK0, line 797 ORA-06512: at line 1 </FE_DATA> </FE_ERROR> </WMIFILEERROR>
</WMI>

Confirmation XML file

The confirmation file is sent to confirm the receipt of a complete and valid data file. This file does not confirm the data in the file, just the file itself. If the file is incomplete or invalid against the v4.0 DTD then no confirmation file is sent, only an error file.

NOTE: Never send a confirmation or error file in response to a confirmation file.

File naming convention

The file name contains the file type, creation date and time, the supplier ID, and a six-digit random number. All filenames are case-sensitive. The naming convention is: WMI_Confirm_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.xml, where:

  • VVVVVVVVV is the supplier ID assigned by Walmart.com (up to 9 digits).
  • YYYYMMDD is a formatted file creation date (GMT date).
  • HHMMSS is a formatted file creation time (24-hour GMT time).
  • NNNNNN is a six-digit random number to guarantee uniqueness.

Example: WMI_Confirm_999999_20010418_163108_097981.xml

WMIFILECONFIRM Element

This element contains only the ID and type of the file that is being confirmed.

Error XML File

The error file is sent when an error is detected in the structure or content of a received file.

Note:A confirmation file is expected in response to an error file. Never send an error file in response to an error file.

File naming convention

The file name contains the file type, creation date and time, the supplier ID and a six-digit random number. All filenames are case-sensitive. The naming convention is: WMI_Error_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.xml, where:

  • VVVVVVVVV is the supplier ID assigned by Walmart.com (up to 9 digits).
  • YYYYMMDD is a formatted file creation date (GMT date).
  • HHMMSS is a formatted file creation time (24-hour GMT time).
  • NNNNNN is a six-digit random number to guarantee uniqueness.

Example: WMI_Error_999999_20010418_163108_097981.xml

WMIFILEERROR Element

Contains the File ID of the received file, a readable error message and detailed debugging information about the error.