Error Confirmation
Error Confirmation
Download this document in Word format from the following link:
Walmart.com Drop Ship Vendor_Error Confirm Interfaces_XML.docx
Interface Description
Functionality
Response Files supported by this interface are as follows:
- Confirmation File: Contains a file confirmation (sent both directions between Supplier and Walmart.com)
- Error File: Contains a file error message (sent in both directions between Supplier and Walmart.com)
Design Description
Each file transfer is divided into three basic steps:
- The sender generates a data file and pushes it to the recipient's server
- The recipient parses the received file and validates the file format and data consistency
- 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 and 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 (if applicable) 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 for this is as follows:
XML Data Definition
Each data element (and its component attributes and sub-elements) is described in this document with the following information:
-
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’s absolute within the XML message (e.g. “/WMI/WMIHEADER/FH_TO@ID”).
- If the Xpath begins with any other character, then it’s relative to the specified reference node (e.g. “FH_TO@ID”, with a reference node of “/WMI/WMIHEADER”).
For more information, refer to http://www.w3.org/TR/xpath.
-
Optional/Required: 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, see http://www.w3.org/TR/REC-xml
-
“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 (e.g. “12/11/2001.17.01”).
-
“FID” – A formatted File ID 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.
** Note: use one of the two below values for the FILETYPE value:**
- FFC: File contains WMIFILECONFIRM data element
- FFE: File contains WMIFILEERROR data element
Name | Req | Type | Length | Description |
---|---|---|---|---|
/WMI/WMIHEADER (reference node) | R | – | – | File descriptor with the following attributes: FILEID, FILETYPE and VERSION. Also contains one each of the following elements: FH_TO and FH_FROM |
@FILEID | R | FID | 24 to 32 | Unique ID for this file. See naming convention above. |
@FILETYPE | R | STR | 3 | File Type code, see notes for FILETYPE values |
@VERSION | R | STR | 5 | Version level of the XML format used. The value is ‘4.0.0’ for files using this specification. |
FH_TO | R | – | – | Recipient information, containing the following attributes: ID and NAME. |
FH_TO@ID | R | NUM | 1 to 9 | Supplier number of the recipient. The value is ‘2677’ for files sent to Walmart.com. |
FH_TO@NAME | R | STR | 1 to 30 | Text name of the recipient. The value is ‘Walmart.com’ for files sent to Walmart.com. |
FH_FROM | R | – | – | Sender information, containing the following attributes: ID and NAME. Also contains a FH_CONTACT element. |
FH_FROM@ID | R | NUM | 1 to 9 | Supplier number of the sender. The value is ‘2677’ for files from Walmart.com. |
FH_FROM@NAME | R | STR | 1 to 30 | Text name of the sender. The value is ‘Walmart.com’ for files from Walmart.com. |
FH_FROM/FH_CONTACT | R | – | – | Operations support contact information, with attributes NAME, EMAIL, PHONE and PHONEEXT. |
FH_FROM/FH_CONTACT@NAME | R | STR | 1 to 30 | Name of the operations support contact |
FH_FROM/FH_CONTACT@EMAIL | R | STR | 1 to 50 | Operations contact email address |
FH_FROM/FH_CONTACT@PHONE | R | NUM | 1 to 10 | Operations contact phone number (10-digit string containing no punctuation or spaces). |
FH_FROM/FH_CONTACT@PHONEEXT | O | NUM | 1 to 5 | Operations 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 doesn’t 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
- 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. However, 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
- 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.
Updated about 19 hours ago