Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Salestax in Export

VIEWS: 10 PAGES: 130

Salestax in Export document sample

More Info
									Last Revised: July 25, 2011
                           Contents

 1:   Overview ……………….……………………………………………………..               2
 2:   General Information …………………………………………………………..         3
 3:   XML Schemas ………………………………………………………………..               4
 4:   XML Test ……………….…………………………………………………….                6
 5:   OrderQuery …………………………………………………………………...              9
 6:   OrderUpdate …………………………………………………………………..             32
 7:   OrderCalculate ………………………………………………………………...          36
 8:   OrderCreate …………………………………………………………………...            46
 9:   CustomerQuery ……………………………………………………………….             61
10:   CustomerUpdate ………………………………………………………………             73
11:   InventoryUpdate ……………………………………………………………...          82
12:   ProductQuery …………………………………………………………………              95
13:   ProductUpdate ………………...………………………………………………          104
14:   Errors ………………………………………………………………………….               124
15:   Best Practices ………………………………………………………………....        125
16:   Summary of Revisions ………………………………………………………..       126
17:   Appendix: RESTClient ...………...…………………………………………..   128




                              1
                                       1: Overview

The XML Tools are designed to allow data synchronization and integration with third
party systems housing similar data. All Tools involve server-to-server communication
whereby the initiating server sends a Request XML document to the appropriate URL
specified in this document, then receives a Reply XML document from Nexternal, then
parses that document and takes appropriate action to achieve the desired integration.

Because XML transactions are always initiated by the client via the Request XML, it is
not possible to have XML initiated by an event in the Online Store, such as the placement
of an order. You may, however, query new orders every 10 minutes by using the
OrderQuery tool on a scheduled basis to "export" new orders to a third party system in a
timely manner.

Successful use of the XML Tools requires considerable expertise in XML and the
Nexternal Order Management System, as well as the necessary technology assets (i.e.
hardware, software, internet service, etc), which are the sole responsibility of the client
performing the integration. Nexternal Solutions’ responsibility is limited to maintaining
the functionality and availability of the Tools in accordance with this document (subject
to modification and enhancement at any time, at Nexternal’s sole discretion), and
providing e-mail based support (strictly limited to questions relating to the functionality
of the XML Tools) via the XML Help Desk at Settings/XML Tools in the Order
Management System.

As a prerequisite to access to the active XML Tools, clients must agree to the
Memorandum of Understanding at Settings/XML Tools in the Order Management
System, and pass the XML Test as detailed in this document. The XML Test is designed
to validate the skills of the integrator, and thus the XML Help Desk is not available to
clients who have yet to pass the test. Clients who lack the in-house expertise to pass the
test should seek outside assistance.

Note that the acronym "OMS" is used throughout this document to refer to the Nexternal
Order Management System.




                                             2
                                2: General Information

The following information should be used for all XML requests:

      Request Protocol: https
      Request Method: POST (send only the XML; do not include a field name or any
       other form elements)
      Content Type: application/x-www-form-urlencoded
      Do not include a DOCTYPE declaration

The most recent revision of this document is always available at
http://www.nexternal.com/documentation/xmltools.doc.

All XML document validation schemas (XSD's) are available at
http://www.nexternal.com/documentation/schema.zip.

Documentation regarding allowed State/Province Codes and Country Codes is available
at http://www.nexternal.com/documentation/statescountries.htm.

The home for the XML Tools in the OMS is Settings/XML Tools. Here, you will find
the XML Memorandum of Understanding; and, if the XML Test has been passed, the
XML Help Desk and XML Key.

For security purposes, the same access restrictions assigned to the OMS at Settings/Anti-
Fraud and Security are applied to the XML Tools. Furthermore, if 15 consecutive failed
attempts (where the failure is caused by invalid authentication credentials) are recorded
from a given IP address within one hour, the IP is "locked out" from the XML Tools for
the remainder of the hour.

When developing and testing your XML integration, in most cases you may do so against
your "live" account without any adverse consequences. If you prefer, you may also use
the Order Management System on Nexternal’s FirstFirway demonstration site
(http://www.nexternal.com/myfairway) for testing purposes, or you may request
temporary use of a "dummy" account from your Nexternal Account Representative.

Responses from Nexternal utilize HTTP Compression via Microsoft’s Internet
Information Server (IIS). For most developers, this is inconsequential; however, if you
are using Cold Fusion, you may need to include special header information to disable
compression – please see
http://www.talkingtree.com/blog/index.cfm/2004/7/28/20040729 for more information.




                                            3
                                    3: XML Schemas

Schemas for all XML requests and replies are given in tabular format on the following
pages. The columns included are as follows:

Element XPath: Path of the XML element, excluding the top level container (which
always matches the name of the XML document). For example, full path of the
OrderNoRange/OrderNoStart node in the OrderQueryRequest document is
OrderQueryRequest/OrderNoRange/OrderNoStart. Attributes are denoted by the @
symbol.

Required: (Request XML only) Denotes whether or not the element is required. A No
value indicates that the element is not required in all cases, not that the element can be
safely ignored. A Yes* value indicates that the element is required only if its non-
required parent is present.

Always: (Reply XML only) The equivalent of the Required field for Request XML.

Occurs: Denotes the number of occurrences of the element, or the range thereof. For
child elements, this field indicates the number of occurrences per parent node.

Type: Denotes the element type. The possible values are:
    Container: A container that contains child nodes
    Text Node/Attribute: Contains textual data (letters, numbers, punctuation, spaces,
      etc) with no specific format unless noted in the Description. If an absolute or
      maximum number of characters applies, that number is noted.
    Text/Empty Node/Attribute (Request XML only): Contains data in the same
      format as the Text Node/Attribute, but may also be an empty node to erase an
      existing value.
    Integer Node/Attribute: Contains integer values only. Unless otherwise noted in
      the Description, the field allows only positive integers.
    Currency Node/Attribute: Contains a currency value with 2 decimal places. For
      example, $4.50 is represented as 4.50. Unless otherwise noted in the Description,
      the field allows only positive values and represents a value in United States
      Dollars.
    Numeric Node/Attribute: Contains a numeric value with no fixed number of
      decimal places. Unless otherwise noted in the Description, the field allows only
      positive numbers.
    Percent Node/Attribute: Contains a percent value with a variable number of
      decimal places. For example, 7.75% is represented as 7.75. Unless otherwise
      noted in the Description, the field allows only positive values.
    Date Node/Attribute: Contains a date value in the mm/dd/yyyy format (unless
      otherwise noted). For example, July 4, 2005 is represented as 07/04/2005.
    Time Node/Attribute: Contains a time value in the hh:mm format, where hh
      ranges from 00 – 23 and mm ranges from 00 – 59. For example, 1:05 PM is


                                             4
       represented as 13:05. Time values are based on the U.S. Pacific Time Zone,
       subject to adjustment via the Time Adjustment field at Settings/Site Options in the
       OMS.
      URL Node: Contains a Uniform Resource Locator (URL) value. Used with
       image and audio files located on the internet.
      Empty Node: Contains no value. The presence or lack of an Empty Node is used
       to represent a Boolean value.

Description: Contains a description of the field and other pertinent information. The
acronym "OMS" is used to refer to the Nexternal Order Management System.




                                            5
                                          4: XML Test

Successful completion of the XML Test is required before access to the active XML
Tools is granted. The test is used to validate the skills of the integrator. The test consists
of two parts: TestSubmit and TestVerify.

Your script should begin by sending the TestSubmitRequest, then receive and parse the
TestSubmitReply. Based on the TestSubmitReply, your script should then build and send
the TestVerifyRequest and receive the TestVerifyReply. The TestVerifyRequest must be
sent within 1 minute of the TestSubmitRequest for the test to be completed successfully.
If successful, you will receive your active XML Key in the TestVerifyReply, and you
may immediately begin using the active XML Tools. The active Key is also available
upon successful completion of the test at Settings/XML Tools in the OMS.

Authentication of the TestSubmitRequest and TestVerifyRequest is via any User Name
and Password valid for the Order Management System with an Access Level of
Administrator or Editor. Additionally, the TestVerifyRequest must include the "test"
XML Key provided by the TestSubmitReply (randomly generated and separate from the
active XML Key provided by the TestVerifyReply) as either an attribute or node as
specified in the TestSubmitReply.

TestSubmitRequest URL: https://www.nexternal.com/shared/xml/testsubmit.rest
TestVerifyRequest URL: https://www.nexternal.com/shared/xml/testverify.rest

TestSubmitRequest Schema
 Element Xpath             Required    Occurs        Type                Description
 Credentials               Yes         1             Container
 Credentials/AccountName   Yes         1             Text Node (10       Client's Account Name (e.g. fairway)
                                                     chars max)
 Credentials/UserName      Yes         1             Text Node (50       Any valid, active User Name with Access Level
                                                     chars max)          Administrator or Editor
 Credentials/Password      Yes         1             Text Node (50       User's Password
                                                     chars max)

TestSubmitReply Schema
Element Xpath              Always     Occurs        Type                Description
@AccountName               Yes        1             Text Node (10       Client's Account Name (e.g. fairway)
                                                    chars max)
@Type                      Yes        1             Text Attribute (9   Location of Key in TestVerifyRequest (Attribute or
                                                    chars max)          Node)
TestKey                    Yes        1             Text Node (20       Test Key
                                                    chars)


TestVerifyRequest Schema
 Element Xpath             Required    Occurs        Type                Description
 Credentials               Yes         1             Container




                                                6
 Element Xpath              Required      Occurs       Type             Description
 Credentials @Key           No            1            Text Attribute   Use for Test Key if TestSubmitReply @Type is
                                                       (20 chars)       Attribute
 Credentials/AccountName    Yes           1            Text Node (10    Client's Account Name (e.g. fairway)
                                                       chars max)
 Credentials/UserName       Yes           1            Text Node (50    Any valid, active User Name with Access Level
                                                       chars max)       Administrator or Editor
 Credentials/Password       Yes           1            Text Node (50    User's Password
                                                       chars max)
 Credentials/Key            No            1            Text Node (20    Use for Test Key if TestSubmitReply @Type is
                                                       chars)           Node

TestVerifyReply Schema
 Element Xpath              Always        Occurs       Type             Description
 @AccountName               Yes           1            Text Node (10    Client's Account Name (e.g. fairway)
                                                       chars max)
 ActiveKey                  Yes           1            Text Node (20    Active Key for use with XML Tools
                                                       chars)

TestSubmitRequest Example

<?xml version="1.0" encoding="UTF-8" ?>
<TestSubmitRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <UserName>Demo</UserName>
  <Password>Dem0U$er</Password>
 </Credentials>
</TestSubmitRequest>

TestSubmitReply Example

<?xml version="1.0" encoding="UTF-8" ?>
<TestSubmitReply AccountName="fairway" Type="Attribute">
 <TestKey>?!J{*1iQKx/,FK=pW#rl</TestKey>
</TestSubmitReply>

TestVerifyRequest Example

<?xml version="1.0" encoding="UTF-8" ?>
<TestVerifyRequest>
 <Credentials Key="?!J{*1iQKx/,FK=pW#rl">
  <AccountName>fairway</AccountName>
  <UserName>Demo</UserName>
  <Password>Dem0U$er</Password>
 </Credentials>
</TestVerifyRequest>

TestVerifyReply Example

<?xml version="1.0" encoding="UTF-8" ?>



                                                   7
<TestVerifyReply AccountName="fairway" >
 <ActiveKey> k]?h;GO9niH]Itx[@uQB </ActiveKey>
</TestVerifyReply>




                                           8
                                     5: OrderQuery

The OrderQuery is used to query order data, thus "exporting" orders from the Order
Management System so that they may be "imported" into an external system.

You may submit a query based on Order Number Range, Order Date Range, Order Last
Updated Range, Ship/Send Date Range, Preferred Ship Date Range, Preferred Delivery
Date Range, Customer Number, Ship To State/Province or Country, Order Status, or
Billing Status (or any of those criteria in combination). For Order Number Range, Order
Date Range, Order Last Updated Range, and Ship/Send Date Range, you may specify a
Range Start, Range End, or both. Specifying only a Range Start has the meaning of
"greater than or equal to", while only a Range End has the meaning of "less than or equal
to". For example, a query based on only an Order Number Range Start of 102400 queries
Orders 102400 and greater.

In the case of an Order Date Range or Order Last Updated Range, you may specify a
Start and/or End Date, and optionally a Time. If you do not specify a Time, a default
value of 00:00 (i.e. 12:00 AM) is used. If you wish to specify the end of the day
(particularly for a Range End), you must use a Time value of 23:59.

In the case of a Ship/Send Date Range, only orders with an Order Status of Shipped (for
product orders) or Sent (for gift certificate orders) are returned. Other orders are
necessarily excluded from the query.

The OrderQuery gives you the option, via the IncludeTransactions node in the
OrderQueryRequest, of including Credit Card Transactions in the query. This can be
useful if you need to integrate transaction information with an external system. To
include full Credit Card Numbers, you must also turn on the Full CC Access:
Report/XML option at Settings/Site Options in the OMS; if you choose to do so, you are
responsible for taking the precautions that customers expect with such sensitive
information. If FlexCache Gift Cards are in use (Settings/Compatible Software in the
OMS), the IncludeTransactions node also includes Gift Card Transactions in the query.

If the XE.com Currency Converter (Settings/Compatible Software in the OMS) is in use,
and the customer who placed an order chose to use a foreign currency, the
Order/Currency container is returned in the OrderQueryReply. While the container
includes details of the currency chosen by the customer (including the Order Total in that
currency), all currency values found outside of the Order/Currency container always
represent United States Dollars.

A single OrderQueryRequest returns no more than 15 Order nodes in the corresponding
OrderQueryReply, even if the requested query includes more than 15 resulting orders.
The presence of a NextPage node in the OrderQueryReply indicates that a subsequent
"page" of results exists. You may then use the Page node in the OrderQueryRequest to
iteratively request all orders in the query. Orders are always returned in the
OrderQueryReply in ascending order of Order Number.


                                            9
Note: If the Page node in the OrderQueryRequest contains a page number greater than the
maximum page number in the query results, the maximum page number is returned.

CurrentStatus Node

The CurrentStatus node in the OrderQueryRequest gives you the option of obtaining a
simple status snapshot on a large number of orders. To do so, specify a query range
(Order Number Range, Order Date Range, Order Last Updated Range, Ship/Send Date
Range, Preferred Ship Date Range, or Preferred Delivery Date Range) and include the
CurrentStatus node. The OrderQueryReply will return a single node per order,
containing the Order Number, Order Status, and Billing Status. The maximum
OrderQueryReply page size with the CurrentStatus node is 2000.

OrderQueryRequest URL: https://www.nexternal.com/shared/xml/orderquery.rest

OrderQueryRequest Schema
Element Xpath             Required   Occurs    Type            Description
Credentials               Yes        1         Container
Credentials/AccountName   Yes        1         Text Node (10   Client's Account Name (e.g. fairway)
                                               chars max)
Credentials/Key           Yes        1         Text Node (20   Client's XML Key
                                               chars)
OrderNoRange              No         1         Container       For query by Order Number Range
OrderNoRange/OrderNoSt    No         1         Integer Node    Order Number Range Start
art
OrderNoRange/OrderNoEn    No         1         Integer Node    Order Number Range End
d
OrderDateRange            No         1         Container       For query by Order Date Range
OrderDateRange/OrderDat   No         1         Container
eStart
OrderDateRange/OrderDat   Yes*       1         Container
eStart/DateTime
OrderDateRange/OrderDat   Yes*       1         Date Node       Order Date Range Start
eStart/DateTime/Date                           (mm/dd/yyyy)
OrderDateRange/OrderDat   No         1         Time Node       Order Date Range Start Time (default value:
eStart/DateTime/Time                           (hh:mm)         00:00)
OrderDateRange/OrderDat   No         1         Container
eEnd
OrderDateRange/OrderDat   Yes*       1         Container
eEnd/DateTime
OrderDateRange/OrderDat   Yes*       1         Date Node       Order Date Range End
eEnd/DateTime/Date                             (mm/dd/yyyy)
OrderDateRange/OrderDat   No         1         Time Node       Order Date Range End Time (default value:
eEnd/DateTime/Time                             (hh:mm)         00:00)
OrderUpdRange             No         1         Container       For query by Order Last Updated Range
OrderUpdRange/OrderUpd    No         1         Container
Start




                                          10
Element Xpath                Required   Occurs    Type           Description
OrderUpdRange/OrderUpd       Yes*       1         Container
Start/DateTime
OrderUpdRange/OrderUpd       Yes*       1         Date Node      Last Updated Date Range Start
Start/DateTime/Date                               (mm/dd/yyyy)
OrderUpdRange/OrderUpd       No         1         Time Node      Last Updated Date Range Start Time (default
Start/DateTime/Time                               (hh:mm)        value: 00:00)
OrderUpdRange/OrderUpd       No         1         Container
End
OrderUpdRange/OrderUpd       Yes*       1         Container
End/DateTime
OrderUpdRange/OrderUpd       Yes*       1         Date Node      Last Updated Date Range End
End/DateTime/Date                                 (mm/dd/yyyy)
OrderUpdRange/OrderUpd       No         1         Time Node      Last Updated Date Range End Time (default
End/DateTime/Time                                 (hh:mm)        value: 00:00)
ShipDateRange                No         1         Container      For query by Ship/Send Date Range
ShipDateRange/ShipDateSt     No         1         Container
art
ShipDateRange/ShipDateSt     Yes*       1         Container
art/DateTime
ShipDateRange/ShipDateSt     Yes*       1         Date Node      Ship/Send Date Range Start
art/DateTime/Date                                 (mm/dd/yyyy)
ShipDateRange/ShipDateE      No         1         Container
nd
ShipDateRange/ShipDateE      Yes*       1         Container
nd/DateTime
ShipDateRange/ShipDateE      Yes*       1         Date Node      Ship/Send Date Range End
nd/DateTime/Date                                  (mm/dd/yyyy)
PreferredShipDateRange       No         1         Container      For query by Preferred Ship Date Range
                                                                 • Returns Product Orders only
PreferredShipDateRange/P     No         1         Container
referredShipDateStart
PreferredShipDateRange/P     Yes*       1         Container
referredShipDateStart/Date
Time
PreferredShipDateRange/P     Yes*       1         Date Node      Preferred Ship Date Range Start
referredShipDateStart/Date                        (mm/dd/yyyy)
Time/Date
PreferredShipDateRange/P     No         1         Container
referredShipDateEnd
PreferredShipDateRange/P     Yes*       1         Container
referredShipDateEnd/Date
Time
PreferredShipDateRange/P     Yes*       1         Date Node      Preferred Ship Date Range End
referredShipDateEnd/Date                          (mm/dd/yyyy)
Time/Date
PreferredDeliveryDateRan     No         1         Container      For query by Preferred Delivery Date Range
ge                                                               • Returns Product Orders only
PreferredDeliveryDateRan     No         1         Container
ge/PreferredDeliveryDateS
tart
PreferredDeliveryDateRan     Yes*       1         Container
ge/PreferredDeliveryDateS
tart/DateTime


                                             11
Element Xpath               Required   Occurs    Type            Description
PreferredDeliveryDateRan    Yes*       1         Date Node       Preferred Delivery Date Range Start
ge/PreferredDeliveryDateS                        (mm/dd/yyyy)
tart/DateTime/Date
PreferredDeliveryDateRan    No         1         Container
ge/PreferredDeliveryDateE
nd
PreferredShipDeliveryRan    Yes*       1         Container
ge/PreferredDeliveryDateE
nd/DateTime
PreferredDeliveryDateRan    Yes*       1         Date Node       Preferred Delivery Date Range End
ge/PreferredDeliveryDateE                        (mm/dd/yyyy)
nd/DateTime/Date
CustomerNo                  No         1         Integer Node    Customer Number

ShipTo                      No         1         Container       For query by Ship To State/Province Code or
                                                                 Ship To Country Code
                                                                 • Returns Product Orders only
                                                                 • If this container is included, you must also
                                                                 include either the ShipTo/StateProvCode or
                                                                 ShipTo/CountryCode node, but not both
ShipTo/StateProvCode        No         1         Text Node (2    Ship To State/Province Code
                                                 chars)
ShipTo/CountryCode          No         1         Text Node(2     Ship To Country Code
                                                 chars)
OrderStatus                 No         1         Text Node       Used to query by Order Status
                                                                 • Unshipped, In Process, Shipped, Backordered,
                                                                 Preordered, Canceled, Return-Ship Agent,
                                                                 Return-Customer, Shipped-Partial, Other-See
                                                                 Line Items, or Outstanding (all statuses other than
                                                                 Shipped/Sent, Canceled, and Return-Customer)
                                                                 • Unshipped also returns Gift Certificate Orders
                                                                 with a status of Unsent, while Shipped also
                                                                 returns Gift Certificate Orders with a status of
                                                                 Sent
BillingStatus               No         1         Text Node (16   Used to query by Billing Status (Unbilled,
                                                 chars max)      Authorized, Billed, Billed-Partial, Paid, Paid-
                                                                 Partial, Refunded, Refunded-Partial, Declined
                                                                 CC, or Canceled)
IncludeTransactions         No         1         Empty Node      Indicates that Credit Card Transactions should be
                                                                 included in the OrderQueryReply
CurrentStatus               No         1         Empty Node      Used to return the Order Status and Billing Status
                                                                 of all Orders that fall within the specified range
                                                                 • Allowed only when this node is combined with
                                                                 OrderNoRange, OrderDateRange,
                                                                 OrderUpdRange, ShipDateRange,
                                                                 PreferredShipDateRange, or
                                                                 PreferredDeliveryDateRange
Page                        No         1         Integer Node    Requested page number of query results (default
                                                                 value: 1)

OrderQueryReply Schema (without CurrentStatus node)
Element Xpath               Always     Occurs    Type            Description




                                            12
Element Xpath              Always   Occurs        Type             Description
@AccountName               Yes      1             Text Node (10    Client's Account Name (e.g. fairway)
                                                  chars max)
@Page                      Yes      1             Integer          Page number of query results
                                                  Attribute
Order                      Yes      1 - 15        Container
Order/OrderNo              Yes      1             Integer Node     Order Number
Order/OrderDate            Yes      1             Container
Order/OrderDate/DateTime   Yes      1             Container
Order/OrderDate/DateTime   Yes      1             Date Node        Order Date
/Date                                             (mm/dd/yyyy)
Order/OrderDate/DateTime   Yes      1             Time Node        Order Time
/Time                                             (hh:mm)
Order/OrderType            Yes      1             Text Node (16    Order Type (Product or Gift Certificate)
                                                  chars max)
Order/ShipCompliant        No       1             Container        ShipCompliant compliance status
                                                                   • Usage of the ShipCompliant web service is set
                                                                   at Settings/Compatible Software/ShipCompliant
                                                                   in the OMS
Order/ShipCompliant/SCFl   Yes*     1             Text Node (6     ShipCompliant status flag (Green, Yellow, or
ag                                                chars max)       Red)
Order/ShipCompliant/SCEr   Yes*     1             Text Node        ShipCompliant error message (only if SCFlag is
ror                                                                set to Yellow)
Order/ShipCompliant/SCS    No       1             Container        ShipCompliant Last Synchronized Date
yncDate
Order/ShipCompliant/SCS    Yes      1             Container
yncDate/DateTime
Order/ShipCompliant/SCS    Yes      1             Date Node        ShipCompliant Synchronization Date
yncDate/DateTime/Date                             (mm/dd/yyyy)
Order/ShipCompliant/SCS    Yes      1             Time Node        ShipCompliant SynchronizationTime
yncDate/DateTime/Time                             (hh:mm)
Order/Customer             Yes      1             Container
Order/Customer/Customer    Yes      1             Integer Node     Customer Number (unique ID)
No
Order/Customer/Email       Yes      1             Text Node (50    Customer E-Mail Address
                                                  chars max)
Order/Customer/Address     Yes      1             Container        For Customer Contact Address
Order/Customer/Address     Yes      1             Text Attribute   Customer Contact Address Type (Residential or
@Type                                             (11 chars max)   Business)
Order/Customer/Address     No       1             Integer          Customer Address Book ID
@ID                                               Attribute
Order/Customer/Address     No       1             Text Attribute   Customer Contact Address Label
@Label                                            (25 chars max)
Order/Customer/Address/N   Yes      1             Container
ame
Order/Customer/Address/N   Yes      1             Text Node (50    Customer First Name
ame/FirstName                                     chars max)
Order/Customer/Address/N   Yes      1             Text Node (50    Customer Last Name
ame/LastName                                      chars max)
Order/Customer/Address/C   No       1             Text Node        Customer Contact Company Name
ompanyName                                        (100 chars       • Usage of the Company Name field is set at
                                                  max)             Customers/Types in the OMS



                                             13
Element Xpath              Always   Occurs    Type            Description
Order/Customer/Address/A   Yes      1         Text Node       Customer Contact Street Address (Line 1)
ddress1                                       (100 chars
                                              max)
Order/Customer/Address/A   No       1         Text Node       Customer Contact Street Address (Line 2)
ddress2                                       (100 chars
                                              max)
Order/Customer/Address/C   Yes      1         Text Node (50   Customer Contact City
ity                                           chars max)
Order/Customer/Address/S   No       1         Text Node (2    Customer Contact State/Province Code
tateProvCode                                  chars)
Order/Customer/Address/Z   Yes      1         Text Node (20   Customer Contact Zip/Postal Code
ipPostalCode                                  chars max)
Order/Customer/Address/C   Yes      1         Text Node (2    Customer Contact Country Code
ountryCode                                    chars)
Order/Customer/Address/P   Yes      1         Text Node (50   Customer Contact Phone Number
honeNumber                                    chars max)
Order/Customer/Address/P   No       1         Text Node (30   Customer Contact Phone Extension
honeExt                                       chars max)
Order/Customer/Address/I   No       1         Empty Node      Indicates Customer Contact Address has been
nvalidAddress                                                 flagged as invalid by UPS Address Validation
Order/Customer/Customer    Yes      1         Text Node (20   Customer Type
Type                                          chars max)
Order/Customer/AgeVerifi   No       1         Container       For Age Verification Results
cation
Order/Customer/AgeVerifi   Yes*     1         Text Node (6    Age Verification Flag (Green, Yellow, or Red)
cation/VerificationFlag                       chars max)
Order/Customer/AgeVerify   No       1         Text Node       Age Verification Notes
/VerificationNotes
Order/OrderStatus          Yes      1         Text Node (20   Order Status
                                              chars max)      • Product Orders: Unshipped, In Process,
                                                              Shipped, Backordered, Preordered, Canceled,
                                                              Return-Ship Agent, Return-Customer, Shipped-
                                                              Partial, or Other-See Line Items
                                                              • Gift Certificate Orders: Unsent, Sent, Canceled,
                                                              Sent-Partial, or Other-See Line Items
Order/ShipDate             No       1         Container       For Shipped/Sent orders
Order/ShipDate/DateTime    Yes*     1         Container
Order/ShipDate/DateTime/   Yes*     1         Date Node       Ship/Send Date
Date                                          (mm/dd/yyyy)
Order/ReasonCanceled       No       1         Text Node       Reason Canceled (for Canceled orders)
                                              (255 chars
                                              max)
Order/BillingStatus        Yes      1         Text Node (16   Billing Status (Unbilled, Authorized, Billed,
                                              chars max)      Billed-Partial, Paid, Paid-Partial, Refunded,
                                                              Refunded-Partial, Declined CC, or Canceled)
Order/OrderAmount          Yes      1         Currency        Total Order Amount
                                              Node            • Always 0.00 for Canceled orders
Order/OrderNet             Yes      1         Currency        Order Net (Order Amount less Shipping and Sales
                                              Node            Tax)
                                                              • Always 0.00 for Canceled orders
Order/BillTo               Yes      1         Container



                                         14
Element Xpath                Always   Occurs    Type             Description
Order/BillTo/Address         Yes      1         Container        For Bill To Address
Order/BillTo/Address         Yes      1         Text Attribute   Bill To Address Type (Residential or Business)
@Type                                           (11 chars max)
Order/BillTo/Address/Addr    No       1         Container
essBook
Order/BillTo/Address/Addr    Yes*     1         Integer          Customer Address Book ID (if present)
essBook @ID                                     Attribute
Order/BillTo/Address/Addr    Yes*     1         Integer          Customer Address Book Label (if present)
essBook @Label                                  Attribute
Order/BillTo/Address/Nam     Yes      1         Container
e
Order/BillTo/Address/Nam     Yes      1         Text Node (50    Bill To First Name
e/FirstName                                     chars max)
Order/BillTo/Address/Nam     Yes      1         Text Node (50    Bill To Last Name
e/LastName                                      chars max)
Order/BillTo/Address/Com     No       1         Text Node        Bill To Company Name
panyName                                        (100 chars       • Usage of the Company Name field is set at
                                                max)             Customers/Types in the OMS
Order/BillTo/Address/Addr    Yes      1         Text Node        Bill To Street Address (Line 1)
ess1                                            (100 chars
                                                max)
Order/BillTo/Address/Addr    No       1         Text Node        Bill To Street Address (Line 2)
ess2                                            (100 chars
                                                max)
Order/BillTo/Address/City    Yes      1         Text Node (50    Bill To City
                                                chars max)
Order/BillTo/Address/State   No       1         Text Node (2     Bill To State/Province Code
ProvCode                                        chars)
Order/BillTo/Address/ZipP    Yes      1         Text Node (20    Bill To Zip/Postal Code
ostalCode                                       chars max)
Order/BillTo/Address/Cou     Yes      1         Text Node (2     Bill To Country Code
ntryCode                                        chars)
Order/BillTo/Address/Phon    Yes      1         Text Node (50    Bill To Phone Number
eNumber                                         chars max)
Order/BillTo/Address/Phon    No       1         Text Node (30    Bill To Phone Extension
eExt                                            chars max)
Order/BillTo/Address/Inval   No       1         Empty Node       Indicates that Bill To Address has been flagged as
idAddress                                                        invalid by UPS Address Validation
Order/Payment                No       1         Container
Order/Payment/PaymentM       Yes*     1         Text Node (20    Payment Method
ethod                                           chars max)       • Values include Credit Card, Invoice, C.O.D.,
                                                                 and Paypal
                                                                 • A Custom Payment Method is also possible
Order/Payment/CreditCard     No       1         Container        For Payment Method of Credit Card
Order/Payment/CreditCard/    Yes*     1         Text Node (10    Credit Card Type (Visa, MasterCard, American
CreditCardType                                  chars max)       Express, Diners Club, Discover, enRoute, or JCB)
Order/Payment/CreditCard/    Yes*     1         Text Node (16    Credit Card Number
CreditCardNumber                                chars max)       • Entire number included only if the Full CC
                                                                 Access: Report/XML option (Settings/Site
                                                                 Options in the OMS) is on



                                           15
Element Xpath               Always   Occurs    Type             Description
Order/Payment/CreditCard/   Yes*     1         Date Node        Credit Card Expiration Date
CreditCardExpDate                              (mm/yyyy)
Order/PONumber              No       1         Text Node (50    Purchase Order Number
                                               chars max)
Order/PlacedBy              Yes      1         Text Node (12    Placed By (Order Method)
                                               chars max)       • Values include Internet, Phone, Fax, Mail, and
                                                                Bulk Order
                                                                • A custom value is also possible
Order/BulkOrderName         No       1         Text Node (50    Bulk Order Name (if Order/PlacedBy is Bulk
                                               chars max)       Order)
Order/PlacedWith            No       1         Container        For orders placed from OMS
Order/PlacedWith/Name       Yes*     1         Container
Order/PlacedWith/Name/Fi    Yes*     1         Text Node (50    Placed With First Name
rstName                                        chars max)
Order/PlacedWith/Name/L     Yes*     1         Text Node (50    Placed With Last Name
astName                                        chars max)
Order/LastUpd               Yes      1         Container
Order/LastUpd/DateTime      Yes      1         Container
Order/LastUpd/DateTime/     Yes      1         Date Node        Last Updated Date
Date                                           (mm/dd/yyyy)
Order/LastUpd/DateTime/     Yes      1         Time Node        Last Updated Time
Time                                           (hh:mm)
Order/LastUpdBy             No       1         Container        For orders last updated by OMS User or Drop
                                                                Ship Vendor
Order/LastUpdBy/Name        No       1         Container
Order/LastUpdBy/Name/Fi     Yes*     1         Text Node (50    Last Updated By First Name (if last updated by
rstName                                        chars max)       OMS User)
Order/LastUpdBy/Name/L      Yes*     1         Text Node (50    Last Updated By Last Name (if last updated by
astName                                        chars max)       OMS User)
Order/LastUpdBy/Vendor      No       1         Text Node (75    Last Updated By Vendor Name (if last updated
Name                                           chars max)       by Drop Ship Vendor)
Order/Comments              No       1         Container        For orders with Customer and/or Company
                                                                Comments
Order/Comments/Customer     No       1         Text Node        Customer Comments
Comments
Order/Comments/Company      No       1         Text Node        Company Comments
Comments
Order/Comments/DisplayC     No       1         Empty Node       Indicates Company Comments may be displayed
ompanyComments                                                  to customer
Order/IP                    No       1         Container        For orders Placed By Internet, when available
Order/IP/IPAddress          Yes*     1         Text Node (15    Customer IP Address
                                               chars max)
Order/IP/CountryCode        No       1         Text Node (2     Customer IP Country (if available)
                                               chars max)
Order/Archived              No       1         Empty Node       Indicates order is Archived
Order/ShipTo                No       1+        Container        For Product Orders
Order/ShipTo/Address        Yes*     1         Container        For Ship To Address
Order/ShipTo/Address        Yes*     1         Text Attribute   Ship To Address Type (Residential or Business)
@Type                                          (11 chars max)



                                          16
Element Xpath               Always   Occurs    Type             Description
Order/ShipTo/Address        No       1         Text Attribute   Ship To Address Label
@Label                                         (25 chars max)
Order/ShipTo/Address/Add    No       1         Container
ressBook
Order/ShipTo/Address/Add    Yes*     1         Integer          Customer Address Book ID (if present)
ressBook @ID                                   Attribute
Order/ShipTo/Address/Add    Yes*     1         Integer          Customer Address Book Label (if present)
ressBook @Label                                Attribute
Order/ShipTo/Address/Na     Yes*     1         Container
me
Order/ShipTo/Address/Na     Yes*     1         Text Node (50    Ship To First Name
me/FirstName                                   chars max)
Order/ShipTo/Address/Na     Yes*     1         Text Node (50    Ship To Last Name
me/LastName                                    chars max)
Order/ShipTo/Address/Co     No       1         Text Node        Ship To Company Name
mpanyName                                      (100 chars       • Usage of the Company Name field is set at
                                               max)             Customers/Types in the OMS
Order/ShipTo/Address/Add    Yes*     1         Text Node        Ship To Street Address (Line 1)
ress1                                          (100 chars
                                               max)
Order/ShipTo/Address/Add    No       1         Text Node        Ship To Street Address (Line 2)
ress2                                          (100 chars
                                               max)
Order/ShipTo/Address/City   Yes*     1         Text Node (50    Ship To City
                                               chars max)
Order/ShipTo/Address/Stat   No       1         Text Node (2     Ship To State/Province Code
eProvCode                                      chars)
Order/ShipTo/Address/Zip    Yes*     1         Text Node (20    Ship To Zip/Postal Code
PostalCode                                     chars max)
Order/ShipTo/Address/Cou    Yes*     1         Text Node (2     Ship To Country Code
ntryCode                                       chars)
Order/ShipTo/Address/Pho    Yes*     1         Text Node (50    Ship To Phone Number
neNumber                                       chars max)
Order/ShipTo/Address/Pho    No       1         Text Node (30    Ship To Phone Extension
neExt                                          chars max)
Order/ShipTo/Address/Inv    No       1         Empty Node       Indicates that Ship To Address has been flagged
alidAddress                                                     as invalid by UPS Address Validation
Order/ShipTo/SalesTaxRat    No       1         Percent Node     Sales Tax Rate charged (if defined)
e
Order/ShipTo/GiftMessage    No       1         Container        For requested Gift Message
Order/ShipTo/GiftMessage    Yes*     1         Text Node        Gift Message Text
/GiftMessageText
Order/ShipTo/GiftWrap       No       1         Empty Node       Indicates requested Gift Wrapping
Order/ShipTo/ShipFrom       Yes*     1+        Container
Order/ShipTo/ShipFrom       Yes*     1         Text Attribute   Internal Name of Ship From Address
@Name                                          (50 chars max)
Order/ShipTo/ShipFrom/Li    Yes*     1+        Container
neItem
Order/ShipTo/ShipFrom/Li    Yes      1         Integer Node     Line Item Number (unique ID)
neItem/LineNo



                                          17
Element Xpath                Always   Occurs    Type             Description
Order/ShipTo/ShipFrom/Li     Yes*     1         Container
neItem/LineProduct
Order/ShipTo/ShipFrom/Li     Yes*     1         Integer Node     Line Item Product Number (unique ID)
neItem/LineProduct/Produc
tNo
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Node        Line Item Product Name
neItem/LineProduct/Produc                       (100 chars
tName                                           max)
Order/ShipTo/ShipFrom/Li     No       1         Text Node (50    Line Item Product SKU
neItem/LineProduct/Produc                       chars max)
tSKU
Order/ShipTo/ShipFrom/Li     No       1+        Text Node (50    Line Item Attribute Value
neItem/LineProduct/Attrib                       chars max)
ute
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Attribute   Line Item Attribute Name
neItem/LineProduct/Attrib                       (50 chars max)
ute @Name
Order/ShipTo/ShipFrom/Li     No       1+        Text Node (50    Line Item Write-In Attribute Value
neItem/LineProduct/WriteI                       chars max)
n
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Attribute   Line Item Write-In Attribute Name
neItem/LineProduct/WriteI                       (50 chars max)
n @Name
Order/ShipTo/ShipFrom/Li     No       1         Container        Inventory Kit Products/SKU's
neItem/LineProduct/Invent                                        • Included if the Line Item contains an Inventory
oryKit                                                           Kit
Order/ShipTo/ShipFrom/Li     Yes*     1+        Container
neItem/LineProduct/Invent
oryKit/KitProduct
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Attribute   Inventory Kit Line Item SKU Number
neItem/LineProduct/Invent                                        • Included if the Inventory Kit is defined as a
oryKit/KitProduct @SKU                                           SKU Level Inventory Kit
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Node        Inventory Kit Product Name
neItem/LineProduct/Invent
oryKit/KitProduct/Product
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Attribute   Indicates whether the Inventory Kit Product is
neItem/LineProduct/Invent                                        defined at the Product Level or the SKU Level
oryKit/KitProduct/Product
@Level
Order/ShipTo/ShipFrom/Li     No       1         Text Node        Inventory Kit Product SKU number
neItem/LineProduct/Invent                                        • Included if a SKU number is defined for the
oryKit/KitProduct/SKU                                            Inventory Kit Product
Order/ShipTo/ShipFrom/Li     No       1+        Text Node        Inventory Kit Product Attribute Value
neItem/LineProduct/Invent                                        • Included if the Inventory Kit Product is defined
oryKit/KitProduct/Attribut                                       at the SKU Level
e
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Attribute   Inventory Kit Product Attribute Name
neItem/LineProduct/Invent                                        • Included if the Inventory Kit Product is defined
oryKit/KitProduct/Attribut                                       at the SKU Level
e @Name




                                           18
Element Xpath                Always   Occurs    Type             Description
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Node        Inventory Kit Product Category Name
neItem/LineProduct/Invent                                        • Subcategories appear as category paths
oryKit/KitProduct/Categor                                        separated by " / " (e.g. Golf Clubs / Putters). Note
y                                                                that there is a space on either side of the forward
                                                                 slash
Order/ShipTo/ShipFrom/Li     No       1         Integer Node     Inventory Kit Product Inventory Value
neItem/LineProduct/Invent                                        • Included only if Inventory Control is enabled at
oryKit/KitProduct/Inventor                                       Settings/Site Options/Inventory Control in the
y                                                                OMS
Order/ShipTo/ShipFrom/Li     Yes*     1         Integer Node     Inventory Kit Product Quantity Value
neItem/LineProduct/Invent
oryKit/KitProduct/Quantity
Order/ShipTo/ShipFrom/Li     No       1         Container        Included only if integrated with VinNow
neItem/LineProduct/VinNo                                         (Settings/Compatible Software/VinNow in the
w                                                                OMS)
Order/ShipTo/ShipFrom/Li     No       1         Text Attribute   VinNow SKU-level Product Key
neItem/LineProduct/VinNo                        (50 chars max)
w/Key
Order/ShipTo/ShipFrom/Li     Yes*     1         Integer Node     Line Item Quantity
neItem/Quantity
Order/ShipTo/ShipFrom/Li     Yes*     1         Numeric Node     Line Item Unit Weight, in pounds
neItem/UnitWeight                                                • Included if the Weight has been defined for the
                                                                 Line Item Product
Order/ShipTo/ShipFrom/Li     Yes*     1         Numeric Node     Line Item Total Weight, in pounds
neItem/TotalWeight                                               • Value is Line Item Quantity multiplied by Line
                                                                 Item Unit Weight
                                                                 • Included if the Line Item Unit Weight contains a
                                                                 value greater than zero
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Node (17    Line Item Status (Unshipped, In Process,
neItem/LineStatus                               chars max)       Shipped, Backordered, Preordered, Canceled,
                                                                 Return-Ship Agent, or Return-Customer)
Order/ShipTo/ShipFrom/Li     Yes*     1         Currency         Line Item Unit Price
neItem/UnitPrice                                Node             • Always 0.00 for Canceled line items
Order/ShipTo/ShipFrom/Li     Yes*     1         Currency         Line Item Extended Price (Unit Price * Quantity)
neItem/ExtPrice                                 Node             • Always 0.00 for Canceled line items
Order/ShipTo/ShipFrom/Li     No       1         Container        For Shipped line items
neItem/ShipDate
Order/ShipTo/ShipFrom/Li     Yes*     1         Container
neItem/ShipDate/DateTime
Order/ShipTo/ShipFrom/Li     Yes*     1         Date Node        Line Item Ship Date
neItem/ShipDate/DateTime                        (mm/dd/yyyy)
/Date
Order/ShipTo/ShipFrom/Li     No       1         Container        Included only if Use Review Reminders is
neItem/ReviewReminder                                            enabled in Reviews/Setup/Review Reminders in
                                                                 the OMS and a Review Reminder has been sent
Order/ShipTo/ShipFrom/Li     Yes*     1         Container
neItem/ReviewReminder/D
ateTime
Order/ShipTo/ShipFrom/Li     Yes*     1         Date Node        Review Reminder Sent Date
neItem/ReviewReminder/D                         (mm/dd/yyyy)
ateTime/Date




                                           19
Element Xpath                Always   Occurs    Type             Description
Order/ShipTo/ShipFrom/Li     No       1         Text Node (50    Line Item Tracking Number (for Shipped line
neItem/TrackingNumber                           chars max)       items, if available)
Order/ShipTo/ShipFrom/Li     No       1         Container        If ShipCompliant processing is enabled
neItem/ShipCompliant                                             (Settings/Compatible Software/ShipCompliant),
                                                                 this field overrides the default settings for
                                                                 ShipCompliant web service.
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Node (50    ShipCompliant Product Key
neItem/ShipCompliant/Pro                        chars max)
ductKey
Order/ShipTo/ShipFrom/Li     Yes*     1         Text Node (50    ShipCompliant Brand Key
neItem/ShipCompliant/Bra                        chars max)
ndKey
Order/ShipTo/ShipFrom/Li     No       1         Container        Included only if integrated with VinNow
neItem/VinNow                                                    (Settings/Compatible Software/VinNow in the
                                                                 OMS)
Order/ShipTo/ShipFrom/Li     No       1         Text Node (50    VinNow Product Key
neItem/VinNow/ProductKe                         chars max)
y
Order/ShipTo/ShipFrom/Li     No       1         Text Node (50    VinNow Brand Key
neItem/VinNow/BrandKey                          chars max)
Order/ShipTo/ShipFrom/Li     No       1         Empty Node       Indicates Parent Line Item (for split line items)
neItem/Parent
Order/ShipTo/ShipFrom/Li     No       1         Empty Node       Indicates Child Line Item (for split line items)
neItem/Child
Order/ShipTo/ShipFrom/S      No       1         Container        ShipCompliant compliance status
hipCompliant                                                     • Usage of the ShipCompliant web service is set
                                                                 at Settings/Compatible Software/ShipCompliant
                                                                 in the OMS
Order/ShipTo/ShipFrom/S      Yes*     1         Text Node (6     ShipCompliant status flag (Green or Red)
hipCompliant/SCFlag                             chars max)
Order/ShipTo/ShipFrom/S      Yes*     1         Text Node        ShipCompliant error message
hipCompliant/SCMessage                                           • Included if SCFlag is Red
Order/ShipTo/ShipFrom/S      Yes*     1         Text Node (50    Shipping Method
hipMethod                                       chars max)
Order/ShipTo/ShipFrom/S      Yes*     1         Text Attribute   Shipper corresponding to Shipping Method
hipMethod @Shipper                              (6 chars max)    ((none), UPS, FedEx, DHL, USPS, or Other)
Order/ShipTo/ShipFrom/S      No       1         Integer          Time In Transit, in business days
hipMethod                                       Attribute
@TimeInTransit
Order/ShipTo/ShipFrom/S      No       1         Currency         Shipping Rate (if defined)
hipRate                                         Node
Order/ShipTo/ShipFrom/S      No       1         Text Attribute   Ship Rate Export SKU
hipRate @SKU                                                     • Included if the Shipping field is specified at
                                                                 Orders/Export/Excel & Access
                                                                 Preferences/Export SKUs in the OMS
Order/ShipTo/ShipFrom/S      No       1         Numeric Node     Total Shipping Weight, in pounds
hipWeight                                                        • Included if Line Item Total Weight(s) are
                                                                 calculated
Order/ShipTo/ShipFrom/Pr     No       1         Container        For Preferred Ship Date and Preferred Delivery
eferredDelivery                                                  Date
Order/ShipTo/ShipFrom/Pr     Yes*     1         Container
eferredDelivery/PreferredS
hipDate



                                           20
Element Xpath                Always   Occurs    Type             Description
Order/ShipTo/ShipFrom/Pr     Yes*     1         Container
eferredDelivery/PreferredS
hipDate/DateTime
Order/ShipTo/ShipFrom/Pr     Yes*     1         Date Node        Preferred Ship Date
eferredDelivery/PreferredS                      (mm/dd/yyyy)
hipDate/DateTime/Date
Order/ShipTo/ShipFrom/Pr     Yes*     1         Container
eferredDelivery/
PreferredDeliveryDate
Order/ShipTo/ShipFrom/Pr     Yes*     1         Container
eferredDelivery/
PreferredDeliveryDate
/DateTime
Order/ShipTo/ShipFrom/Pr     Yes*     1         Date Node        Preferred Delivery Date
eferredDelivery/PreferredD                      (mm/dd/yyyy)
eliveryDate/DateTime/Date
Order/Discounts              No       1         Container        For Product Orders, if discounts are present
Order/Discounts/Category     No       1+        Currency         Category Discount Amount
Discount                                        Node
Order/Discounts/Category     Yes*     1         Text Attribute   Category Name (for Category Discount)
Discount @Name                                                   • Subcategories appear as category paths
                                                                 separated by " / " (e.g. Golf Clubs / Putters). Note
                                                                 that there is a space on either side of the forward
                                                                 slash
Order/Discounts/Category     No       1         Text Attribute   Category Discount Export SKU
Discount @SKU                                                    • Included if the Category Discounts field is
                                                                 specified at Orders/Export/Excel & Access
                                                                 Preferences/Export SKUs in the OMS
Order/Discounts/OrderDisc    No       1         Currency         Order Discount Amount
ount                                            Node
Order/Discounts/Order        No       1         Text Attribute   Order Discount Export SKU
Discount @SKU                                                    • Included if the Order Discounts field is specified
                                                                 at Orders/Export/Excel & Access
                                                                 Preferences/Export SKUs in the OMS
Order/Discounts/CouponDi     No       1         Currency         Coupon Discount Amount
scount                                          Node             • Does not appear for a Shipping Coupon
Order/Discounts/CouponDi     Yes*     1         Text Attribute   Coupon Code (for Coupon Discount)
scount @Code                                    (50 chars max)
Order/Discounts/CouponDi     No       1         Text Attribute   Coupon Discount Export SKU
scount @SKU                                                      • Included if the Coupon Discounts field is
                                                                 specified at Orders/Export/Excel & Access
                                                                 Preferences/Export SKUs in the OMS
Order/Discounts/Customer     No       1         Currency         Customer Discount Amount
Discount                                        Node
Order/Discounts/Customer     Yes*     1         Percent          Customer Discount Percent
Discount @Percent                               Attribute
Order/Discounts/Customer     No       1         Text Attribute   Customer Discount Export SKU
Discount @SKU                                                    • Included if the Customer Discounts field is
                                                                 specified at Orders/Export/Excel & Access
                                                                 Preferences/Export SKUs in the OMS
Order/Discounts/SharingDi    No       1         Currency         Sharing Discount Amount
scount                                          Node




                                           21
Element Xpath                Always   Occurs    Type             Description
Order/Discounts/GiftCertD    No       1         Currency         Gift Certificate Discount Amount
iscount                                         Node
Order/Discounts/GiftCertD    Yes*     1         Text Attribute   Gift Certificate Code (for Gift Certificate
iscount @Code                                   (20 chars max)   Discount)
Order/Discounts/GiftCertD    No       1         Text Attribute   Gift Certificate Discount Export SKU
iscount @SKU                                                     • Included if the Gift Certificate Discounts field is
                                                                 specified at Orders/Export/Excel & Access
                                                                 Preferences/Export SKUs in the OMS
Order/Discounts/GiftCard     No       1         Currency         FlexCache Gift Card Discount Amount
Discount                                        Node
Order/Discounts/GiftCard     Yes*     1         Text Attribute   FlexCache Gift Card Number (for FlexCache Gift
Discount @No                                    (19 chars)       Card Discount)
Order/Discounts/GiftCard     No       1         Text Attribute   FlexCache Gift Card PIN (for FlexCache Gift
Discount @PIN                                   (4 chars)        Card Discount)
Order/Discounts/GiftCard     No       1         Text Attribute   FlexCache Gift Card Discount Export SKU
Discount @SKU                                                    • Included if the FlexCache Gift Card Discount
                                                                 field is specified at Orders/Export/Excel &
                                                                 Access Preferences/Export SKUs in the OMS
Order/ShipRate               No       1         Currency         Total Shipping Rate (for Product orders, if
                                                Node             defined)
Order/ShipRate               No       1         Text Attribute   Shipping Coupon Code
@CouponCode                                     (50 chars max)
Order/SalesTax               No       1         Container        For Sales Tax charged
Order/SalesTax/SalesTaxT     Yes*     1         Currency         Total Sales Tax (for Product orders, if defined)
otal                                            Node
Order/SalesTax/SalesTaxT     No       1         Text Attribute   Sales Tax Total Export SKU
otal @SKU                                                        • Included if the Sales Tax field is specified at
                                                                 Orders/Export/Excel & Access
                                                                 Preferences/Export SKUs in the OMS
Order/SalesTax/SalesTaxJu    No       1+        Container        For breaking down Sales Tax by jurisdiction
risdiction
Order/SalesTax/SalesTaxJu    Yes*     1         Text Node (2     Country Code for sales tax jurisdiction
risdiction/CountryCode                          chars max)
Order/SalesTax/SalesTaxJu    No       1         Text Node (2     State/Province Code for sales tax jurisdiction
risdiction/StateProvCode                        chars)
Order/SalesTax/SalesTaxJu    No       1         Text Node (50    County for sales tax jurisdiction (via third party
risdiction/County                               chars max)       sales tax data)
                                                                 • Included for US sales tax jurisdictions only
Order/SalesTax/SalesTaxJu    No       1         Text Node (50    City for sales tax jurisdiction (via third party sales
risdiction/City                                 chars max)       tax data)
                                                                 • Included for US sales tax jurisdictions only
Order/SalesTax/SalesTaxJu    Yes*     1         Currency         Taxable Total in sales tax jurisdiction
risdiction/TaxableTotal                         Node
Order/SalesTax/SalesTaxJu    Yes*     1         Percent Node     Sales Tax Rate in sales tax jurisdiction
risdiction/SalesTaxRate
Order/SalesTax/SalesTaxJu    Yes*     1         Currency         Sales Tax charged in sales tax jurisdiction
risdiction/SalesTaxAmount                       Node
Order/GiftCert               No       1+        Container        For Gift Certificate Orders
Order/GiftCert/GiftCertCo    Yes*     1         Text Node (20    Gift Certificate Code
de                                              chars max)
Order/GiftCert/GiftCertRec   Yes*     1         Container
ipient




                                           22
Element Xpath                  Always   Occurs    Type             Description
Order/GiftCert/GiftCertRec     Yes*     1         Container
ipient/Name
Order/GiftCert/GiftCertRec     Yes*     1         Text Node (50    Recipient First Name
ipient/Name/FirstName                             chars max)
Order/GiftCert/GiftCertRec     Yes*     1         Text Node (50    Recipient Last Name
ipient/Name/LastName                              chars max)
Order/GiftCert/GiftCertRec     Yes*     1         Text Node (50    Recipient E-Mail Address
ipient/Email                                      chars max)
Order/GiftCert/GiftCertStat    Yes*     1         Text Node (8     Gift Certificate Status (Unsent, Sent, or Canceled)
us                                                chars max)
Order/GiftCert/SendDate        No       1         Container        For Sent gift certificates
Order/GiftCert/SendDate/D      Yes*     1         Container
ateTime
Order/GiftCert/SendDate/D      Yes*     1         Date Node        Gift Certificate Send Date
ateTime/Date                                      (mm/dd/yyyy)
Order/GiftCert/GiftCertEx      No       1         Container        For Sent gift certificates
pDate
Order/GiftCert/GiftCertEx      Yes*     1         Container
pDate/DateTime
Order/GiftCert/GiftCertEx      Yes*     1         Date Node        Gift Certificate Expiration Date
pDate/DateTime/Date                               (mm/dd/yyyy)
Order/GiftCert/GiftCertAm      Yes*     1         Currency         Gift Certificate Amount
ount                                              Node             • Always 0.00 for Canceled gift certificates
Order/GiftCert/GiftCertAm      No       1         Text Attribute   Gift Certificate Export SKU
ount @SKU                                                          • Included if the Gift Certificate Sales field is
                                                                   specified at Orders/Export/Excel & Access
                                                                   Preferences/Export SKUs in the OMS
Order/GiftCert/GiftCertMe      No       1         Text Node        Gift Certificate Message (if provided)
ssage
Order/Affiliate                No       1         Container        For orders with an associated Affiliate
Order/Affiliate/AffiliateCat   No       1         Text Node        Affiliate Category (if applicable)
egory                                             (100 chars
                                                  max)
Order/Affiliate/AffiliateNa    Yes*     1         Text Node        Affiliate Name
me                                                (100 chars
                                                  max)
Order/Affiliate/Commissio      Yes*     1         Currency         Affiliate Commission
n                                                 Node
Order/Currency                 No       1         Container        For orders in which a foreign currency (i.e. a
                                                                   currency other than the United States Dollar) has
                                                                   been selected by the customer
Order/Currency/CurrencyN       Yes*     1         Text Node        Foreign Currency Name (e.g. Japanese Yen)
ame                                               (100 chars
                                                  max)
Order/Currency/CurrencyC       Yes*     1         Text Node (3     ISO Code for foreign currency (e.g. JPY)
ode                                               chars max)
Order/Currency/Exchange        Yes*     1         Numeric Node     Exchange Rate, in units of foreign currency per
Rate                                                               United States Dollar
Order/Currency/OrderAmo        Yes*     1         Currency         Order Total Amount in units of foreign currency
unt                                               Node




                                             23
Element Xpath               Always   Occurs    Type            Description
Order/CreditCardTransacti   No       1+        Container       For a Credit Card Transaction
on                                                             • Included only if the IncludeTransactions node is
                                                               present in the OrderQueryRequest, and the order
                                                               includes Credit Card Transactions
Order/CreditCardTransacti   Yes*     1         Container
on/TransactionDate
Order/CreditCardTransacti   Yes*     1         Container
on/TransactionDate/DateTi
me
Order/CreditCardTransacti   Yes*     1         Date Node       Transaction Date
on/TransactionDate/DateTi                      (mm/dd/yyyy)
me/Date
Order/CreditCardTransacti   Yes*     1         Text Node (18   Transaction Type (Auth Only, Auth Capture,
on/TransactionType                             chars max)      Prior Auth Capture, Refund, or Void)
Order/CreditCardTransacti   Yes*     1         Integer Node    Gateway Order Number
on/GatewayOrderNo
Order/CreditCardTransacti   Yes*     1         Text Node (8    Transaction Status (Success, Declined, or Error)
on/TransactionStatus                           chars max)
Order/CreditCardTransacti   No       1         Text Node       Notes on the Transaction (from the Gateway)
on/TransactionNotes
Order/CreditCardTransacti   Yes*     1         Text Node (50   Transaction Number (from the Gateway)
on/TransactionNo                               chars max)
Order/CreditCardTransacti   No       1         Text Node (6    Authorization Code (from the Gateway)
on/AuthorizationCode                           chars max)
Order/CreditCardTransacti   No       1         Text Node (1    Address Verification Service (AVS) Code (from
on/AVSCode                                     char)           the Gateway)
Order/CreditCardTransacti   Yes*     1         Container
on/CreditCard
Order/CreditCardTransacti   Yes*     1         Text Node (16   Credit Card Type (Visa, MasterCard, American
on/CreditCard/CreditCardT                      chars max)      Express, Diners Club, Discover, enRoute, or JCB)
ype
Order/CreditCardTransacti   Yes*     1         Text Node (16   Credit Card Number
on/CreditCard/CreditCard                       chars max)      •Entire number included only if the Full CC
Number                                                         Access option (Settings/Site Options in the OMS)
                                                               is on
Order/CreditCardTransacti   Yes*     1         Date Node       Credit Card Expiration Date
on/CreditCard/CreditCardE                      (mm/yyyy)
xpDate
Order/CreditCardTransacti   Yes*     1         Currency        Amount Attempted (negative values allowed)
on/AmountAttempted                             Node
Order/CreditCardTransacti   Yes*     1         Currency        Amount Authorized (negative values allowed)
on/AmountAuthorized                            Node
Order/CreditCardTransacti   Yes*     1         Currency        Amount Captured (negative values allowed)
on/AmountCaptured                              Node
Order/GiftCardTransaction   No       1+        Container       For a FlexCache Gift Card Transaction
                                                               • Included only if the IncludeTransactions node is
                                                               present in the OrderQueryRequest, and the order
                                                               includes FlexCache Gift Card Transactions
Order/GiftCardTransaction   Yes*     1         Container
/TransactionDate




                                          24
Element Xpath               Always    Occurs    Type            Description
Order/GiftCardTransaction   Yes*      1         Container
/TransactionDate/DateTim
e
Order/GiftCardTransaction   Yes*      1         Date Node       Transaction Date
/TransactionDate/DateTim                        (mm/dd/yyyy)
e/Date
Order/GiftCardTransaction   Yes*      1         Text Node (10   Transaction Type (Redemption, Refund,
/TransactionType                                chars max)      Reversal, Activate, DeActivate, ReActivate, or
                                                                Add Value)
Order/GiftCardTransaction   Yes*      1         Integer Node    FlexCache Order Number
/FlexCacheOrderNo
Order/GiftCardTransaction   Yes*      1         Text Node (8    Transaction Status (Success, Declined, or Error)
/TransactionStatus                              chars max)
Order/GiftCardTransaction   No        1         Text Node       Notes on the Transaction (from FlexCache)
/TransactionNotes
Order/GiftCardTransaction   Yes*      1         Text Node (50   Transaction Number (from FlexCache)
/TransactionNo                                  chars max)
Order/GiftCardTransaction   No        1         Text Node (6    Authorization Code (from FlexCache)
/AuthorizationCode                              chars max)
Order/GiftCardTransaction   No        1         Text Node (1    PIN Validation Response Code (from FlexCache)
/PINResponse                                    char)
Order/GiftCardTransaction   Yes*      1         Container
/GiftCard
Order/GiftCardTransaction   Yes*      1         Text Node (19   FlexCache Gift Card Number
/GiftCard/GiftCardNumber                        chars)
Order/GiftCardTransaction   Yes*      1         Text Node (4    FlexCache Gift Card PIN
/GiftCard/GiftCardPIN                           chars)
Order/GiftCardTransaction   Yes*      1         Currency        Amount Attempted (negative values allowed)
/AmountAttempted                                Node
Order/GiftCardTransaction   Yes*      1         Currency        Value Redeemed (negative values allowed)
/ValueRedeemed                                  Node
Order/GiftCardTransaction   Yes*      1         Currency        Value Added (negative values allowed)
/ValueAdded                                     Node
Order/GiftCardTransaction   No        1         Currency        Gift Card Balance After Transaction (successful
/FinalBalance                                   Node            transactions only)
NextPage                    No        1         Empty Node      Indicates the existence of a subsequent page of
                                                                orders

OrderQueryRequest Example (without CurrentStatus node)
<?xml version="1.0" encoding="UTF-8" ?>
<OrderQueryRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <OrderNoRange>
  <OrderNoStart>102309</OrderNoStart>
  <OrderNoEnd>102309</OrderNoEnd>
 </OrderNoRange>
 <Page>1</Page>
</OrderQueryRequest>



                                           25
OrderQueryReply Example (without CurrentStatus node)
<?xml version="1.0" encoding="UTF-8" ?>
<OrderQueryReply AccountName="fairway" Page="1">
 <Order>
  <OrderNo>102309</OrderNo>
  <OrderDate>
   <DateTime>
    <Date>09/22/2000</Date>
    <Time>17:54</Time>
   </DateTime>
  </OrderDate>
  <OrderType>Product</OrderType>
  <Customer>
   <CustomerNo>1</CustomerNo>
   <Email>ookoshi@bellsouth.net</Email>
   <Address Type="Residential">
    <Name>
     <FirstName>Roy</FirstName>
     <LastName>McKutchen</LastName>
    </Name>
    <StreetAddress1>567 Shaker Lane</StreetAddress1>
    <City>New Canaan</City>
    <StateProvCode>CT</StateProvCode>
    <ZipPostalCode>06840</ZipPostalCode>
    <CountryCode>US</CountryCode>
    <PhoneNumber>517 453 2432</PhoneNumber>
   </Address>
   <CustomerType>Consumer</CustomerType>
  </Customer>
  <OrderStatus>Shipped</OrderStatus>
  <ShipDate>
   <DateTime>
    <Date>09/22/2000</Date>
   </DateTime>
  </ShipDate>
  <BillingStatus>Paid</BillingStatus>
  <OrderAmount>846.66</OrderAmount>
  <OrderNet>795.90</OrderNet>
  <BillTo>
   <Address Type="Residential">
    <Name>
     <FirstName>Roy</FirstName>
     <LastName>McKutchen</LastName>
    </Name>
    <StreetAddress1>567 Shaker Lane</StreetAddress1>
    <City>Springfield</City>
    <StateProvCode>CT</StateProvCode>
    <ZipPostalCode>06789</ZipPostalCode>
    <CountryCode>US</CountryCode>
    <PhoneNumber>517 453 2432</PhoneNumber>
   </Address>
  </BillTo>
  <Payment>
   <PaymentMethod>Credit Card</PaymentMethod>
   <CreditCard>


                                              26
  <CreditCardType>Visa</CreditCardType>
  <CreditCardNumber>xxxxxxxxxxxx1111</CreditCardNumber>
  <CreditCardExpDate>09/2000</CreditCardExpDate>
 </CreditCard>
</Payment>
<PlacedBy>Internet</PlacedBy>
<LastUpd>
 <DateTime>
  <Date>12/27/2000</Date>
  <Time>14:38</Time>
 </DateTime>
</LastUpd>
<LastUpdBy>
 <Name>
  <FirstName>Demonstration</FirstName>
  <LastName>User</LastName>
 </Name>
</LastUpdBy>
<ShipTo>
 <Address Type="Residential">
  <Name>
   <FirstName>Roy</FirstName>
   <LastName>McKutchen</LastName>
  </Name>
  <StreetAddress1>567 Shaker Lane</StreetAddress1>
  <City>Springfield</City>
  <StateProvCode>CT</StateProvCode>
  <ZipPostalCode>06789</ZipPostalCode>
  <CountryCode>US</CountryCode>
  <PhoneNumber>517 453 2432</PhoneNumber>
 </Address>
 <SalesTaxRate>6</SalesTaxRate>
 <ShipFrom Name="FirstFairway">
  <LineItem>
   <LineNo>27</LineNo>
   <LineProduct>
    <ProductNo>15</ProductNo>
    <ProductName>Ashworth Microfiber Golf Shorts</ProductName>
    <Attribute Name="Size">Small</Attribute>
    <Attribute Name="Color">Blue</Attribute>
   </LineProduct>
   <Quantity>1</Quantity>
   <LineStatus>Shipped</LineStatus>
   <UnitPrice>69.99</UnitPrice>
   <ExtPrice>69.99</ExtPrice>
   <ShipDate>
    <DateTime>
      <Date>12/27/2000</Date>
    </DateTime>
   </ShipDate>
  </LineItem>
  <LineItem>
   <LineNo>28</LineNo>
   <LineProduct>
    <ProductNo>9</ProductNo>
    <ProductName>British Open Towel</ProductName>


                                          27
 </LineProduct>
 <Quantity>3</Quantity>
 <LineStatus>Shipped</LineStatus>
 <UnitPrice>39.99</UnitPrice>
 <ExtPrice>119.97</ExtPrice>
 <ShipDate>
  <DateTime>
   <Date>12/27/2000</Date>
  </DateTime>
 </ShipDate>
</LineItem>
<LineItem>
 <LineNo>29</LineNo>
 <LineProduct>
  <ProductNo>10</ProductNo>
  <ProductName>Nike Course Umbrella</ProductName>
 </LineProduct>
 <Quantity>1</Quantity>
 <LineStatus>Shipped</LineStatus>
 <UnitPrice>39.99</UnitPrice>
 <ExtPrice>39.99</ExtPrice>
 <ShipDate>
  <DateTime>
   <Date>12/27/2000</Date>
  </DateTime>
 </ShipDate>
</LineItem>
<LineItem>
 <LineNo>30</LineNo>
 <LineProduct>
  <ProductNo>8</ProductNo>
  <ProductName>Access Proslim Tees</ProductName>
 </LineProduct>
 <Quantity>2</Quantity>
 <LineStatus>Shipped</LineStatus>
 <UnitPrice>7.99</UnitPrice>
 <ExtPrice>15.98</ExtPrice>
 <ShipDate>
  <DateTime>
   <Date>12/27/2000</Date>
  </DateTime>
 </ShipDate>
</LineItem>
<LineItem>
 <LineNo>31</LineNo>
 <LineProduct>
  <ProductNo>11</ProductNo>
  <ProductName>Swiss Army Golfer Knife</ProductName>
 </LineProduct>
 <Quantity>2</Quantity>
 <LineStatus>Shipped</LineStatus>
 <UnitPrice>49.99</UnitPrice>
 <ExtPrice>99.98</ExtPrice>
 <ShipDate>
  <DateTime>
   <Date>12/27/2000</Date>


                                       28
       </DateTime>
     </ShipDate>
    </LineItem>
    <LineItem>
     <LineNo>32</LineNo>
     <LineProduct>
       <ProductNo>17</ProductNo>
       <ProductName>Great Big Bertha Hawk Eye Strong 3</ProductName>
     </LineProduct>
     <Quantity>1</Quantity>
     <LineStatus>Shipped</LineStatus>
     <UnitPrice>449.99</UnitPrice>
     <ExtPrice>449.99</ExtPrice>
     <ShipDate>
       <DateTime>
        <Date>12/27/2000</Date>
       </DateTime>
     </ShipDate>
    </LineItem>
    <ShipMethod Shipper="UPS">UPS Ground</ShipMethod>
    <ShipRate>3.00</ShipRate>
   </ShipFrom>
  </ShipTo>
  <ShipRate>3.00</ShipRate>
  <SalesTax>
   <SalesTaxTotal>47.75</ SalesTaxTotal >
   <SalesTaxState StateProvCode="CT">47.75</ SalesTaxState>
  </SalesTax>
 </Order>
</OrderQueryReply>




                                             29
OrderQueryReply Schema (with CurrentStatus node)
Element Xpath             Always     Occurs      Type             Description
@AccountName              Yes        1           Text Node (10    Client's Account Name (e.g. fairway)
                                                 chars max)
@Page                     Yes        1           Integer          Page number of query results
                                                 Attribute
CurrentStatus             Yes        1           Container        Current Status of Orders that fall within the
                                                                  specified query range
                                                                  • Included only if a query range is specified and
                                                                  the CurrentStatus node is present in the
                                                                  OrderQueryRequest
CurrentStatus/Order       Yes        1-          Text Node        Order Status
                                     2000                         • Product Orders: Unshipped, In Process,
                                                                  Shipped, Backordered, Preordered, Canceled,
                                                                  Return-Ship Agent, Return-Customer, Shipped-
                                                                  Partial, Other-See Line Items, or Not Found
                                                                  • Gift Certificate Orders: Unsent, Sent, Canceled,
                                                                  Sent-Partial, Other-See Line Items, or Not Found
CurrentStatus/Order @No   Yes        1           Integer          Order Number
                                                 Attribute
CurrentStatus/Order       Yes        1           Text Attribute   Billing Status (Unbilled, Authorized, Billed,
@BillingStatus                                                    Billed-Partial, Paid, Paid-Partial, Refunded,
                                                                  Refunded-Partial, Declined CC, Canceled, or Not
                                                                  Found)
NextPage                  No         1           Empty Node       Indicates the existence of a subsequent page of
                                                                  orders

OrderQueryRequest Example (with CurrentStatus node)
<?xml version="1.0" encoding="UTF-8"?>
<OrderQueryRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <OrderDateRange>
  <OrderDateStart>
   <DateTime>
    <Date>12/01/2000</Date>
    <Time>00:00</Time>
   </DateTime>
  </OrderDateStart>
  <OrderDateEnd>
   <DateTime>
    <Date>12/15/2000</Date>
    <Time>23:59</Time>
   </DateTime>
  </OrderDateEnd>
 </OrderDateRange>
 <CurrentStatus />
</OrderQueryRequest>

OrderQueryReply Example (with CurrentStatus node)
<?xml version="1.0" encoding="utf-8"?>
<OrderQueryReply AccountName="fairway" Page="1">


                                            30
 <CurrentStatus>
  <Order No="102447" BillingStatus="Paid">Shipped</Order>
  <Order No="102448" BillingStatus="Paid">Shipped</Order>
  <Order No="102449" BillingStatus="Paid">Shipped</Order>
  <Order No="102450" BillingStatus="Paid">Shipped</Order>
  <Order No="102451" BillingStatus="Paid">Shipped</Order>
  <Order No="102452" BillingStatus="Paid">Shipped</Order>
  <Order No="102453" BillingStatus="Paid">Shipped</Order>
  <Order No="102454" BillingStatus="Paid">Shipped</Order>
  <Order No="102455" BillingStatus="Paid">Shipped</Order>
  <Order No="102456" BillingStatus="Paid">Shipped</Order>
  <Order No="102457" BillingStatus="Paid">Shipped</Order>
  <Order No="102458" BillingStatus="Paid">Shipped</Order>
  <Order No="102459" BillingStatus="Paid">Shipped</Order>
  <Order No="102460" BillingStatus="Paid">Shipped</Order>
  <Order No="102461" BillingStatus="Paid">Shipped</Order>
  <Order No="102462" BillingStatus="Paid">Shipped</Order>
  <Order No="102463" BillingStatus="Paid">Shipped</Order>
  <Order No="102464" BillingStatus="Paid">Shipped</Order>
  <Order No="102465" BillingStatus="Paid">Shipped</Order>
  <Order No="102466" BillingStatus="Paid">Shipped</Order>
  <Order No="102467" BillingStatus="Paid">Shipped</Order>
  <Order No="102468" BillingStatus="Paid">Shipped</Order>
  <Order No="102469" BillingStatus="Paid">Shipped</Order>
  <Order No="102470" BillingStatus="Paid">Shipped</Order>
  <Order No="102471" BillingStatus="Paid">Shipped</Order>
  <Order No="102472" BillingStatus="Paid">Shipped</Order>
  <Order No="102473" BillingStatus="Paid">Shipped</Order>
  <Order No="102474" BillingStatus="Paid">Shipped</Order>
  <Order No="102475" BillingStatus="Paid">Shipped</Order>
  <Order No="102476" BillingStatus="Paid">Shipped</Order>
  <Order No="102477" BillingStatus="Paid">Shipped</Order>
  <Order No="102478" BillingStatus="Paid">Shipped</Order>
  <Order No="102479" BillingStatus="Canceled">Canceled</Order>
  <Order No="102480" BillingStatus="Paid">Shipped</Order>
  <Order No="102481" BillingStatus="Paid">Shipped</Order>
  <Order No="102482" BillingStatus="Paid">Shipped</Order>
  <Order No="102483" BillingStatus="Paid">Shipped</Order>
  <Order No="102484" BillingStatus="Paid">Shipped</Order>
  <Order No="102485" BillingStatus="Paid">Shipped</Order>
  <Order No="102486" BillingStatus="Paid">Shipped</Order>
  <Order No="102487" BillingStatus="Paid">Shipped</Order>
  <Order No="102488" BillingStatus="Paid">Shipped</Order>
  <Order No="102489" BillingStatus="Paid">Shipped</Order>
  <Order No="102490" BillingStatus="Paid">Shipped</Order>
  <Order No="102491" BillingStatus="Paid">Shipped</Order>
  <Order No="102492" BillingStatus="Paid">Shipped</Order>
  <Order No="102493" BillingStatus="Paid">Shipped</Order>
 </CurrentStatus>
</OrderQueryReply>




                                             31
                                      6: OrderUpdate

The OrderUpdate is used to update Order and Line Item Status, Billing Status, and
Company Comments, and to capture payment transactions for preexisting orders in the
OMS. This allows you to "import" comments and status data, including shipping dates
and tracking numbers, when appropriate, from an external system. In many cases, the
resulting change in Order Status results in automatic e-mails being sent, such as Shipped
E-Mails, Gift Certificate E-Mails, and Drop Ship E-Mails, subject to the appropriate
options in the OMS.

In the OrderUpdateRequest, orders are identified by Order Number. You may update
Order/Line Item Status via the StatusUpdate container, Billing Status via the
BillingStatusUpdate container, and Company Comments via the UpdateComments
container. If you are using a Payment Gateway (Settings/Compatible Software in the
OMS), you may also use the CapturePayment node to capture (process), refund, or void
an order’s credit card. (Any other payment transactions should be performed through the
Order Management System.) With respect to Order/Line Item Status, you may set the
update status via the Status node, and restrict the update to selected line items within the
order via the LineNo node, the ShipFrom @Name attribute, the ShipTo container, and the
Application node. The OrderUpdateReply gives the final Order Status and Billing Status
for each order included in the update.

The OrderUpdateRequest may not be used to cancel or un-cancel any order or line item.
Canceled is not a valid value for the Status node in the
OrderUpdateRequest/UpdateStatus container, and any canceled order or line item may
not be updated via this tool.

The ForceProceed node in the OrderUpdateRequest forces the tool to proceed with valid
order updates even if an invalid update request (e.g. no match is found for the OrderNo
node specified) is found. In such a scenario, the corresponding Order container for
invalid requests in the OrderUpdateReply contains the Error XML elements specified in
Chapter 14 (Errors) in lieu of the elements specified in the OrderUpdateReply Schema.
If the ForceProceed node is not included in the OrderUpdateRequest, any invalid request
results in the failure of all requests, and only the Error elements are returned.

A single OrderUpdateRequest may contain no more than 15 OrderUpdate containers. If
you wish to update more than 15 orders, you must do so in an iterative manner.

OrderUpdateRequest URL: https://www.nexternal.com/shared/xml/orderupdate.rest

OrderUpdateRequest Schema
Element Xpath              Required    Occurs    Type            Description
Credentials                Yes         1         Container
Credentials/AccountName    Yes         1         Text Node (10   Client's Account Name (e.g. fairway)
                                                 char max)
Credentials/Key            Yes         1         Text Node (20   Client's XML Key
                                                 char)


                                            32
Element Xpath               Required   Occurs    Type             Description
OrderUpdate                 Yes        1 - 15    Container
OrderUpdate/OrderNo         Yes        1         Integer Node     Order Number
                                                                  • Must match an existing Order Number
                                                                  • Order must not be Canceled
OrderUpdate/StatusUpdate    No         1         Container        For updating Order or Line Item Status
OrderUpdate/StatusUpdate/   Yes*       1         Text Node (17    Update Status
Status                                           char max)        • Product Orders: Unshipped, In Process,
                                                                  Shipped, Backordered, Preordered, Return-Ship
                                                                  Agent, or Return-Customer
                                                                  • Gift Certificate Orders: Unsent, Sent
OrderUpdate/StatusUpdate/   No         1         Integer Node     Line Item Number, used for limiting the status
LineNo                                                            update to a single Line Item
                                                                  • May be queried via the OrderQuery Tool
                                                                  (Order/ShipTo/ShipFrom/LineItem/LineNo)
OrderUpdate/StatusUpdate/   No         1         Empty Node       For limiting the status update to a single Ship
ShipFrom                                                          From Address
OrderUpdate/StatusUpdate/   Yes*       1         Text Attribute   Internal Name of Ship From Address
ShipFrom @Name                                   (50 char max)    • Must match an existing Ship From Address at
                                                                  Settings/Ship From Addresses in the OMS
OrderUpdate/StatusUpdate/   No         1         Container        For limiting the update to a single Ship To
ShipTo                                                            Address
OrderUpdate/StatusUpdate/   No         1         Text Attribute   Ship To Address Label
ShipTo@Label                                     (25 char max)
OrderUpdate/StatusUpdate/   No         1         Container
ShipTo/Name
OrderUpdate/StatusUpdate/   Yes*       1         Text Node (50    Ship To Address First Name
ShipTo/Name/FirstName                            char max)
OrderUpdate/StatusUpdate/   Yes*       1         Text Node (50    Ship To Address Last Name
ShipTo/Name/LastName                             char max)
OrderUpdate/StatusUpdate/   No         1         Container        For Update Status of Shipped/Sent
ShipDate
OrderUpdate/StatusUpdate/   Yes*       1         Container
ShipDate/DateTime
OrderUpdate/StatusUpdate/   Yes*       1         Date Node        Update Ship/Send Date (default value: Today)
ShipDate/DateTime/Date                           (mm/dd/yyyy)
OrderUpdate/StatusUpdate/   No         1         Text Node (50    Tracking Number (for Update Order Status of
TrackingNumber                                   char max)        Shipped)
OrderUpdate/StatusUpdate/   No         1         Text Node (17    Used to limit the scope of the update by Line Item
Application                                      char max)        Status
                                                                  • Product Orders: Unshipped, In Process,
                                                                  Shipped, Backordered, Preordered, Return-Ship
                                                                  Agent, or Return-Customer
                                                                  • Gift Certificate Orders: Unsent, Sent
                                                                  • All Orders: Outstanding (all statuses other than
                                                                  Shipped/Sent and Return-Customer) and All (all
                                                                  statuses) are also valid
                                                                  • Default value: Outstanding
OrderUpdate/BillingStatus   No         1         Container        For updating Billing Status
Update
OrderUpdate/BillingStatus   Yes*       1         Text Node (16    Update Billing Status
Update/BillingStatus                             chars max)       • Unbilled, Authorized, Billed, Billed-Partial,
                                                                  Paid, Canceled, Refunded, or Declined CC
OrderUpdate/CommentsUp      No         1         Container        For updating Company Comments
date




                                            33
Element Xpath               Required   Occurs        Type            Description
OrderUpdate/CommentsUp      Yes*       1             Text Node       Update Company Comments
date/CompanyComments
OrderUpdate/CommentsUp      No         1             Empty Node      Indicates Company Comments may be displayed
date/DisplayCompanyCom                                               to customer; absence indicates Company
ments                                                                Comments may not be displayed to customer
OrderUpdate/CapturePaym     No         1             Empty/Text      Processes the order’s credit card
ent                                                  Node (7 chars   • Capture, Refund, or Void (default value:
                                                     max)            Capture
                                                                     • Requires that you be using a Payment Gateway
                                                                     (Settings/Compatible Software in the OMS) and
                                                                     that the order’s Payment Method be Credit Card
                                                                     • Applies after any status updates specified in the
                                                                     OrderUpdateRequest
ForceProceed                No         1             Empty Node      Indicates that the Inventory Update should
                                                                     proceed even if one or more requested updates is
                                                                     invalid

OrderUpdateReply Schema
Element Xpath               Always     Occurs        Type            Description
@AccountName                Yes        1             Text Node (10   Client's Account Name (e.g. fairway)
                                                     char max)
Order                       Yes        1 - 15        Container
Order/OrderNo               Yes        1             Integer Node    Order Number
Order/OrderStatus           Yes        1             Text Node (20   Order Status (after update)
                                                     chars max)      • Product Orders: Unshipped, In Process,
                                                                     Shipped, Backordered, Preordered, Return-Ship
                                                                     Agent, Return-Customer, Shipped-Partial, or
                                                                     Other-See Line Items
                                                                     • Gift Certificate Orders: Unsent, Sent, Sent-
                                                                     Partial, or Other-See Line Items
Order/BillingStatus         Yes        1             Text Node (16   Billing Status (after update)
                                                     chars max)      • Unbilled, Authorized, Billed, Billed-Partial,
                                                                     Paid, Canceled, Refunded, or Declined CC
Order/CapturePayment        No         1             Container       Included if CapturePayment node was present in
                                                                     the update request
Order/CapturePayment/Stat   Yes*       1             Text Node       Payment transaction status (after update)
us                                                                   • Authorized, Declined CC, Unbilled, Refunded,
                                                                     Canceled, None, or Error
Order/CapturePayment/Not    Yes*       1             Text Node       Payment transaction notes (after update)
es

OrderUpdateRequest Example
<?xml version="1.0" encoding="UTF-8" ?>
<OrderUpdateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <OrderUpdate>
  <OrderNo>103575</OrderNo>
  <StatusUpdate>
   <Status>Shipped</Status>
   <ShipFrom Name="Firstfairway"/>



                                                34
   <ShipTo Label="Home" />
   <ShipDate>
    <DateTime>
     <Date>09/30/2005</Date>
    </DateTime>
   </ShipDate>
   <TrackingNumber>1ZF13F10P200421487</TrackingNumber>
  </StatusUpdate>
  <BillingStatusUpdate>
   <BillingStatus>Paid</BillingStatus>
  </BillingStatusUpdate>
  <CommentsUpdate>
   <CompanyComments>New Callaway clubs arrive Christmas 2005!</CompanyComments>
   <DisplayCompanyComments/>
  </CommentsUpdate>
 </OrderUpdate>
 <OrderUpdate>
  <OrderNo>103452</OrderNo>
  <StatusUpdate>
   <Status>Sent</Status>
   <ShipDate>
    <DateTime>
     <Date>09/28/2005</Date>
    </DateTime>
   </ShipDate>
  </StatusUpdate>
 </OrderUpdate>
 <ForceProceed/>
</OrderUpdateRequest>

OrderUpdateReply Example
<?xml version="1.0" encoding="UTF-8" ?>
<OrderUpdateReply AccountName="fairway">
 <Order>
  <OrderNo>103575</OrderNo>
  <OrderStatus>Other-See Line Items</OrderStatus>
  <BillingStatus>Paid</BillingStatus>
 </Order>
 <Order>
  <OrderNo>103452</OrderNo>
  <OrderStatus>Sent</OrderStatus>
  <BillingStatus>Authorized</BillingStatus>
 </Order>
</OrderUpdateReply>




                                              35
                                      7: OrderCalculate

OrderCalculate is used to retrieve information related to an order before the actual order
is placed. Information about the possible shipping rates and methods, any potential
discounts and taxes, and the current inventory levels for each line item in the order will
be returned in the OrderCalculateReply.

Each OrderCalculate node specifies the source of the order using a Customer container,
one or more shipping destinations using the ShipTos container, and one or more line
items using the Products container. Additional information regarding the order can be
specified using the BillTo container and the Discounts container. CustomFields and
WriteIns should be included in the OrderCalculateRequest when required.

The OrderCalculate tool may be used to calculate orders for new or preexisting
customers, but products included in the OrderCalculateRequest must already exist. For
new customers you must include the Customer/Email node and a completed
OrderCalculate/BillTo container.

The ForceProceed node in the OrderCreateRequest forces the tool to proceed with valid
order calculation requests even if an invalid calculation request is encountered. In such a
scenario, the corresponding Order containers for the invalid requests in the
OrderCalculateReply contain the Error XML elements specified in Chapter 14 (Errors) in
lieu of the elements specified in the OrderCalculateReply schema. If the ForceProceed
node is not included in the OrderCalculateRequest, any invalid order calculation requests
will result in the failure of all subsequent order calculation requests in the query.

A single OrderCalculateRequest may contain no more than 15 OrderCalculate containers.
If you wish to calculate more than 15 orders, you must do so in an iterative manner.

Note: Autocoupons and Automatic Add Triggers do not apply.

OrderCalculateRequest URL:
https://www.nexternal.com/shared/xml/ordercalculate.rest

OrderCalculateRequest Schema
Element Xpath              Required     Occurs        Type            Description
Credentials                Yes          1             Container
Credentials/AccountName    Yes          1             Text Node (10   Client's Account Name (e.g. fairway)
                                                      char max)
Credentials/Key            Yes          1             Text Node (20   Client's XML Key
                                                      char)
OrderCalculate             Yes          1 - 15        Container
OrderCalculate/Customer    Yes          1             Container




                                                 36
Element Xpath              Required   Occurs    Type             Description
OrderCalculate/Customer    No         1         Text Attribute   Indicates which node in the query will be used to
@MatchingField                                  (10 chars max)   match an existing customer (CustomerNo, Name,
                                                                 or Email)
                                                                 • The Customer/Email node combined with a
                                                                 completed OrderCalculate/BillTo container can
                                                                 be used if customer matching is not required (e.g.
                                                                 a new customer)
OrderCalculate/Customer/   No         1         Integer Node     Customer Number (for matching purposes only)
CustomerNo                                                       • Required if MatchingField="CustomerNo"
OrderCalculate/Customer/   No         1         Container        Customer Name
Name                                                             • Required if MatchingField="Name"
OrderCalculate/Customer/   Yes*       1         Text Node (50    Customer First Name
Name/FirstName                                  chars max)
OrderCalculate/Customer/   Yes*       1         Text Node (50    Customer Last Name
Name/LastName                                   chars max)
OrderCalculate/Customer/   No         1         Text Node (50    Customer E-Mail Address
Email                                           chars max)       • Required if MatchingField="Email" or for new
                                                                 customers
OrderCalculate/Customer/   No         1         Text Node (20    Customer Type
CustomerType                                    chars max)       • The default customer type is defined at
                                                                 Customers/Types in the OMS
OrderCalculate/Customer/   No         1         Text/Integer/N   Customer Custom Field #1 Value
CustomField1                                    umeric/Curren    • Node Type depends on Field Type of Custom
                                                cy/Date/Empty    Field
                                                Node
OrderCalculate/Customer/   Yes*       1         Text Attribute   Customer Custom Field #1 Type (Text, Positive
CustomField1 @Type                              (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                 Yes/No)
OrderCalculate/Customer/   No         1         Text/Integer/N   Customer Custom Field #2 Value
CustomField2                                    umeric/Curren    • Node Type depends on Field Type of Custom
                                                cy/Date/Empty    Field
                                                Node
OrderCalculate/Customer/   Yes*       1         Text Attribute   Customer Custom Field #2 Type (Text, Positive
CustomField2 @Type                              (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                 Yes/No)
OrderCalculate/Customer/   No         1         Text/Integer/N   Customer Custom Field #3 Value
CustomField3                                    umeric/Curren    • Node Type depends on Field Type of Custom
                                                cy/Date/Empty    Field
                                                Node
OrderCalculate/Customer/   Yes*       1         Text Attribute   Customer Custom Field #3 Type (Text, Positive
CustomField3 @Type                              (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                 Yes/No)
OrderCalculate/Customer/   No         1         Text/Integer/N   Customer Custom Field #4 Value
CustomField4                                    umeric/Curren    • Node Type depends on Field Type of Custom
                                                cy/Date/Empty    Field
                                                Node
OrderCalculate/Customer/   Yes*       1         Text Attribute   Customer Custom Field #4 Type (Text, Positive
CustomField4 @Type                              (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                 Yes/No)
OrderCalculate/Customer/   No         1         Text/Integer/N   Customer Custom Field #5 Value
CustomField5                                    umeric/Curren    • Node Type depends on Field Type of Custom
                                                cy/Date/Empty    Field
                                                Node




                                           37
Element Xpath               Required   Occurs    Type             Description
OrderCalculate/Customer/    Yes*       1         Text Attribute   Customer Custom Field #5 Type (Text, Positive
CustomField5 @Type                               (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
OrderCalculate/Customer/    No         1         Text/Integer/N   Customer Custom Field #6 Value
CustomField6                                     umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field
                                                 Node
OrderCalculate/Customer/    Yes*       1         Text Attribute   Customer Custom Field #6 Type (Text, Positive
CustomField6 @Type                               (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
OrderCalculate/BillTo       No         1         Container        Customer Bill To Address
                                                                  • If a preexisting customer is used and this
                                                                  container is omitted, the customer’s Primary Bill
                                                                  To Address is used (or Contact Address, if there
                                                                  is no Primary Bill To Address)
                                                                  • This container, along with the Customer/Email
                                                                  node, are required for new customers
OrderCalculate/BillTo/Add   Yes*       1         Container        Customer Bill To Address
ress
OrderCalculate/BillTo/Add   Yes*       1         Text Attribute   Customer Bill To Address Type (Residential or
ress @Type                                       (11 chars max)   Business)
OrderCalculate/BillTo/Add   No         1         Container        May be omitted if Customer/Name node exists
ress/Name                                                         and you wish to use those values
OrderCalculate/BillTo/Add   Yes*       1         Text Node (50    Customer First Name
ress/Name/FirstName                              chars max)
OrderCalculate/BillTo/Add   Yes*       1         Text Node (50    Customer Last Name
ress/Name/LastName                               chars max)
OrderCalculate/BillTo/Add   No         1         Text Node        Customer Bill To Company Name
ress/CompanyName                                 (100 chars       • Usage of the Company Name field is set at
                                                 max)             Customers/Types in the OMS
OrderCalculate/BillTo/Add   Yes*       1         Text Node        Customer Bill To Street Address (Line 1)
ress/StreetAddress1                              (100 chars
                                                 max)
OrderCalculate/BillTo/Add   No         1         Text Node        Customer Bill To Street Address (Line 2)
ress/StreetAddress2                              (100 chars
                                                 max)
OrderCalculate/BillTo/Add   Yes*       1         Text Node (50    Customer Bill To City
ress/City                                        chars max)
OrderCalculate/BillTo/Add   No         1         Text Node (2     Customer Bill To State/Province Code
ress/StateProvCode                               chars)
OrderCalculate/BillTo/Add   Yes*       1         Text Node (20    Customer Bill To Zip/Postal Code
ress/ZipPostalCode                               chars max)
OrderCalculate/BillTo/Add   Yes*       1         Text Node (2     Customer Bill To Country Code
ress/CountryCode                                 chars)
OrderCalculate/Discounts    No         1         Container        Discounts applied to the order calculation

OrderCalculate/Discounts/   No         1         Text Node (50    Coupon Code
CouponCode                                       chars max)       • Note that shipping discounts cannot be included
                                                                  in the order calculation
OrderCalculate/Discounts/   No         1         Text Node (19    FlexCache Gift Card Number
GiftCard                                         chars)
OrderCalculate/Discounts/   Yes*       1         Text Attribute   FlexCache Gift Card PIN
GiftCard @PIN                                    (4 chars)
OrderCalculate/Discounts/   No         1         Text Node (20    Gift Certificate Code
GiftCertificate                                  chars max)


                                            38
Element Xpath               Required   Occurs    Type             Description
OrderCalculate/ShipTos      No         1         Container        For Ship To Addresses
OrderCalculate/ShipTos/Sh   Yes*       1+        Container
ipTo
OrderCalculate/ShipTos/Sh   No         1         Text Attribute   Address Label (for matching purposes)
ipTo @Label                                      (25 chars max)   • If the Label value is "yourself" the customer’s
                                                                  Primary Ship To Address will be used (or Contact
                                                                  Address, if there is no Primary Ship To)
                                                                  • If the Label value is not "yourself" it must
                                                                  match an existing Customer Address in the OMS
OrderCalculate/ShipTos/Sh   No         1         Container        Ship To Address
ipTo/Address                                                      • If ShipTo @Label is used the ShipTo/Address
                                                                  container is ignored
                                                                  • If the ShipTo/Address container is not present
                                                                  the Customer Primary Shipping Address will be
                                                                  used (or Contact Address, if there is no Primary
                                                                  Ship To)
OrderCalculate/ShipTos/Sh   Yes*       1         Text Attribute   Ship To Address Type (Residential or Business)
ipTo/Address @Type                               (11 chars max)
OrderCalculate/ShipTos/Sh   Yes*       1         Text Attribute   Ship To Address Label
ipTo/Address @Label                              (25 chars max)
OrderCalculate/ShipTos/Sh   Yes*       1         Container
ipTo/Address/Name
OrderCalculate/ShipTos/Sh   Yes*       1         Text Node (50    Ship To First Name
ipTo/Address/Name/FirstN                         chars max)
ame
OrderCalculate/ShipTos/Sh   Yes*       1         Text Node (50    Ship To Last Name
ipTo/Address/Name/LastN                          chars max)
ame
OrderCalculate/ShipTos/Sh   No         1         Text Node        Ship To Company Name
ipTo/Address/CompanyNa                           (100 chars       • Usage of the Company Name field is set at
me                                               max)             Customers/Types in the OMS
OrderCalculate/ShipTos/Sh   Yes*       1         Text Node        Ship To Street Address (Line 1)
ipTo/Address/Address1                            (100 chars
                                                 max)
OrderCalculate/ShipTos/Sh   No         1         Text Node        Ship To Street Address (Line 2)
ipTo/Address/Address2                            (100 chars
                                                 max)
OrderCalculate/ShipTos/Sh   Yes*       1         Text Node (50    Ship To City
ipTo/Address/City                                chars max)
OrderCalculate/ShipTos/Sh   No         1         Text Node (2     Ship To State/Province Code
ipTo/Address/StateProvCo                         chars)
de
OrderCalculate/ShipTos/Sh   Yes*       1         Text Node (20    Ship To Zip/Postal Code
ipTo/Address/ZipPostalCo                         chars max)
de
OrderCalculate/ShipTos/Sh   Yes*       1         Text Node (2     Ship To Country Code
ipTo/Address/CountryCode                         chars)
OrderCalculate/ShipTos/Sh   Yes        1         Container        Indicates the product(s) that will be included in
ipTo/Products                                                     the order
                                                                  • Products must already exist; see ProductUpdate
                                                                  to add new products




                                            39
Element Xpath                Required   Occurs    Type             Description
OrderCalculate/ShipTos/Sh    Yes        1+        Container        Products can be matched using the ProductNo,
ipTo/Products/Product                                              the ProductName, or the ProductSKU. SKU-
                                                                   level items for a particular Product can be
                                                                   matched using one of the nodes listed above,
                                                                   along with a SKUItem node. The SKU node can
                                                                   be used to match any unique SKU number
                                                                   declared at the Product level or at the SKU level
OrderCalculate/ShipTos/Sh    No         1         Integer Node     Product Number (for matching purposes)
ipTo/Products/Product/Pro
ductNo
OrderCalculate/ShipTos/Sh    No         1         Text Node        Product Name (for matching purposes)
ipTo/Products/Product/Pro                         (100 chars
ductName                                          max)
OrderCalculate/ShipTos/Sh    No         1         Text Node (50    Product SKU number (for matching purposes)
ipTo/Products/Product/Pro                         chars max)
ductSKU
OrderCalculate/ShipTos/Sh    No         1         Text Node (50    Product-level or SKU-level SKU number (for
ipTo/Products/Product/SK                          chars max)       matching purposes)
U                                                                  • Note that this node is used instead of the
                                                                   ProductNo, ProductName, ProductSKU, and
                                                                   SKUItem node(s) to identify a Product or a SKU-
                                                                   level item for a Product
OrderCalculate/ShipTos/Sh    No         1         Container
ipTo/Products/Product/SK
UItem
OrderCalculate/ShipTos/Sh    No         1         Text Attribute   SKU-level SKU number (for matching purposes)
ipTo/Products/Product/SK                          (50 chars max)
UItem @SKU
OrderCalculate/ShipTos/Sh    No         1         Container
ipTo/Products/Product/SK
UItem/Attributes
OrderCalculate/ShipTos/Sh    Yes*       1+        Text Node (50    SKU Attribute value
ipTo/Products/Product/SK                          chars max)
UItem/Attributes/Attribute
OrderCalculate/ShipTos/Sh    Yes*       1         Text Attribute   SKU Attribute Name
ipTo/Products/Product/SK                          (50 chars max)
UItem/Attributes/Attribute
@Name
OrderCalculate/ShipTos/Sh    No         1         Container        Include if the Product requires Write-In attributes
ipTo/Products/Product/Wri
teIns
OrderCalculate/ShipTos/Sh    Yes*       1+        Text Node (50    Write-In attribute value
ipTo/Products/Product/Wri                         chars max)
teIns/WriteIn
OrderCalculate/ShipTos/Sh    Yes*       1         Text Attribute   Write-In attribute name
ipTo/Products/Product/Wri                         (50 chars max)
teIns/WriteIn @Name
OrderCalculate/ShipTos/Sh    Yes        1         Integer Node     Product Quantity
ipTo/Products/Product/Qty
ForceProceed                 No         1         Empty Node       Indicates that the OrderCalculateRequest should
                                                                   proceed even if one or more requested
                                                                   OrderCalculate nodes is invalid




                                             40
OrderCalculateReply Schema
Element Xpath              Always   Occurs        Type             Description
@AccountName               Yes      1             Text Node (10    Client's Account Name (e.g. fairway)
                                                  char max)
Order                      Yes      1 - 15        Container
Order/Customer             Yes      1             Container
Order/Customer             No       1             Text Attribute   Indicates which node in the query was used to
@MatchingField                                    (10 chars max)   match an existing customer (CustomerNo, Name,
                                                                   or Email)
                                                                   • Only present if a "MatchingField" attribute was
                                                                   included in the OrderCalculateQuery and an
                                                                   existing customer was found
Order/Customer/Customer    No       1             Integer Node     Customer Number (for matching purposes only)
No                                                                 • Only present if MatchingField="CustomerNo"
                                                                   was included in the OrderCalculateQuery and an
                                                                   existing customer was found
Order/Customer/Name        No       1             Container        Customer Name
                                                                   • Only present if MatchingField="Name" was
                                                                   included in the OrderCalculateQuery and an
                                                                   existing customer was found
Order/Customer/Name/Firs   Yes*     1             Text Node (50    Customer First Name
tName                                             chars max)
Order/Customer/Name/Las    Yes*     1             Text Node (50    Customer Last Name
tName                                             chars max)
Order/Customer/Email       No       1             Text Node (50    Customer E-Mail Address
                                                  chars max)       • Only present if MatchingField="Email" was
                                                                   included in the OrderCalculateQuery and an
                                                                   existing customer was found
Order/Customer/Customer    Yes      1             Text Node (20    Customer Type
Type                                              chars max)
Order/ShipTos              No       1             Container        Indicates the address(es) that the order product(s)
                                                                   will be shipped to
Order/ShipTos/ShipTo       Yes      1+            Container
Order/ShipTos/ShipTo/Ad    Yes      1             Container        Ship To Address
dress
Order/ShipTos/ShipTo/Ad    Yes      1             Container
dress/Name
Order/ShipTos/ShipTo/Ad    Yes      1             Text Node (50    Ship To First Name
dress/Name/FirstName                              chars max)
Order/ShipTos/ShipTo/Ad    Yes      1             Text Node (50    Ship To Last Name
dress/Name/LastName                               chars max)
Order/ShipTos/ShipTo/Ad    No       1             Text Node        Ship To Company Name
dress/CompanyName                                 (100 chars
                                                  max)
Order/ShipTos/ShipTo/Ad    Yes      1             Text Node        Ship To Street Address (Line 1)
dress/Address1                                    (100 chars
                                                  max)
Order/ShipTos/ShipTo/Ad    No       1             Text Node        Ship To Street Address (Line 2)
dress/Address2                                    (100 chars
                                                  max)
Order/ShipTos/ShipTo/Ad    Yes      1             Text Node (50    Ship To City
dress/City                                        chars max)
Order/ShipTos/ShipTo/Ad    No       1             Text Node (2     Ship To State/Province Code
dress/StateProvCode                               chars)




                                             41
Element Xpath                Always   Occurs    Type             Description
Order/ShipTos/ShipTo/Ad      Yes      1         Text Node (20    Ship To Zip/Postal Code
dress/ZipPostalCode                             chars max)
Order/ShipTos/ShipTo/Ad      Yes      1         Text Node (2     Ship To Country Code
dress/CountryCode                               chars)
Order/ShipTos/ShipTo/Shi     Yes      1         Container
pFrom
Order/ShipTos/ShipTo/Shi     Yes*     1         Text Attribute   Internal Name of Ship From Address
pFrom @Name                                     (50 chars max)
Order/ShipTos/ShipTo/Pro     Yes      1         Container        Indicates the product(s) that will be included in
ducts                                                            the order
Order/ShipTos/ShipTo/Shi     Yes      1+        Container
pFrom/Products/Product
Order/ShipTos/ShipTo/Shi     Yes      1         Text Node        Product Name
pFrom/Products/Product/Pr                       (100 chars
oductName                                       max)
Order/ShipTos/ShipTo/Shi     No       1         Text Node (50    Product SKU number
pFrom/Products/Product/Pr                       chars max)
oductSKU
Order/ShipTos/ShipTo/Shi     No       1         Container        SKU-level item
pFrom/Products/Product/S
KUItem
Order/ShipTos/ShipTo/Shi     No       1         Container
pFrom/Products/Product/S
KUItem/Attributes
Order/ShipTos/ShipTo/Shi     Yes*     1+        Text Node (50    SKU Attribute value
pFrom/Products/Product/S                        chars max)
KUItem/Attributes/Attribut
e
Order/ShipTos/ShipTo/Shi     Yes*     1         Text Attribute   SKU Attribute Name
pFrom/Products/Product/S                        (50 chars max)
KUItem/Attributes/Attribut
e @Name
Order/ShipTos/ShipTo/Shi     Yes      1         Integer Node     Product Quantity
pFrom/Products/Product/Qt
y
Order/ShipTos/ShipTo/Shi     Yes      1         Integer Node     Product Inventory
pFrom/Products/Product/Qt
y @Inventory
Order/ShipTos/ShipTo/Shi     Yes      1         Numeric Node     Product Unit Weight
pFrom/Products/Product/U
nitWeight
Order/ShipTos/ShipTo/Shi     Yes      1         Currency         Product Unit Price
pFrom/Products/Product/U                        Node
nitPrice
Order/ShipTos/ShipTo/Shi     Yes      1         Numeric Node     Shipping Weight
pFrom/ShipWeight
Order/ShipTos/ShipTo/Shi     Yes      1         Container        All available Shipping Options (see:
pFrom/ShippingOptions                                            ShipTo/ShipFrom @Name)
                                                                 • See Settings/Shipping/Show Zones & Rates in
                                                                 the OMS for all configured Shipping Options
Order/ShipTos/ShipTo/Shi     Yes      1+        Container
pFrom/ShippingOptions/Sh
ipOption




                                           42
 Element Xpath                 Always   Occurs      Type             Description
 Order/ShipTos/ShipTo/Shi      Yes      1           Text Node (50    Shipping Method
 pFrom/ShippingOptions/Sh                           chars max)
 ipOption/ShipMethod
 Order/ShipTos/ShipTo/Shi      Yes      1           Currency         Shipping Rate
 pFrom/ShippingOptions/Sh                           Node
 ipRate
 Order/ShipTos/ShipTo/Shi      No       1           Empty Node       Present if this is the Default Shipping Option
 pFrom/ShippingOptions/D
 efault
 Order/SubTotal                Yes      1           Currency         Order Subtotal
                                                    Node
 Order/Discounts               No       1           Container

 Order/Discounts/Category      No       1           Currency         Category Discount Amount
 Discount                                           Node
 Order/Discounts/Category      Yes*     1           Text Attribute   Category Name (for Category Discount)
 Discount @Name                                     (50 chars max)   • Subcategories appear as category paths
                                                                     separated by " / " (e.g. Golf Clubs / Putters). Note
                                                                     that there is a space on either side of the forward
                                                                     slash
 Order/Discounts/CouponDi      No       1           Currency         Coupon Discount Amount
 scount                                             Node
 Order/Discounts/CouponDi      Yes*     1           Text Attribute   Coupon Code (for Coupon Discount)
 scount @Code                                       (50 chars max)
 Order/Discounts/Customer      No       1           Percent Node     Customer Discount Percent
 Discount
 Order/Discounts/GiftCard      No       1           Currency         Gift Card Discount Amount
                                                    Node
 Order/Discounts/GiftCertifi   No       1           Currency         Gift Certificate Discount Amount
 cate                                               Node
 Order/SalesTaxTotal           Yes      1           Currency         Order Sales Tax
                                                    Node

OrderCalculateRequest Example
<?xml version="1.0" encoding="utf-8"?>
<OrderCalculateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <OrderCalculate>
  <Customer>
   <Email>bobsmith123@somewhere.com</Email>
  </Customer>
  <BillTo>
   <Address Type="Residential">
    <Name>
     <FirstName>Bob</FirstName>
     <LastName>Smith</LastName>
    </Name>
    <StreetAddress1>123 Main St.</StreetAddress1>
    <City>San Diego</City>
    <StateProvCode>CA</StateProvCode>
    <ZipPostalCode>92107</ZipPostalCode>


                                              43
    <CountryCode>US</CountryCode>
    <PhoneNumber>760-555-1234</PhoneNumber>
   </Address>
  </BillTo>
  <ShipTos>
   <ShipTo Label="yourself">
    <Products>
     <Product>
       <ProductName>British Open Towel</ProductName>
       <Qty>1</Qty>
     </Product>
    </Products>
   </ShipTo>
  </ShipTos>
 </OrderCalculate>
</OrderCalculateRequest>

OrderCalculateRequest Example
<?xml version="1.0" encoding="utf-8"?>
<OrderCalculateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <OrderCalculate>
  <Customer MatchingField="Email">
   <Email>demo@demo.com</Email>
  </Customer>
  <ShipTos>
   <ShipTo Label="yourself">
    <Products>
     <Product>
       <ProductName>Nike Sphere Dry Polo</ProductName>
       <SKUItem>
        <Attributes>
         <Attribute Name="Color">Black</Attribute>
         <Attribute Name="Size">Small</Attribute>
        </Attributes>
       </SKUItem>
       <Qty>1</Qty>
     </Product>
    </Products>
   </ShipTo>
  </ShipTos>
 </OrderCalculate>
</OrderCalculateRequest>

OrderCalculateReply Example
<?xml version="1.0" encoding="utf-8"?>
<OrderCalculateReply AccountName="fairway">
 <Order>
  <Customer MatchingField="Email">
   <Email>demo@demo.com</Email>
   <CustomerType>Consumer</CustomerType>
  </Customer>



                                              44
  <ShipTos>
   <ShipTo>
    <Address>
     <Name>
       <FirstName>Adam</FirstName>
       <LastName>Scott</LastName>
     </Name>
     <StreetAddress1>956 18th St.</StreetAddress1>
     <City>La Jolla</City>
     <StateProvCode>CA</StateProvCode>
     <ZipPostalCode>92037</ZipPostalCode>
     <CountryCode>US</CountryCode>
    </Address>
    <ShipFrom Name="FirstFairway">
     <Products>
       <Product>
        <ProductName>Nike Sphere Dry Polo</ProductName>
        <SKUItem>
         <Attributes>
          <Attribute Name="Color">Black</Attribute>
          <Attribute Name="Size">Small</Attribute>
         </Attributes>
        </SKUItem>
        <Qty Inventory="1000">1</Qty>
        <UnitWeight>2.00</UnitWeight>
        <UnitPrice>60.00</UnitPrice>
       </Product>
     </Products>
     <ShipWeight>2.00</ShipWeight>
     <ShippingOptions>
       <ShipOption>
        <ShipMethod>FedEx Ground</ShipMethod>
        <ShipRate>5.69</ShipRate>
        <Default />
       </ShipOption>
       <ShipOption>
        <ShipMethod>FedEx 2Day</ShipMethod>
        <ShipRate>13.40</ShipRate>
       </ShipOption>
       <ShipOption>
        <ShipMethod>FedEx Standard Overnight</ShipMethod>
        <ShipRate>22.25</ShipRate>
       </ShipOption>
     </ShippingOptions>
    </ShipFrom>
   </ShipTo>
  </ShipTos>
  <SubTotal>60.00</SubTotal>
  <SalesTaxTotal>5.25</SalesTaxTotal>
 </Order>
</OrderCalculateReply>




                                            45
                                    8: OrderCreate

The OrderCreate is used to add new orders to the Order Management System (Add
Mode), or to import pre-existing orders from an external system into the Order
Management System (Import Mode).

Each OrderCreate node specifies the source of the order using a Customer container, one
or more shipping destinations using the ShipTos container, and one or more line items
using the Products and GiftCertificates containers. Additional information regarding the
order can be specified using the BillTo container, the Payment container, the Discounts
container, the PlacedBy container, the Affiliate container, and the ShipCompliant
container. In Import Mode, you may include other information that might be relevant to
the order using the OrderDate node, the BillingStatus node, the LineItemStatus and
ShipDate nodes, the TrackingNumber node, and the SalesTaxRate node.

The OrderCreate tool may be used to create orders for new or preexisting customers, but
products included in the OrderCreateRequest must be preexisting. In Add Mode,
automatic e-mails are sent when an OrderCreateRequest is processed (e.g Shipped E-
Mails, Gift Certificate E-Mails, and Drop Ship E-Mails) subject to the appropriate
settings in the OMS.

The Strict node in the OrderCreateRequest will cause the tool to enforce all existing
settings and configurations from the Order Management System. If the Strict node is
included, all applicable validations are applied against all information in the
OrderCreateRequest.

The ForceProceed node in the OrderCreateRequest forces the tool to proceed with valid
order requests even if there is an invalid order request. In such a scenario, the
corresponding Order containers for the invalid requests in the OrderCreateReply contain
the Error XML elements specified in Chapter 14 (Errors) in lieu of the elements specified
in the OrderCreateReply schema. If the ForceProceed node is not included in the
OrderCreateRequest, any invalid Order requests result in the failure of all subsequent
Order requests in the query.

When new orders are added, most of the settings and configurations are applied by
default, regardless of the presence or absence of the Strict node. In Import Mode, it is
recommend that you not include the Strict node in the OrderCreateRequest if any of the
nodes listed in the OrderCreateRequest Schema contain information that isn't aligned
with the current settings and configuration of your Order Management System (e.g. some
pre-existing orders were paid for with American Express and your storefront only accepts
Visa and MasterCard).

A single OrderCreateRequest may contain no more than 15 OrderCreate containers. If
you wish to create more than 15 orders, you must do so in an iterative manner.




                                           46
Note: Customer Type Upgrades do apply to OrderCreate. Autocoupons and Automatic
Add Triggers do not apply.


OrderCreateRequest URL: https://www.nexternal.com/shared/xml/ordercreate.rest

OrderCreateRequest Schema
Element Xpath              Required   Occurs        Type             Description
Credentials                Yes        1             Container
Credentials/AccountName    Yes        1             Text Node (10    Client's Account Name (e.g. fairway)
                                                    char max)
Credentials/Key            Yes        1             Text Node (20    Client's XML Key
                                                    char)
OrderCreate                Yes        1 - 15        Container
OrderCreate @Mode          Yes        1             Text Attribute   Order Create Mode (Add or Import)
                                                    (6 chars max)
OrderCreate/Customer       Yes        1             Container
OrderCreate/Customer       No         1             Text Attribute   Indicates which node in the query will be used to
@MatchingField                                      (10 chars max)   match an existing customer (CustomerNo, Name,
                                                                     or Email)
                                                                     • If MatchingField is included and a customer
                                                                     match is found, the existing customer will be
                                                                     used; otherwise a new customer will be created
                                                                     • If MatchingField is not included, a new
                                                                     customer will be created
OrderCreate/Customer/Cus   No         1             Integer Node     Customer Number (for matching purposes only)
tomerNo                                                              • Required if MatchingField="CustomerNo"
OrderCreate/Customer/Na    No         1             Container        Customer Name
me                                                                   • Required if MatchingField="Name"
OrderCreate/Customer/Na    Yes*       1             Text Node (50    Customer First Name
me/FirstName                                        chars max)
OrderCreate/Customer/Na    Yes*       1             Text Node (50    Customer Last Name
me/LastName                                         chars max)
OrderCreate/Customer/Em    No         1             Text Node (50    Customer E-Mail Address
ail                                                 chars max)       • Required if MatchingField="Email"
OrderCreate/Customer/Cus   No         1             Container        Customer Password and Password Reminder (for
tomerPassword                                                        creating new customers only)
OrderCreate/Customer/Cus   Yes*       1             Text Node (50    Customer Password
tomerPassword/Password                              chars max)
OrderCreate/Customer/Cus   No         1             Text Node        Customer Password Reminder
tomerPassword/PasswordR                             (100 chars
eminder                                             max)
OrderCreate/Customer/Cus   No         1             Text Node (20    Customer Type (for creating new customers only)
tomerType                                           chars max)       • The default customer type is defined at
                                                                     Customers/Types in the OMS
OrderCreate/Customer/Cus   No         1             Text/Integer/N   Customer Custom Field #1 Value (for creating
tomField1                                           umeric/Curren    new customers only)
                                                    cy/Date/Empty    • Node Type depends on Field Type of Custom
                                                    Node             Field
OrderCreate/Customer/Cus   Yes*       1             Text Attribute   Customer Custom Field #1 Type (Text, Positive
tomField1 @Type                                     (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                     Yes/No)




                                               47
Element Xpath               Required   Occurs    Type             Description
OrderCreate/Customer/Cus    No         1         Text/Integer/N   Customer Custom Field #2 Value (for creating
tomField2                                        umeric/Curren    new customers only)
                                                 cy/Date/Empty    • Node Type depends on Field Type of Custom
                                                 Node             Field
OrderCreate/Customer/Cus    Yes*       1         Text Attribute   Customer Custom Field #2 Type (Text, Positive
tomField2 @Type                                  (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
OrderCreate/Customer/Cus    No         1         Text/Integer/N   Customer Custom Field #3 Value (for creating
tomField3                                        umeric/Curren    new customers only)
                                                 cy/Date/Empty    • Node Type depends on Field Type of Custom
                                                 Node             Field
OrderCreate/Customer/Cus    Yes*       1         Text Attribute   Customer Custom Field #3 Type (Text, Positive
tomField3 @Type                                  (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
OrderCreate/Customer/Cus    No         1         Text/Integer/N   Customer Custom Field #4 Value (for creating
tomField4                                        umeric/Curren    new customers only)
                                                 cy/Date/Empty    • Node Type depends on Field Type of Custom
                                                 Node             Field
OrderCreate/Customer/Cus    Yes*       1         Text Attribute   Customer Custom Field #4 Type (Text, Positive
tomField4 @Type                                  (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
OrderCreate/Customer/Cus    No         1         Text/Integer/N   Customer Custom Field #5 Value (for creating
tomField5                                        umeric/Curren    new customers only)
                                                 cy/Date/Empty    • Node Type depends on Field Type of Custom
                                                 Node             Field
OrderCreate/Customer/Cus    Yes*       1         Text Attribute   Customer Custom Field #5 Type (Text, Positive
tomField5 @Type                                  (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
OrderCreate/Customer/Cus    No         1         Text/Integer/N   Customer Custom Field #6 Value (for creating
tomField6                                        umeric/Curren    new customers only)
                                                 cy/Date/Empty    • Node Type depends on Field Type of Custom
                                                 Node             Field
OrderCreate/Customer/Cus    Yes*       1         Text Attribute   Customer Custom Field #6 Type (Text, Positive
tomField6 @Type                                  (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
OrderCreate/BillTo          No         1         Container        Customer Bill To Address
                                                                  • If a preexisting customer is used and this
                                                                  container is omitted, the customer’s Primary Bill
                                                                  To Address is used (or Contact Address, if there
                                                                  is no Primary Bill To Address)
                                                                  • Required if you are creating a new customer
OrderCreate/BillTo/Addres   Yes*       1         Container        Customer Bill To Address
s
OrderCreate/BillTo/Addres   Yes*       1         Text Attribute   Customer Bill To Address Type (Residential or
s @Type                                          (11 chars max)   Business)
OrderCreate/BillTo/Addres   No         1         Container        May be omitted if Customer/Name node exists
s/Name                                                            and you wish to use those values
OrderCreate/BillTo/Addres   Yes*       1         Text Node (50    Customer First Name
s/Name/FirstName                                 chars max)
OrderCreate/BillTo/Addres   Yes*       1         Text Node (50    Customer Last Name
s/Name/LastName                                  chars max)
OrderCreate/BillTo/Addres   No         1         Text Node        Customer Bill To Company Name
s/CompanyName                                    (100 chars       • Usage of the Company Name field is set at
                                                 max)             Customers/Types in the OMS




                                            48
Element Xpath               Required   Occurs    Type            Description
OrderCreate/BillTo/Addres   Yes*       1         Text Node       Customer Bill To Street Address (Line 1)
s/StreetAddress1                                 (100 chars
                                                 max)
OrderCreate/BillTo/Addres   No         1         Text Node       Customer Bill To Street Address (Line 2)
s/StreetAddress2                                 (100 chars
                                                 max)
OrderCreate/BillTo/Addres   Yes*       1         Text Node (50   Customer Bill To City
s/City                                           chars max)
OrderCreate/BillTo/Addres   No         1         Text Node (2    Customer Bill To State/Province Code
s/StateProvCode                                  chars)
OrderCreate/BillTo/Addres   Yes*       1         Text Node (20   Customer Bill To Zip/Postal Code
s/ZipPostalCode                                  chars max)
OrderCreate/BillTo/Addres   Yes*       1         Text Node (2    Customer Bill To Country Code
s/CountryCode                                    chars)
OrderCreate/BillTo/Addres   Yes*       1         Text Node (50   Customer Bill To Phone Number
s/PhoneNumber                                    chars max)
OrderCreate/BillTo/Addres   No         1         Text Node (30   Customer Bill To Phone Extension
s/PhoneExt                                       chars max)
OrderCreate/Payment         No         1         Container       Indicates the method of payment for the order
                                                                 • If a preexisting Customer is used and the
                                                                 Payment container is not present the customer’s
                                                                 Preferred Credit Card will be used
                                                                 • A Payment container is required if a new
                                                                 Customer is being added to the OMS
OrderCreate/Payment/Pay     Yes*       1         Text Node (13   Payment Method (CreditCard, COD,
mentMethod                                       chars max)      CustomPayment, Invoice, or Paypal)
                                                                 • If Mode="Add", only the Payment Methods
                                                                 selected in Settings/Billing Options in the OMS
                                                                 are valid
                                                                 • If Mode="Import", any Payment Method may
                                                                 be used
OrderCreate/Payment/Cred    No         1         Container       Include if the PaymentMethod is "CreditCard"
itCard
OrderCreate/Payment/Cred    Yes*       1         Text Node (10   Credit Card Type (Visa, MasterCard, American
itCard/CreditCardType                            chars max)      Express, Diners Club, Discover, enRoute, or JCB)
                                                                 • If Mode="Add", or Mode="Import" but the
                                                                 order has not yet been billed or paid, only the
                                                                 Credit Card Types selected in Settings/Billing
                                                                 Options in the OMS are valid
                                                                 • If Mode="Import" and the order has already
                                                                 been billed or paid, any Credit Card Type may be
                                                                 used
OrderCreate/Payment/Cred    Yes*       1         Text Node (16   Credit Card Number
itCard/CreditCardNumber                          chars max)
OrderCreate/Payment/Cred    Yes*       1         Date Node       Credit Card Expiration Date
itCard/CreditCardExpDate                         (mm/yyyy)       • If Mode="Add", or Mode="Import" but the
                                                                 order has not yet been billed or paid, the Credit
                                                                 Card Expiration Date must be in the future
                                                                 • If Mode="Import" and the order has already
                                                                 been billed or paid, any Expiration Date is valid




                                            49
Element Xpath                Required   Occurs    Type             Description
OrderCreate/Payment/Cust     No         1         Text Node (20    Custom Payment Name
omPayment                                         chars max)       • Applicable only if PaymentMethod is
                                                                   "CustomPayment"
                                                                   • If Mode="Add" only the Custom Payment
                                                                   Names entered in Settings/Billing Options in the
                                                                   OMS are valid
                                                                   • If Mode="Import" any Custom Payment Name
                                                                   may be used
OrderCreate/Payment/PON      No         1         Text Node (50    Purchase Order Number
umber                                             chars max)       • Applicable only if the selected PaymentMethod
                                                                   allows Purchase Order Numbers (Settings/Billing
                                                                   Options in the OMS)
OrderCreate/Discounts        No         1         Container        Discounts applied to the order

OrderCreate/Discounts/Co     No         1         Text Node (50    Coupon Code
uponCode                                          chars max)       • Ignored if Mode="Import"
OrderCreate/Discounts/Gift   No         1         Text Node (19    FlexCache Gift Card Number
Card                                              chars)           • Ignored if Mode="Import"
OrderCreate/Discounts/Gift   Yes*       1         Text Attribute   FlexCache Gift Card PIN
Card @PIN                                         (4 chars)
OrderCreate/Discounts/Gift   No         1         Text Node (20    Gift Certificate Code
Certificate                                       chars max)       • Ignored if Mode="Import"
OrderCreate/Discounts/Ord    No         1         Currency         Order Discount
erDiscount                                        Node             • Ignored if Mode="Add"
OrderCreate/PlacedBy         No         1         Container

OrderCreate/PlacedBy/Plac    Yes*       1         Text Node (12    Placed By (Internet, Phone, Fax, Mail, or Other)
edByMethod                                        chars max)
OrderCreate/PlacedBy/Oth     Yes*       1         Text Node (12    Include only if PlacedByMethod is "Other"
erMethod                                          chars max)
OrderCreate/PlacedBy/Cus     No         1         Text Node (15    Customer IP Address
tomerIPAddress                                    chars max)       • Include only if PlacedByMethod is "Internet"
OrderCreate/PlacedBy/Plac    No         1         Container        Values entered into the PlacedWith container
edWith                                                             must belong to an existing User
                                                                   • Include only if PlacedByMethod is not
                                                                   "Internet"
OrderCreate/PlacedBy/Plac    Yes*       1         Container
edWith/Name
OrderCreate/PlacedBy/Plac    Yes*       1         Text Node (50    Placed With First Name
edWith/Name/FirstName                             chars max)
OrderCreate/PlacedBy/Plac    Yes*       1         Text Node (50    Placed With Last Name
edWith/Name/LastName                              chars max)
OrderCreate/ShipComplian     No         1         Container        If ShipCompliant is in use (Settings/Compatible
t                                                                  Software/ShipCompliant) this container is used to
                                                                   overide the OMS ShipCompliant Preferences
                                                                   • If Mode="Import" and ShipCompliant is in use,
                                                                   this container is required
OrderCreate/ShipComplian     Yes*       1         Text Node (14    ShipCompliant Commit Option (All, Compliant
t/CommitOption                                    chars max)       Only, or None)
                                                                   • If Mode="Import" and the order being imported
                                                                   has already been processed by ShipCompliant, set
                                                                   this node to "None" to prevent duplicate
                                                                   processing



                                             50
Element Xpath               Required   Occurs    Type             Description
OrderCreate/ShipComplian    Yes*       1         Text Node (20    ShipCompliant Override Option (Never Override,
t/OverrideOption                                 chars max)       Allow Unless Shipped, Always Allow, or Always
                                                                  Override)
                                                                  • If Mode="Import" and the order being imported
                                                                  has already been processed by ShipCompliant set
                                                                  this node to "Never Override" to prevent
                                                                  duplicate processing
OrderCreate/ShipComplian    No         1         Empty Node       ShipCompliant Ignore Invalid Address
t/AddressIgnore
OrderCreate/ShipTos         No         1         Container        For Ship To Addresses
OrderCreate/ShipTos/Ship    Yes*       1+        Container
To
OrderCreate/ShipTos/Ship    No         1         Text Attribute   Address Label (for matching purposes)
To @Label                                        (25 chars max)   • If the Label value is "yourself" the customer’s
                                                                  Primary Ship To Address will be used (or Contact
                                                                  Address, if there is no Primary Ship To)
                                                                  • If the Label value is not "yourself" it must
                                                                  match an existing Customer Address
OrderCreate/ShipTos/Ship    No         1         Container        Ship To Address
To/Address                                                        • If ShipTo @Label is used the ShipTo/Address
                                                                  container is ignored
                                                                  • If the ShipTo/Address container is not present
                                                                  the Customer Primary Shipping Address will be
                                                                  used (or Contact Address, if there is no Primary
                                                                  Ship To)
OrderCreate/ShipTos/Ship    Yes*       1         Text Attribute   Ship To Address Type (Residential or Business)
To/Address @Type                                 (11 chars max)
OrderCreate/ShipTos/Ship    Yes*       1         Text Attribute   Ship To Address Label
To/Address @Label                                (25 chars max)
OrderCreate/ShipTos/Ship    Yes*       1         Container
To/Address/Name
OrderCreate/ShipTos/Ship    Yes*       1         Text Node (50    Ship To First Name
To/Address/Name/FirstNa                          chars max)
me
OrderCreate/ShipTos/Ship    Yes*       1         Text Node (50    Ship To Last Name
To/Address/Name/LastNa                           chars max)
me
OrderCreate/ShipTos/Ship    No         1         Text Node        Ship To Company Name
To/Address/CompanyNam                            (100 chars       • Usage of the Company Name field is set at
e                                                max)             Customers/Types in the OMS
OrderCreate/ShipTos/Ship    Yes*       1         Text Node        Ship To Street Address (Line 1)
To/Address/StreetAddress1                        (100 chars
                                                 max)
OrderCreate/ShipTos/Ship    No         1         Text Node        Ship To Street Address (Line 2)
To/Address/StreetAddress2                        (100 chars
                                                 max)
OrderCreate/ShipTos/Ship    Yes*       1         Text Node (50    Ship To City
To/Address/City                                  chars max)
OrderCreate/ShipTos/Ship    No         1         Text Node (2     Ship To State/Province Code
To/Address/StateProvCode                         chars)
OrderCreate/ShipTos/Ship    Yes*       1         Text Node (20    Ship To Zip/Postal Code
To/Address/ZipPostalCode                         chars max)
OrderCreate/ShipTos/Ship    Yes*       1         Text Node (2     Ship To Country Code
To/Address/CountryCode                           chars)




                                            51
Element Xpath               Required   Occurs    Type             Description
OrderCreate/ShipTos/Ship    Yes*       1         Text Node (50    Ship To Phone Number
To/Address/PhoneNumber                           chars max)
OrderCreate/ShipTos/Ship    No         1         Text Node (30    Ship To Phone Extension
To/Address/PhoneExt                              chars max)
OrderCreate/ShipTos/Ship    No         1         Empty Node       Indicates Gift Wrapping is requested
To/GiftWrap
OrderCreate/ShipTos/Ship    No         1         Text Node        Gift Message
To/GiftMessage
OrderCreate/ShipTos/Ship    Yes        1         Container
To/Shipping
OrderCreate/ShipTos/Ship    Yes        1         Container
To/Shipping/Shipments
OrderCreate/ShipTos/Ship    No         1+        Container        Include if you would like to declare preferred
To/Shipping/Shipments/Shi                                         shipping methods for one or more ShipFrom
pFrom                                                             locations (Settings/Site Options/Ship From
                                                                  Addresses in the OMS)
OrderCreate/ShipTos/Ship    Yes*       1         Text Attribute   ShipFrom Location Name
To/Shipping/Shipments/Shi                        (50 chars max)
pFrom @Name
OrderCreate/ShipTos/Ship    Yes*       1         Text Node (60    Preferred Shipping Method (see Settings/
To/Shipping/Shipments/Shi                        chars max)       Shipping/Show Zones & Rates)
pFrom/ShipMethod                                                  • You can omit any special characters (e.g. ®)
                                                                  that appear in the method name
OrderCreate/ShipTos/Ship    No         1         Currency         Shipping Rate
To/Shipping/Shipments/Shi                        Node             • Required if Mode="Import" and ShipMethod is
pFrom/ShipRate                                                    not one of the Shipping Options available for the
                                                                  ShipFrom location (see Settings/Shipping/Show
                                                                  Zones & Rates)
OrderCreate/ShipTos/Ship    No         1         Container
To/Shipping/Shipments/Shi
pFrom/PreferredDeliveryD
ate
OrderCreate/ShipTos/Ship    Yes*       1         Container
To/Shipping/Shipments/Shi
pFrom/DateTime
OrderCreate/ShipTos/Ship    Yes*       1         Date Node        Preferred Delivery Date
To/Shipping/Shipments/Shi                        (mm/dd/yyyy)     • Preferred Delivery Date must be enabled in the
pFrom/DateTime/Date                                               OMS (Settings/Site Options) and Time In Transit
                                                                  information must be available
OrderCreate/ShipTos/Ship    Yes*       1         Container        Default shipping method to be used if the
To/Shipping/Shipments/De                                          preferred shipping method is not defined in
faultShipFrom                                                     Shipments/ShipFrom
                                                                  • DefaultShipFrom is required if a Shipping
                                                                  container is present in the query
OrderCreate/ShipTos/Ship    Yes*       1         Text Node (60    Default Shipping Method
To/Shipping/Shipments/De                         chars max)       • You can omit any special characters (e.g. ®)
faultShipFrom/ShipMethod                                          that appear in the method name
OrderCreate/ShipTos/Ship    No         1         Currency         Shipping Rate
To/Shipping/Shipments/De                         Node             • Required if Mode="Import" and ShipMethod is
faultShipFrom/ShipRate                                            not one of the Shipping Options available for the
                                                                  ShipFrom location (see Settings/Shipping/Show
                                                                  Zones & Rates)




                                            52
Element Xpath               Required   Occurs    Type             Description
OrderCreate/ShipTos/Ship    No         1         Container
To/Shipping/Shipments/De
faultShipFrom/PreferredDe
liveryDate
OrderCreate/ShipTos/Ship    Yes*       1         Container
To/Shipping/Shipments/De
faultShipFrom/DateTime
OrderCreate/ShipTos/Ship    Yes*       1         Date Node        Preferred Delivery Date
To/Shipping/Shipments/De                         (mm/dd/yyyy)     • Preferred Delivery Date must be enabled in the
faultShipFrom/DateTime/D                                          OMS (Settings/Site Options) and Time In Transit
ate                                                               information must be available
OrderCreate/ShipTos/Ship    No         1         Percent Node     Sales Tax Rate charged (if defined)
To/SalesTaxRate                                                   • Invalid if ShipTo/SalesTaxAmount is used
                                                                  • Ignored if Mode="Add"
OrderCreate/ShipTos/Ship    No         1         Currency         Sales Tax Amount charged (if defined)
To/SalesTaxAmount                                Node             • Invalid if ShipTo/SalesTaxRate is used
                                                                  • Ignored if Mode="Add"
OrderCreate/ShipTos/Ship    Yes        1         Container        Indicates the product(s) that will be included in
To/Products                                                       the order
                                                                  • Products must already exist; see ProductUpdate
                                                                  to add new products
OrderCreate/ShipTos/Ship    Yes        1+        Container        Products can be matched using the ProductNo,
To/Products/Product                                               the ProductName, or the ProductSKU. SKU-
                                                                  level items for a particular Product can be
                                                                  matched using one of the nodes listed above,
                                                                  along with a SKUItem node. The SKU node can
                                                                  be used to match any unique SKU number
                                                                  declared at the Product level or at the SKU level
OrderCreate/ShipTos/Ship    No         1         Integer Node     Product Number (for matching purposes)
To/Products/Product/Produ
ctNo
OrderCreate/ShipTos/Ship    No         1         Text Node        Product Name (for matching purposes)
To/Products/Product/Produ                        (100 chars
ctName                                           max)
OrderCreate/ShipTos/Ship    No         1         Text Node (50    Product SKU number (for matching purposes)
To/Products/Product/Produ                        chars max)
ctSKU
OrderCreate/ShipTos/Ship    No         1         Text Node (50    Product-level or SKU-level SKU number (for
To/Products/Product/SKU                          chars max)       matching purposes)
                                                                  • Note that this node is used instead of the
                                                                  ProductNo, ProductName, ProductSKU, and
                                                                  SKUItem node(s) to identify a Product or a SKU-
                                                                  level item for a Product
OrderCreate/ShipTos/Ship    No         1         Container
To/Products/Product/SKUI
tem
OrderCreate/ShipTos/Ship    No         1         Text Attribute   SKU-level SKU number (for matching purposes)
To/Products/Product/SKUI                         (50 chars max)
tem @SKU
OrderCreate/ShipTos/Ship    No         1         Container
To/Products/Product/SKUI
tem/Attributes
OrderCreate/ShipTos/Ship    Yes*       1+        Text Node (50    SKU Attribute Value
To/Products/Product/SKUI                         chars max)
tem/Attributes/Attribute


                                            53
Element Xpath                 Required   Occurs    Type             Description
OrderCreate/ShipTos/Ship      Yes*       1         Text Attribute   SKU Attribute Name
To/Products/Product/SKUI                           (50 chars max)
tem/Attributes/Attribute
@Name
OrderCreate/ShipTos/Ship      No         1         Container        Include if the product has write-in attributes
To/Products/Product/Write
Ins
OrderCreate/ShipTos/Ship      Yes*       1+        Text Node (50    Write-In attribute value
To/Products/Product/Write                          chars max)
Ins/WriteIn
OrderCreate/ShipTos/Ship      Yes*       1         Text Attribute   Write-In attribute name
To/Products/Product/Write                          (50 chars max)
Ins/WriteIn @Name
OrderCreate/ShipTos/Ship      Yes        1         Integer Node     Product Quantity
To/Products/Product/Qty                                             • If Mode="Import" the Product Quantity will not
                                                                    be deducted from product inventory in the OMS
OrderCreate/ShipTos/Ship      No         1         Currency         Include to override the default product Unit Price
To/Products/Product/UnitP                          Node             • Product-level discounts defined in the OMS are
rice                                                                ignored if this node is included
                                                                    • Required if the Product Pricing Model is "BID"
OrderCreate/ShipTos/Ship      No         1         Text Node (11    Line Item Status (Unshipped, In Process,
To/Products/Product/LineIt                         chars max)       Shipped, Backordered, or Preordered)
emStatus                                                            • Ignored if Mode="Add"
                                                                    • Required if Mode="Import"
OrderCreate/ShipTos/Ship      No         1         Container        • Ignored if Mode="Add"
To/Products/Product/ShipD                                           • Required if Mode="Import" and the Line Item
ate                                                                 Status is "Shipped"
OrderCreate/ShipTos/Ship      Yes*       1         Container
To/Products/Product/ShipD
ate/DateTime
OrderCreate/ShipTos/Ship      Yes*       1         Date Node        Ship/Send Date
To/Products/Product/ShipD                          (mm/dd/yyyy)
ate/DateTime/Date
OrderCreate/ShipTos/Ship      No         1         Text Node (50    Tracking Number (if provided)
To/Products/Product/Track                          chars max)       • Ignored if Mode="Add"
ingNumber                                                           • Include if Mode="Import" and the Line Item
                                                                    Status is "Shipped"
OrderCreate/GiftCertificate   No         1         Container        Indicates the gift certificate purchase(s) that will
s                                                                   be included in the order
                                                                    • The GiftCertificates container and all child
                                                                    nodes are ignored if Mode="Import"
                                                                    • The GiftCertificates container cannot be
                                                                    included in the same query as the Products
                                                                    container
OrderCreate/GiftCertificate   Yes*       1+        Container
s/GiftCert
OrderCreate/GiftCertificate   Yes*       1         Container
s/GiftCert/GiftCertRecipie
nt
OrderCreate/GiftCertificate   Yes*       1         Container
s/GiftCert/GiftCertRecipie
nt/Name
OrderCreate/GiftCertificate   Yes*       1         Text Node (50    Recipient First Name
s/GiftCert/GiftCertRecipie                         chars max)
nt/Name/FirstName


                                              54
Element Xpath                 Required   Occurs        Type             Description
OrderCreate/GiftCertificate   Yes*       1             Text Node (50    Recipient Last Name
s/GiftCert/GiftCertRecipie                             chars max)
nt/Name/LastName
OrderCreate/GiftCertificate   Yes*       1             Text Node (50    Recipient E-Mail Address
s/GiftCert/GiftCertRecipie                             chars max)
nt/Email
OrderCreate/GiftCertificate   Yes*       1             Currency         Gift Certificate Amount
s/GiftCert/GiftCertAmount                              Node
OrderCreate/GiftCertificate   No         1             Text Node        Gift Certificate Message (if provided)
s/GiftCert/GiftCertMessage
OrderCreate/CustomerCom       No         1             Text Node        Customer Comments
ments
OrderCreate/CompanyCom        No         1             Text Node        Company Comments
ments
OrderCreate/DisplayComp       No         1             Empty Node       Include to display Company Comments to the
anyComments                                                             Customer
OrderCreate/Affiliate         No         1             Text Node (50    Affiliate Name
                                                       chars max)       • Affiliates must already exist in the OMS; new
                                                                        affiliates cannot be created with this query.
                                                                        • If Mode="Add" and this node is not included the
                                                                        Affiliate associated with the Customer in the
                                                                        OMS will be credited
                                                                        • If Mode="Import" the Affiliate node must be
                                                                        included to credit the Affiliate associated with the
                                                                        Customer
OrderCreate/Affiliate         No         1             Text Attribute   Affiliate Category
@Category                                              (50 chars max)
OrderCreate/BillingStatus     No         1             Text Node (16    Billing Status (Unbilled, Authorized, Billed,
                                                       chars max)       Billed-Partial, Paid, Paid-Partial)
                                                                        • Ignored if Mode="Add"
                                                                        • Required if Mode="Import"
OrderCreate/OrderDate         No         1             Container        Order Date
                                                                        • Ignored if Mode="Add"
                                                                        • Required if Mode="Import"
OrderCreate/OrderDate/Da      Yes*       1             Container
teTime
OrderCreate/OrderDate/Da      Yes*       1             Date Node        Order Date
teTime/Date                                            (mm/dd/yyyy)
OrderCreate/OrderDate/Da      Yes*       1             Time Node        Order Time (default value: 00:00)
teTime/Time                                            (hh:mm)
ForceProceed                  No         1             Empty Node       Indicates that the OrderCreate Request should
                                                                        proceed even if one or more requested
                                                                        OrderCreate nodes is invalid
Strict                        No         1             Empty Node       Indicates the OrderCreate Request will be
                                                                        processed in strict accordance with all existing
                                                                        settings from the OMS

OrderCreateReply Schema
Element Xpath                 Always     Occurs        Type             Description
@AccountName                  Yes        1             Text Node (10    Client's Account Name (e.g. fairway)
                                                       char max)
Order                         Yes        1 - 15        Container




                                                  55
 Element Xpath              Always      Occurs     Type            Description
 Order @No                  Yes         1          Integer         Order Number assigned by the OMS
                                                   Attribute
 Order/OrderStatus          Yes         1          Text Node (20   Order Status
                                                   chars max)      • Product Orders: Unshipped, In Process,
                                                                   Shipped, Backordered, Preordered, Return-Ship
                                                                   Agent, Return-Customer, Shipped-Partial, or
                                                                   Other-See Line Items
                                                                   • Gift Certificate Orders: Unsent, Sent, Sent-
                                                                   Partial, or Other-See Line Items
 Order/BillingStatus        Yes         1          Text Node (14   Billing Status
                                                   chars max)      • Unbilled, Authorized, Billed, Billed-Partial, or
                                                                   Paid
 Order/Warning              No          1+         Text Node       Included if an Add or Import directive overrides
                                                                   an existing Customer or Product setting in the
                                                                   OMS

OrderCreateRequest Example: Mode="Add"
<?xml version="1.0" encoding="utf-8"?>
<OrderCreateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <OrderCreate Mode="Add">
  <Customer>
   <CustomerNo>789</CustomerNo>
  </Customer>
  <ShipTos>
   <ShipTo Label="yourself">
    <Products>
     <Product>
       <ProductName>Golfer's Survival Kit</ProductName>
       <Qty>1</Qty>
     </Product>
    </Products>
   </ShipTo>
  </ShipTos>
 </OrderCreate>
</OrderCreateRequest>

OrderCreateRequest Example: Mode="Add"
<?xml version="1.0" encoding="utf-8"?>
<OrderCreateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <OrderCreate Mode="Add">
  <Customer>
   <Email>ssmith@somewhere.com</Email>
   <CustomerPassword>
    <Password>digby</Password>
    <PasswordReminder>name of your pet</PasswordReminder>
   </CustomerPassword>


                                              56
 <CustomerType>Consumer</CustomerType>
 <CustomField6 Type="Date">01/02/1980</CustomField6>
</Customer>
<BillTo>
 <Address Type="Residential">
  <Name>
   <FirstName>Susan</FirstName>
   <LastName>Smith</LastName>
  </Name>
  <StreetAddress1>123 Main St.</StreetAddress1>
  <City>San Diego</City>
  <StateProvCode>CA</StateProvCode>
  <ZipPostalCode>92107</ZipPostalCode>
  <CountryCode>US</CountryCode>
  <PhoneNumber>123-123-1234</PhoneNumber>
 </Address>
</BillTo>
<Payment>
 <PaymentMethod>CreditCard</PaymentMethod>
 <CreditCard>
  <CreditCardType>Discover</CreditCardType>
  <CreditCardNumber>6011111111111117</CreditCardNumber>
  <CreditCardExpDate>06/2006</CreditCardExpDate>
 </CreditCard>
</Payment>
<ShipTos>
 <ShipTo>
  <Address Type="Residential">
   <Name>
     <FirstName>Susan</FirstName>
     <LastName>Smith</LastName>
   </Name>
   <StreetAddress1>123 Main St.</StreetAddress1>
   <City>San Diego</City>
   <StateProvCode>CA</StateProvCode>
   <ZipPostalCode>92107</ZipPostalCode>
   <CountryCode>US</CountryCode>
   <PhoneNumber>123-123-1234</PhoneNumber>
  </Address>
  <Shipping>
   <Shipments>
     <ShipFrom>
      <ShipMethod Name="FirstFairway">Fedex 2Day</ShipMethod>
      <PreferredDeliveryDate>
       <DateTime>
        <Date>10/04/2010</Date>
       </DateTime>
      </PreferredDeliveryDate>
     </ShipFrom>
     <DefaultShipFrom>
      <ShipMethod>FedEx Home Delivery</ShipMethod>
      <PreferredDeliveryDate>
       <DateTime>
        <Date>10/04/2010</Date>
       </DateTime>
      </PreferredDeliveryDate>


                                          57
   </DefaultShipFrom>
  </Shipments>
 </Shipping>
 <Products>
  <Product>
   <ProductName>Adidas ClimaCool Motion Polo</ProductName>
   <SKUItem>
    <Attributes>
      <Attribute Name="Color">Black</Attribute>
      <Attribute Name="Size">Large</Attribute>
    </Attributes>
   <SKUItem>
   <Qty>1</Qty>
  </Product>
  <Product>
   <ProductName>Caddyshack DVD</ProductName>
   <Qty>1</Qty>
  </Product>
 </Products>
</ShipTo>
<ShipTo>
 <Address Type="Residential">
  <Name>
   <FirstName>Jane</FirstName>
   <LastName>Smith</LastName>
  </Name>
  <StreetAddress1>123 Main St.</StreetAddress1>
  <City>Delta</City>
  <StateProvCode>CO</StateProvCode>
  <ZipPostalCode>81416</ZipPostalCode>
  <CountryCode>US</CountryCode>
  <PhoneNumber>123-123-1234</PhoneNumber>
 </Address>
 <Shipping>
  <Shipments>
   <DefaultShipFrom>
    <ShipMethod>FedEx Home Delivery</ShipMethod>
    <PreferredDeliveryDate>
      <DateTime>
       <Date>10/06/2010</Date>
      </DateTime>
    </PreferredDeliveryDate>
   </DefaultShipFrom>
  </Shipments>
 </Shipping>
 <Products>
  <Product>
   <ProductName>Adidas ClimaCool Motion Polo</ProductName>
   <SKUItem>
    <Attributes>
      <Attribute Name="Color">Red</Attribute>
      <Attribute Name="Size">Small</Attribute>
    </Attributes>
   <SKUItem>
   <Qty>1</Qty>
  </Product>


                                        58
    </Products>
   </ShipTo>
  </ShipTos>
 </OrderCreate>
 <Strict />
</OrderCreateRequest>

OrderCreateRequest Example: Mode="Import"
<?xml version="1.0" encoding="utf-8"?>
<OrderCreateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <OrderCreate Mode="Import">
  <Customer>
   <Email>ssmith@somewhere.com</Email>
   <CustomerPassword>
    <Password>digby</Password>
    <PasswordReminder>name of your pet</PasswordReminder>
   </CustomerPassword>
   <CustomerType>Consumer</CustomerType>
   <CustomField6 Type="Date">01/02/1980</CustomField6>
  </Customer>
  <BillTo>
   <Address Type="Residential">
    <Name>
     <FirstName>Susan</FirstName>
     <LastName>Smith</LastName>
    </Name>
    <StreetAddress1>123 Main St.</StreetAddress1>
    <City>San Diego</City>
    <StateProvCode>CA</StateProvCode>
    <ZipPostalCode>92107</ZipPostalCode>
    <CountryCode>US</CountryCode>
    <PhoneNumber>123-123-1234</PhoneNumber>
   </Address>
  </BillTo>
  <Payment>
   <PaymentMethod>CreditCard</PaymentMethod>
   <CreditCard>
    <CreditCardType>Discover</CreditCardType>
    <CreditCardNumber>6011111111111117</CreditCardNumber>
    <CreditCardExpDate>06/2006</CreditCardExpDate>
   </CreditCard>
  </Payment>
  <ShipCompliant>
   <CommitOption>Compliant Only</CommitOption>
   <OverrideOption>Always Allow</OverrideOption>
   <AddressIgnore/>
  </ShipCompliant>
  <ShipTos>
   <ShipTo>
    <Address Type="Residential">
     <Name>
       <FirstName>Susan</FirstName>


                                          59
       <LastName>Smith</LastName>
     </Name>
     <StreetAddress1>123 Main St.</StreetAddress1>
     <City>San Diego</City>
     <StateProvCode>CA</StateProvCode>
     <ZipPostalCode>92107</ZipPostalCode>
     <CountryCode>US</CountryCode>
     <PhoneNumber>123-123-1234</PhoneNumber>
    </Address>
    <Shipping>
     <Shipments>
       <DefaultShipFrom>
        <ShipMethod>FedEx Home Delivery</ShipMethod>
       </DefaultShipFrom>
     </Shipments>
    </Shipping>
    <Products>
     <Product>
       <ProductName>How I Play Golf</ProductName>
       <Qty>1</Qty>
       <LineItemStatus>Shipped</LineItemStatus>
       <ShipDate>
        <DateTime>
         <Date>01/03/2006</Date>
        </DateTime>
       </ShipDate>
     </Product>
    </Products>
   </ShipTo>
  </ShipTos>
  <BillingStatus>Paid</BillingStatus>
  <OrderDate>
   <DateTime>
    <Date>01/02/2006</Date>
   </DateTime>
  </OrderDate>
 </OrderCreate>
</OrderCreateRequest>

OrderCreateReply Example
<?xml version="1.0" encoding="utf-8"?>
<OrderCreateReply AccountName="fairway">
 <Order No="104476">
  <OrderStatus>Unshipped</OrderStatus>
  <BillingStatus>Paid</BillingStatus>
  <Warning>Allowing invalid CreditCardType of 'Discover' to be imported</Warning>
 </Order>
</OrderCreateReply>




                                               60
                                   8: CustomerQuery

The CustomerQuery is used to query customer data, thus "exporting" customers from the
Order Management System so that they may be "imported" into an external system.

You may submit a query based on Customer Address, Customer Email address, Customer
Number Range, Customer Created Range, Customer Last Updated Range, Order Number
Range, Order Date Range, or Ship/Send Date Range (but not more than one; the order-
based queries refer to the customers who placed the orders). For ranges you may specify
a Range Start, Range End, or both. Specifying only a Range Start has the meaning of
"greater than or equal to", while only a Range End has the meaning of "less than or equal
to". For example, a query based on only a Customer Number Range Start of 100 queries
Customer Numbers 100 and greater.

In the case of a Customer Created Range, Customer Last Updated Range, or Order Date
Range, you may specify a Start and/or End Date, and optionally a Time. If you do not
specify a Time, a default value of 00:00 (i.e. 12:00 AM) is used. If you wish to specify
the end of the day (particularly for a Range End), you must use a Time value of 23:59.

In the case of a Ship/Send Date Range, only customers who have placed orders in the
queried range with an Order Status of Shipped (for product orders) or Sent (for gift
certificate orders) are returned. Other customers are necessarily excluded from the query.

The CustomerQuery gives you the option, via the IncludePasswords node in the
CustomerQueryRequest, of including Customer Passwords in the query. This can be
useful if you need to integrate login information with an external system. If you choose
to include Customer Passwords, you are responsible for taking the precautions that
customers expect with such sensitive information.

A single CustomerQueryRequest returns no more than 15 Customer nodes in the
corresponding CustomerQueryReply, even if the requested query includes more than 15
resulting customers. The presence of a NextPage node in the CustomerQueryReply
indicates that a subsequent "page" of results exists. You may then use the Page node in
the CustomerQueryRequest to iteratively request all orders in the query. Customers are
always returned in the CustomerQueryReply in ascending order of Customer Name (Last
Name, then First Name).

Note: If the Page node in the CustomerQueryRequest contains a page number greater
than the maximum page number in the query results, the maximum page number is
returned.

CurrentStatus Node

The CurrentStatus node in the CustomerQueryRequest gives you the option of obtaining
a simple status snapshot on a large number of customers. To do so, specify a query range
(Customer Number Range, Customer Created Range, Customer Last Updated Range,


                                           61
Order Number Range, Order Date Range, or Ship/Send Date Range) along with the
CurrentStatus node. The CustomerQueryReply will return a single node per customer,
containing the Customer Number, Customer Last Name, Customer First Name, Customer
Email address, Customer Type, and Customer Status. The maximum
CustomerQueryReply page size with the CurrentStatus node is 2000.

CustomerQueryRequest URL:
https://www.nexternal.com/shared/xml/customerquery.rest

CustomerQueryRequest Schema
Element Xpath               Required   Occurs    Type            Description
Credentials                 Yes        1         Container
Credentials/AccountName     Yes        1         Text Node (10   Client's Account Name (e.g. fairway)
                                                 chars max)
Credentials/Key             Yes        1         Text Node (20   Client's XML Key
                                                 chars)
CustomerNoRange             No         1         Container       For query by Customer Number Range
CustomerNoRange/Custom      No         1         Integer Node    Customer Number Range Start
erNoStart
CustomerNoRange/Custom      No         1         Integer Node    Customer Number Range End
erNoEnd
CustomerCreatedRange        No         1         Container       For query by Customer Created Range
CustomerCreatedRange/Cu     No         1         Container
stomerCreatedStart
CustomerCreatedRange/Cu     Yes*       1         Container
stomerCreatedStart/DateTi
me
CustomerCreatedRange/Cu     Yes*       1         Date Node       Created Date Range Start
stomerCreatedStart/DateTi                        (mm/dd/yyyy)
me/Date
CustomerCreatedRange/Cu     No         1         Time Node       Created Date Range Start Time (default value:
stomerCreatedStart/DateTi                        (hh:mm)         00:00)
me/Time
CustomerCreatedRange/Cu     No         1         Container
stomerCreatedEnd
CustomerCreatedRange/Cu     Yes*       1         Container
stomerCreatedEnd/DateTi
me
CustomerCreatedRange/Cu     Yes*       1         Date Node       Created Date Range End
stomerCreatedEnd/DateTi                          (mm/dd/yyyy)
me/Date
CustomerCreatedRange/Cu     No         1         Time Node       Created Date Range End Time (default value:
stomerCreatedEnd/DateTi                          (hh:mm)         00:00)
me/Time
CustomerUpdRange            No         1         Container       For query by Customer Last Updated Range
CustomerUpdRange/Custo      No         1         Container
merUpdStart
CustomerUpdRange/Custo      Yes*       1         Container
merUpdStart/DateTime
CustomerUpdRange/Custo      Yes*       1         Date Node       Last Updated Date Range Start
merUpdStart/DateTime/Da                          (mm/dd/yyyy)
te


                                            62
Element Xpath              Required   Occurs    Type           Description
CustomerUpdRange/Custo     No         1         Time Node      Last Updated Date Range Start Time (default
merUpdStart/DateTime/Ti                         (hh:mm)        value: 00:00)
me
CustomerUpdRange/Custo     No         1         Container
merUpdEnd
CustomerUpdRange/Custo     Yes*       1         Container
merUpdEnd/DateTime
CustomerUpdRange/Custo     Yes*       1         Date Node      Last Updated Date Range End
merUpdEnd/DateTime/Dat                          (mm/dd/yyyy)
e
CustomerUpdRange/Custo     No         1         Time Node      Last Updated Date Range End Time (default
merUpdEnd/DateTime/Tim                          (hh:mm)        value: 00:00)
e
OrderNoRange               No         1         Container      For query by Order Number Range
OrderNoRange/OrderNoSt     No         1         Integer Node   Order Number Range Start
art
OrderNoRange/OrderNoEn     No         1         Integer Node   Order Number Range End
d
OrderDateRange             No         1         Container      For query by Order Date Range
OrderDateRange/OrderDat    No         1         Container
eStart
OrderDateRange/OrderDat    Yes*       1         Container
eStart/DateTime
OrderDateRange/OrderDat    Yes*       1         Date Node      Order Date Range Start
eStart/DateTime/Date                            (mm/dd/yyyy)
OrderDateRange/OrderDat    No         1         Time Node      Order Date Range Start Time (default value:
eStart/DateTime/Time                            (hh:mm)        00:00)
OrderDateRange/OrderDat    No         1         Container
eEnd
OrderDateRange/OrderDat    Yes*       1         Container
eEnd/DateTime
OrderDateRange/OrderDat    Yes*       1         Date Node      Order Date Range End
eEnd/DateTime/Date                              (mm/dd/yyyy)
OrderDateRange/OrderDat    No         1         Time Node      Order Date Range End Time (default value:
eEnd/DateTime/Time                              (hh:mm)        00:00)
ShipDateRange              No         1         Container      For query by Ship/Send Date Range
ShipDateRange/ShipDateSt   No         1         Container
art
ShipDateRange/ShipDateSt   Yes*       1         Container
art/DateTime
ShipDateRange/ShipDateSt   Yes*       1         Date Node      Ship/Send Date Range Start
art/DateTime/Date                               (mm/dd/yyyy)
ShipDateRange/ShipDateE    No         1         Container
nd
ShipDateRange/ShipDateE    Yes*       1         Container
nd/DateTime
ShipDateRange/ShipDateE    Yes*       1         Date Node      Ship/Send Date Range End
nd/DateTime/Date                                (mm/dd/yyyy)
CustomerAddress            No         1         Container      Used to query for a partial or complete Customer
                                                               Contact Address
CustomerAddress/Name       No         1         Container




                                           63
Element Xpath              Required   Occurs        Type             Description
CustomerAddress/Name/Fi    No         1             Text Node (50    Customer Contact First Name
rstName                                             chars max)
CustomerAddress/Name/L     No         1             Text Node (50    Customer Contact Last Name
astName                                             chars max)
CustomerAddress/Compan     No         1             Text Node        Customer Contact Company Name
yName                                               (100 chars       • Usage of the Company Name field is set at
                                                    max)             Customers/Types in the OMS
CustomerAddress/City       No         1             Text Node (50    Customer Contact City
                                                    chars max)
CustomerAddress/StatePro   No         1             Text Node (2     Customer Contact State/Province Code
vCode                                               chars)
CustomerAddress/ZipPosta   No         1             Text Node (20    Customer Contact Zip/Postal Code
lCode                                               chars max)
CustomerAddress/Country    No         1             Text Node (2     Customer Contact Country Code
Code                                                chars)
CustomerAddress/PhoneN     No         1             Text Node (50    Customer Contact Phone Number
umber                                               chars max)
CustomerEmail              No         1             Text Node        Used to query for a partial or complete Customer
                                                                     Contact Email address
IncludePasswords           No         1             Empty Node       Indicates that Customer Passwords should be
                                                                     included in the CustomerQueryReply
IncludeActivities          No         1             Empty Node       Indicates that Customer Activities should be
                                                                     included in the CustomerQueryReply
CurrentStatus              No         1             Empty Node       Used to return the Customer Status (Active or
                                                                     Inactive) of all Customers that fall within the
                                                                     specified range
                                                                     • Allowed only when this node is combined with
                                                                     CustomerNoRange, CustomerCreatedRange,
                                                                     CustomerUpdRange, OrderNoRange,
                                                                     OrderDateRange, or ShipDateRange
Page                       No         1             Integer Node     Requested page number of query results (default
                                                                     value: 1)

CustomerQueryReply Schema (without CurrentStatus node)
Element Xpath              Always     Occurs        Type             Description
@AccountName               Yes        1             Text Node (10    Client's Account Name (e.g. fairway)
                                                    chars max)
@Page                      Yes        1             Integer          Page number of query results
                                                    Attribute
Customer                   Yes        1 - 15        Container
Customer/CustomerNo        Yes        1             Integer Node     Customer Number
Customer/Email             Yes        1             Text Node (50    Customer E-Mail Address
                                                    chars max)
Customer/Address           Yes        1             Container        For Customer Contact Address
Customer/Address @Type     Yes        1             Text Attribute   Customer Contact Address Type (Residential or
                                                    (11 chars max)   Business)
Customer/Address @ID       No         1             Integer          Customer Address Book ID
                                                    Attribute
Customer/Address @Label    No         1             Text Attribute   Customer Contact Address Label
                                                    (25 chars max)
Customer/Address/Name      Yes        1             Container
Customer/Address/Name/F    Yes        1             Text Node (50    Customer First Name
irstName                                            chars max)




                                               64
Element Xpath               Always   Occurs    Type             Description
Customer/Address/Name/L     Yes      1         Text Node (50    Customer Last Name
astName                                        chars max)
Customer/Address/Compan     No       1         Text Node        Customer Contact Company Name
yName                                          (100 chars       • Usage of the Company Name field is set at
                                               max)             Customers/Types in the OMS
Customer/Address/Address    Yes      1         Text Node        Customer Contact Street Address (Line 1)
1                                              (100 chars
                                               max)
Customer/Address/Address    No       1         Text Node        Customer Contact Street Address (Line 2)
2                                              (100 chars
                                               max)
Customer/Address/City       Yes      1         Text Node (50    Customer Contact City
                                               chars max)
Customer/Address/StatePro   No       1         Text Node (2     Customer Contact State/Province Code
vCode                                          chars)
Customer/Address/ZipPost    Yes      1         Text Node (20    Customer Contact Zip/Postal Code
alCode                                         chars max)
Customer/Address/Country    Yes      1         Text Node (2     Customer Contact Country Code
Code                                           chars)
Customer/Address/PhoneN     Yes      1         Text Node (50    Customer Contact Phone Number
umber                                          chars max)
Customer/Address/PhoneE     No       1         Text Node (30    Customer Contact Phone Extension
xt                                             chars max)
Customer/Address/Primary    No       1         Empty Node       Indicates Primary Shipping Address
Ship
Customer/Address/Primary    No       1         Empty Node       Indicates Primary Billing Address
Bill
Customer/Address/Invalid    No       1         Empty Node       Indicates Customer Contact Address has been
Address                                                         flagged as invalid by UPS Address Validation
Customer/CustomField1       No       1         Text/Integer/N   Customer Custom Field #1 Value
                                               umeric/Curren    • Node Type depends on Field Type of Custom
                                               cy/Date/Empty    Field
                                               Node
Customer/CustomField1       Yes*     1         Text Attribute   Customer Custom Field #1 Name
@Name                                          (50 chars max)
Customer/CustomField1       Yes*     1         Text Attribute   Customer Custom Field #1 Type (Text, Positive
@Type                                          (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                Yes/No)
Customer/CustomField2       No       1         Text/Integer/N   Customer Custom Field #2 Value
                                               umeric/Curren    • Node Type depends on Field Type of Custom
                                               cy/Date/Empty    Field
                                               Node
Customer/CustomField2       Yes*     1         Text Attribute   Customer Custom Field #2 Name
@Name                                          (50 chars max)
Customer/CustomField2       Yes*     1         Text Attribute   Customer Custom Field #2 Type (Text, Positive
@Type                                          (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                Yes/No)
Customer/CustomField3       No       1         Text/Integer/N   Customer Custom Field #3 Value
                                               umeric/Curren    • Node Type depends on Field Type of Custom
                                               cy/Date/Empty    Field
                                               Node
Customer/CustomField3       Yes*     1         Text Attribute   Customer Custom Field #3 Name
@Name                                          (50 chars max)




                                          65
Element Xpath                 Always   Occurs    Type             Description
Customer/CustomField3         Yes*     1         Text Attribute   Customer Custom Field #3 Type (Text, Positive
@Type                                            (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
Customer/CustomField4         No       1         Text/Integer/N   Customer Custom Field #4 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field
                                                 Node
Customer/CustomField4         Yes*     1         Text Attribute   Customer Custom Field #4 Name
@Name                                            (50 chars max)
Customer/CustomField4         Yes*     1         Text Attribute   Customer Custom Field #4 Type (Text, Positive
@Type                                            (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
Customer/CustomField5         No       1         Text/Integer/N   Customer Custom Field #5 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field
                                                 Node
Customer/CustomField5         Yes*     1         Text Attribute   Customer Custom Field #5 Name
@Name                                            (50 chars max)
Customer/CustomField5         Yes*     1         Text Attribute   Customer Custom Field #5 Type (Text, Positive
@Type                                            (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
Customer/CustomField6         No       1         Text/Integer/N   Customer Custom Field #6 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field
                                                 Node
Customer/CustomField6         Yes*     1         Text Attribute   Customer Custom Field #6 Name
@Name                                            (50 chars max)
Customer/CustomField6         Yes*     1         Text Attribute   Customer Custom Field #6 Type (Text, Positive
@Type                                            (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
Customer/CustomerDiscou       Yes      1         Percent Node     Customer Discount Percent
nt
Customer/CustomerType         Yes      1         Text Node (20    Customer Type
                                                 chars max)
Customer/AgeVerification      No       1         Container        For Age Verification Results
Customer/AgeVerification/     Yes*     1         Text Node (6     Age Verification Flag (Green, Yellow, or Red)
VerificationFlag                                 chars max)
Customer/AgeVerify/Verifi     No       1         Text Node        Age Verification Notes
cationNotes
Customer/CustomerPasswo       No       1         Text Node (30    Customer Password
rd                                               chars max)       • Included only if the IncludePasswords node is
                                                                  present in the CustomerQueryRequest, and the
                                                                  customer has a Password
Customer/Affiliate            No       1         Container
Customer/Affiliate/Affiliat   No       1         Text Node        Affiliate Category
eCategory                                        (100 chars
                                                 max)
Customer/Affiliate/Affiliat   Yes*     1         Text Node        Affiliate Name
eName                                            (100 chars
                                                 max)
Customer/Active               No       1         Empty Node       Indicates Customer is Active
Customer/MailingList          No       1         Empty Node       Indicates Customer in on Mailing List
Customer/Owner                No       1         Container        For customers assigned an owner



                                            66
Element Xpath               Always   Occurs    Type             Description
Customer/Owner/Name         Yes*     1         Container
Customer/Owner/Name/Fir     Yes*     1         Text Node (50    Owner First Name
stName                                         chars max)
Customer/OwnerName/Las      Yes*     1         Text Node (50    Owner Last Name
tName                                          chars max)
Customer/FollowUpDate       No       1         Container        For customers assigned a follow-up date
Customer/ FollowUpDate      Yes*     1         Container
/DateTime
Customer/ FollowUpDate      Yes*     1         Date Node        Follow-up Date
/DateTime/Date                                 (mm/dd/yyyy)
Customer/Comments           No       1         Text Node        Notes/Comments
Customer/AdditionalAddre    No       1         Container        For Additional Addresses
sses
Customer/AdditionalAddre    Yes*     1+        Container
sses/Address
Customer/AdditionalAddre    Yes*     1         Text Attribute   Additional Address Type (Residential or
sses/Address @Type                             (11 chars max)   Business)
Customer/AdditionalAddre    No       1         Integer          Additional Address ID
sses/Address @ID                               Attribute
Customer/AdditionalAddre    No       1         Text Attribute   Additional Address Label
sses/Address @Label                            (25 chars max)
Customer/AdditionalAddre    Yes*     1         Container
sses/Address/Name
Customer/AdditionalAddre    Yes*     1         Text Node (50    Additional Address First Name
sses/Address/Name/FirstNa                      chars max)
me
Customer/AdditionalAddre    Yes*     1         Text Node (50    Additional Address Last Name
sses/Address/Name/LastNa                       chars max)
me
Customer/AdditionalAddre    No       1         Text Node        Additional Address Company Name
ss/Address/CompanyName                         (100 chars       • Usage of the Company Name field is set at
                                               max)             Customers/Types in the OMS
Customer/AdditionalAddre    Yes*     1         Text Node        Additional Address Street Address (Line 1)
sses/Address/Address1                          (100 chars
                                               max)
Customer/AdditionalAddre    No       1         Text Node        Additional Address Street Address (Line 2)
sses/Address/Address2                          (100 chars
                                               max)
Customer/AdditionalAddre    Yes*     1         Text Node (50    Additional Address City
sses/Address/City                              chars max)
Customer/AdditionalAddre    No       1         Text Node (2     Additional Address State/Province Code
sses/Address/StateProvCod                      chars)
e
Customer/AdditionalAddre    Yes*     1         Text Node (20    Additional Address Zip/Postal Code
sses/Address/ZipPostalCod                      chars max)
e
Customer/AdditionalAddre    Yes*     1         Text Node (2     Additional Address Country Code
sses/Address/CountryCode                       chars)
Customer/AdditionalAddre    Yes*     1         Text Node (50    Additional Address Phone Number
sses/Address/PhoneNumbe                        chars max)
r
Customer/AdditionalAddre    No       1         Text Node (30    Additional Address Phone Extension
sses/Address/PhoneExt                          chars max)




                                          67
Element Xpath                 Always   Occurs    Type            Description
Customer/AdditionalAddre      No       1         Empty Node      Indicates Primary Shipping Address
sses/Address/PrimaryShip
Customer/AdditionalAddre      No       1         Empty Node      Indicates Primary Billing Address
sses/Address/PrimaryBill
Customer/AdditionalAddre      No       1         Empty Node      Indicates Additional Address has been flagged as
sses/Address/InvalidAddre                                        invalid by UPS Address Validation
ss
Customer/SavedCreditCard      No       1         Container       For Saved Credit Cards
s
Customer/SavedCreditCard      Yes*     1+        Container
s/CreditCard
Customer/SavedCreditCard      Yes*     1         Text Node (16   Credit Card Type (Visa, MasterCard, American
s/CreditCard/CreditCardTy                        chars max)      Express, Diners Club, Discover, enRoute, or JCB)
pe
Customer/SavedCreditCard      Yes*     1         Text Node (16   Credit Card Number
s/CreditCard/CreditCardNu                        chars max)      •Entire number included only if the Full CC
mber                                                             Access option (Settings/Site Options in the OMS)
                                                                 is on
Customer/SavedCreditCard      Yes*     1         Date Node       Credit Card Expiration Date
s/CreditCard/CreditCardEx                        (mm/yyyy)
pDate
Customer/SavedCreditCard      No       1         Empty Node      Indicates Preferred Credit Card
s/CreditCard/PreferredCred
itCard
Customer/Activities           No       1         Container       Included only if the IncludeActivities node is
                                                                 present in the CustomerQueryRequest and the
                                                                 customer has Activities
Customer/Activities/Activit   No       1+        Container
y
Customer/Activities/Activit   No       1         Container
y/Timestamp
Customer/Activities/Activit   Yes*     1         Container
y/Timestamp/DateTime
Customer/Activities/Activit   Yes*     1         Date Node       Activity Date (default value: todays date)
y/Timestamp/DateTime/Da                          (mm/dd/yyyy)
te
Customer/Activities/Activit   No       1         Time Node       Activity Time (default value: 00:00)
y/Timestamp/DateTime/Ti                          (hh:mm)
me
Customer/Activities/Activit   No       1         Container       The Name of the User associated with this
y/User                                                           Activity (see Users in the OMS)
Customer/Activities/Activit   Yes*     1         Container
y/User/Name
Customer/Activities/Activit   Yes*     1         Text Node (50   User First Name
y/User/Name/FirstName                            chars max)
Customer/Activities/Activit   Yes*     1         Text Node (50   User Last Name
y/User/Name/LastName                             chars max)
Customer/Activities/Activit   Yes*     1         Text Node       Activity Types and their list order are defined in
y/Type                                                           Customers/Types in the OMS
Customer/Activities/Activit   Yes*     1         Text Node       Activity Description
y/Description
Customer/Created              Yes      1         Container
Customer/Created/DateTim      Yes      1         Container
e



                                            68
Element Xpath              Always     Occurs    Type            Description
Customer/Created/DateTim   Yes        1         Date Node       Customer Created Date
e/Date                                          (mm/dd/yyyy)
Customer/Created/DateTim   Yes        1         Time Node       Customer Created Time
e/Time                                          (hh:mm)
Customer/CreatedBy         No         1         Container       For customers created by OMS User
Customer/CreatedBy/Name    Yes*       1         Container
Customer/CreatedBy/Name    Yes*       1         Text Node (50   Created By First Name
/FirstName                                      chars max)
Customer/CreatedBy/Name    Yes*       1         Text Node (50   Created By Last Name
/LastName                                       chars max)
Customer/LastUpd           Yes        1         Container
Customer/LastUpd/DateTi    Yes        1         Container
me
Customer/LastUpd/DateTi    Yes        1         Date Node       Last Updated Date
me/Date                                         (mm/dd/yyyy)
Customer/LastUpd/DateTi    Yes        1         Time Node       Last Updated Time
me/Time                                         (hh:mm)
Customer/LastUpdBy         No         1         Container       For customers last updated by OMS User
Customer/LastUpdBy/Nam     No         1         Container
e
Customer/LastUpdBy/Nam     Yes*       1         Text Node (50   Last Updated By First Name
e/FirstName                                     chars max)
Customer/LastUpdBy/Nam     Yes*       1         Text Node (50   Last Updated By Last Name
e/LastName                                      chars max)
NextPage                   No         1         Empty Node      Indicates the existence of a subsequent page of
                                                                customers

CustomerQueryRequest Example (without CurrentStatus node)
<?xml version="1.0" encoding="UTF-8" ?>
<CustomerQueryRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <CustomerNoRange>
  <CustomerNoStart>1</CustomerNoStart>
  <CustomerNoEnd>1</CustomerNoEnd>
 </CustomerNoRange>
 <Page>1</Page>
</CustomerQueryRequest>

CustomerQueryReply Example (without CurrentStatus node)
<?xml version="1.0" encoding="UTF-8" ?>
<CustomerQueryReply AccountName="fairway" Page="1">
 <Customer>
  <CustomerNo>1</CustomerNo>
  <Email>ookoshi@bellsouth.net</Email>
  <Address Type="Residential" Label="Home">
   <Name>
    <FirstName>Roy</FirstName>
    <LastName>McKutchen</LastName>
   </Name>
   <StreetAddress1>567 Shaker Lane</StreetAddress1>



                                           69
   <City>New Canaan</City>
   <StateProvCode>CT</StateProvCode>
   <ZipPostalCode>06840</ZipPostalCode>
   <CountryCode>US</CountryCode>
   <PhoneNumber>517-453-2432</PhoneNumber>
   <PrimaryShip/>
   <PrimaryBill/>
  </Address>
  <CustomField1 Name="Date of Birth" Type="Date">07/27/1975</CustomField1>
  <CustomerDiscount>5</CustomerDiscount>
  <CustomerType>Consumer</CustomerType>
  <Active/>
  <MailingList/>
  <AdditionalAddresses>
   <Address Type="Business" Label="Work">
    <Name>
     <FirstName>Roy</FirstName>
     <LastName>McKutchen</LastName>
    </Name>
    <StreetAddress1>Nexternal Solutions</StreetAddress1>
    <StreetAddress2>199 Elm St</StreetAddress2>
    <City>New Canaan</City>
    <StateProvCode>CT</StateProvCode>
    <ZipPostalCode>06840</ZipPostalCode>
    <CountryCode>US</CountryCode>
    <PhoneNumber>203-972-5726</PhoneNumber>
    <PhoneExt>204</PhoneExt>
   </Address>
  </AdditionalAddresses>
  <SavedCreditCards>
   <CreditCard>
    <CreditCardType>Visa</CreditCardType>
    <CreditCardNumber>xxxxxxxxxxxx1111</CreditCardNumber>
    <CreditCardExpDate>04/2008</CreditCardExpDate>
   </CreditCard>
  </SavedCreditCards>
  <Created>
   <DateTime>
    <Date>09/22/2000</Date>
    <Time>12:15</Time>
   </DateTime>
  </Created>
  <LastUpd>
   <DateTime>
    <Date>07/18/2005</Date>
    <Time>15:44</Time>
   </DateTime>
  </LastUpd>
  <LastUpdBy>
   <Name>
    <FirstName>Demonstration</FirstName>
    <LastName>User</LastName>
   </Name>
  </LastUpdBy>
 </Customer>
</CustomerQueryReply>


                                             70
CustomerQueryReply Schema (with CurrentStatus node)
Element Xpath             Always     Occurs      Type             Description
@AccountName              Yes        1           Text Node (10    Client's Account Name (e.g. fairway)
                                                 chars max)
@Page                     Yes        1           Integer          Page number of query results
                                                 Attribute
CurrentStatus             No         1           Container        Current Status of Customers that fall within the
                                                                  specified query range
                                                                  • Included only if a query range is specified and
                                                                  the CurrentStatus node is present in the
                                                                  CustomerQueryRequest
CurrentStatus/Customer    Yes        1-          Text Node        Customer Status (Active, Inactive, or Not Found)
                                     2000
CurrentStatus/Customer    Yes        1           Integer          Customer Number
@No                                              Attribute
CurrentStatus/Customer    Yes        1           Text Attribute   Customer Last Name
@LastName
CurrentStatus/Customer    Yes        1           Text Attribute   Customer First Name
@FirstName
CurrentStatus/Customer    Yes        1           Text Attribute   Customer Email Address
@Email
CurrentStatus/Customer    Yes        1           Text Attribute   Customer Type (as defined in the OMS)
@CustomerType
NextPage                  No         1           Empty Node       Indicates the existence of a subsequent page of
                                                                  customers

CustomerQueryRequest Example (with CurrentStatus node)
<?xml version="1.0" encoding="UTF-8"?>
<CustomerQueryRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <CustomerCreatedRange>
  <CustomerCreatedStart>
   <DateTime>
    <Date>12/01/2000</Date>
   </DateTime>
  </CustomerCreatedStart>
  <CustomerCreatedEnd>
   <DateTime>
    <Date>12/15/2000</Date>
   </DateTime>
  </CustomerCreatedEnd>
 </CustomerCreatedRange>
 <CurrentStatus />
</CustomerQueryRequest>

CustomerQueryReply Example (with CurrentStatus node)
<?xml version="1.0" encoding="utf-8"?>
<CustomerQueryReply AccountName="fairway" Page="1">
 <CurrentStatus>



                                            71
  <Customer No="89" LastName="Altman" FirstName="Dennis" Email="dennis@wedmart.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="91" LastName="Altman" FirstName="Wendy" Email="wendy@wedmart.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="92" LastName="Heverly" FirstName="Matt" Email="matt@redwings.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="88" LastName="Kemmer" FirstName="Adam" Email="ambika@escalate.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="83" LastName="Lawrence" FirstName="Daryl"
Email="daryllawrence@chickssportinggoods.com" CustomerType="Consumer">Active</Customer>
  <Customer No="78" LastName="McAlister" FirstName="Craig" Email="CMc@aol.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="80" LastName="Mcleran" FirstName="John" Email="john@hotmail.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="86" LastName="Parasnis" FirstName="Rita" Email="rita.parasnis@escalate.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="79" LastName="Rapoza" FirstName="Jim" Email="jim_rapoza@ziffdavis.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="82" LastName="Roberts" FirstName="Julia" Email="julia@julia.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="93" LastName="Sarido" FirstName="Alex" Email="sarido@aol.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="84" LastName="Schawel" FirstName="Kenneth" Email="eric@rossinator.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="85" LastName="Schawel" FirstName="Kenneth" Email="schawel@hotmail.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="87" LastName="Smith" FirstName="Brad" Email="bradley_d_smith@hotmail.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="90" LastName="Smith" FirstName="Nikki" Email="nikki@wedmart.com"
CustomerType="Consumer">Active</Customer>
  <Customer No="81" LastName="Yates" FirstName="Chris" Email="chris_yates@zdnet.com"
CustomerType="Consumer">Active</Customer>
 </CurrentStatus>
</CustomerQueryReply>




                                             72
                                  9: CustomerUpdate

The CustomerUpdate is used to add or update customer information in the OMS. This
allows you to "import" existing customer data, including saved credit cards, mailing and
shipping addresses, and other relevant customer information from an external system.

When updating existing customer information, customers may be identified by their Full
Name, E-Mail Address, or Customer Number in the CustomerUpdateRequest. You can
add or update Customer Contact information via the Address container, Additional
Addresses via the AdditionalAddresses container, and Credit Cards through the
SavedCreditCards container. You may also add Customer Activities via the Activities
container. For existing customers you can selectively clear (erase) Password, Saved
Credit Cards, Additional Addresses, Follow Up Date, Affiliate, Company Comments,
Active, Mailing List, and AgeVerification via the Erase container.

If UPS Address Validation is enabled (Settings/Compatible Software/Online Shipping
Tools in the OMS), all US addresses are checked for validity. If the Allow Invalid
Addresses option (Settings/Compatible Software/Online Shipping Tools/Preferences) is
off, an ErrorMessage node is returned, and the customer address is not added or updated.

The CustomerUpdateRequest may not be used to delete customers or Customer
Activities.

For each successful add and/or update the CustomerUpdateReply will return a Customer
container with the Customer Number, Customer Name, and E-Mail Address, and a Status
container outlining the general operations that were performed (number of
AdditionalAddresses processed, number of SavedCreditCards processed, etc.).

The ForceProceed node in the CustomerUpdateRequest forces the tool to proceed with
valid customer updates even if there is invalid update request. In such a scenario the
corresponding Customer container for the invalid request(s) in the CustomerUpdateReply
will contain the Error XML elements specified in Chapter 14 (Errors) in lieu of the
elements specified in the CustomerUpdateReply schema. If the ForceProceed node is not
included in the CustomerUpdateRequest any invalid Customer container will result in the
failure of all subsequent Customer container(s) in the request.

A single CustomerUpdateRequest may contain no more than 15 Customer containers. If
you wish to update more than 15 customers you must do so in an iterative manner.

CustomerUpdateRequest URL:
https://www.nexternal.com/shared/xml/customerupdate.rest

CustomerUpdateRequest Schema
Element Xpath             Required   Occurs     Type         Description
Credentials               Yes        1          Container




                                           73
Element Xpath              Required   Occurs        Type             Description
Credentials/AccountName    Yes        1             Text Node (10    Client's Account Name (e.g. fairway)
                                                    char max)
Credentials/Key            Yes        1             Text Node (20    Client's XML Key
                                                    char)
Customer                   Yes        1 - 15        Container
Customer @Mode             Yes        1             Text Attribute   Update Mode (Add or Update)
                                                    (6 chars max)
Customer @MatchingField    No         1             Text Attribute   Indicates which node in the query will be used to
                                                    (10 chars max)   match an existing customer (CustomerNo, Name,
                                                                     or Email)
                                                                     • Optional if Mode="Add"; if this field is
                                                                     included and a customer match is found, the
                                                                     existing customer is used, and Mode switches to
                                                                     Update
                                                                     • Required if Mode="Update"
Customer/CustomerNo        No         1             Integer Node     Customer Number (for matching purposes)
                                                                     • Required if MatchingField="CustomerNo"
                                                                     • If Mode="Add" and a customer match is found,
                                                                     the Mode will be changed to "Update"
Customer/Name              No         1             Container        Customer Name
                                                                     • Required if MatchingField="Name"
                                                                     • If Mode="Add" and a customer match is found,
                                                                     the Mode will be changed to "Update"
Customer/Name/FirstName    Yes*       1             Text Node (50    Customer First Name
                                                    chars max)
Customer/Name/LastName     Yes*       1             Text Node (50    Customer Last Name
                                                    chars max)
Customer/Email             No         1             Text Node (50    Customer E-Mail Address
                                                    chars max)       • Required if MatchingField="Email"
                                                                     • If Mode="Add" and a customer match is found,
                                                                     the Mode will be changed to "Update"
Customer/Address           No         1             Container        Customer Contact Address
                                                                     • Required if Mode="Add"
Customer/Address @Type     Yes*       1             Text Attribute   Customer Contact Address Type (Residential or
                                                    (11 chars max)   Business)
Customer/Address @Label    No         1             Text Attribute   Customer Contact Address Label
                                                    (25 chars max)
Customer/Address/Name      No         1             Container        May be omitted if Customer/Name node exists,
                                                                     and you wish to use those values
Customer/Address/Name/F    Yes*       1             Text Node (50    Customer Contact First Name
irstName                                            chars max)
Customer/Address/Name/L    Yes*       1             Text Node (50    Customer Contact Last Name
astName                                             chars max)
Customer/Address/Compan    No         1             Text Node        Customer Contact Company Name
yName                                               (100 chars       • Usage of the Company Name field is set at
                                                    max)             Customers/Types in the OMS
Customer/Address/Address   Yes*       1             Text Node        Customer Contact Street Address (Line 1)
1                                                   (100 chars
                                                    max)
Customer/Address/Address   No         1             Text Node        Customer Contact Street Address (Line 2)
2                                                   (100 chars
                                                    max)
Customer/Address/City      Yes*       1             Text Node (50    Customer Contact City
                                                    chars max)


                                               74
Element Xpath               Required   Occurs    Type             Description
Customer/Address/StatePro   Yes*       1         Text Node (2     Customer Contact State/Province Code
vCode                                            chars)
Customer/Address/ZipPost    Yes*       1         Text Node (20    Customer Contact Zip/Postal Code
alCode                                           chars max)
Customer/Address/Country    Yes*       1         Text Node (2     Customer Contact Country Code
Code                                             chars)
Customer/Address/PhoneN     Yes*       1         Text Node (50    Customer Contact Phone Number
umber                                            chars max)
Customer/Address/PhoneE     No         1         Text Node (30    Customer Contact Phone Extension
xt                                               chars max)
Customer/Address/Primary    No         1         Empty Node       Indicates Primary Shipping Address
Ship
Customer/Address/Primary    No         1         Empty Node       Indicates Primary Billing Address
Bill
Customer/CustomField1       No         1         Text/Integer/N   Customer Custom Field #1 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"
Customer/CustomField1       Yes*       1         Text Attribute   Customer Custom Field #1 Type (Text, Positive
@Type                                            (50 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
Customer/CustomField2       No         1         Text/Integer/N   Customer Custom Field #2 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"
Customer/CustomField2       Yes*       1         Text Attribute   Customer Custom Field #2 Type (Text, Positive
@Type                                            (50 chars max)   Number, Positive Integer, Currency, Date, or
                                                                  Yes/No)
Customer/CustomField3       No         1         Text/Integer/N   Customer Custom Field #3 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"
Customer/CustomField3       Yes*       1         Text Attribute   Customer Custom Field #3 Type (Text, Positive
@Type                                            (50 chars max)   Number, Positive Integer, Currency, Date, or
                                                                  Yes/No)
Customer/CustomField4       No         1         Text/Integer/N   Customer Custom Field #4 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"
Customer/CustomField4       Yes*       1         Text Attribute   Customer Custom Field #4 Type (Text, Positive
@Type                                            (50 chars max)   Number, Positive Integer, Currency, Date, or
                                                                  Yes/No)
Customer/CustomField5       No         1         Text/Integer/N   Customer Custom Field #5 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"
Customer/CustomField5       Yes*       1         Text Attribute   Customer Custom Field #5 Type (Text, Positive
@Type                                            (50 chars max)   Number, Positive Integer, Currency, Date, or
                                                                  Yes/No)
Customer/CustomField6       No         1         Text/Integer/N   Customer Custom Field #6 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"



                                            75
Element Xpath               Required   Occurs    Type             Description
Customer/CustomField6       Yes*       1         Text Attribute   Customer Custom Field #6 Type (Text, Positive
@Type                                            (50 chars max)   Number, Positive Integer, Currency, Date, or
                                                                  Yes/No)
Customer/CustomerPasswo     No         1         Container        • Required if Mode="Add" and the Require
rd                                                                Password option is on (Settings/Boolean Options
                                                                  in the OMS)
Customer/CustomerPasswo     Yes*       1         Text Node (50    Customer Password
rd/Password                                      chars max)
Customer/CustomerPasswo     No         1         Text Node        Customer Password Reminder
rd/PasswordReminder                              (100 chars
                                                 max)
Customer/CustomerType       No         1         Text Node (20    Customer Type (default is defined at
                                                 chars max)       Customers/Types in the OMS)
Customer/CustomerDiscou     No         1         Percent Node     Customer Discount Percent
nt                                                                • Applicable only if Customer Discount is not
                                                                  defined by Customer Type (Customers/Types in
                                                                  the OMS)
                                                                  • Default value is 0%
Customer/Owner              No         1         Container
Customer/Owner/Name         Yes*       1         Container        Customer’s Owner (OMS User)
Customer/Owner/Name/Fir     Yes*       1         Text Node (50    Owner First Name
stName                                           chars max)
Customer/OwnerName/Las      Yes*       1         Text Node (50    Owner Last Name
tName                                            chars max)
Customer/FollowUpDate       No         1         Container
Customer/ FollowUpDate      Yes*       1         Container
/DateTime
Customer/ FollowUpDate      Yes*       1         Date Node        Follow-up Date
/DateTime/Date                                   (mm/dd/yyyy)
Customer/Affiliate          No         1         Text Node        Affiliate Name
                                                 (100 chars
                                                 max)
Customer/Affiliate          No         1         Text Node        Affiliate Category
@Category                                        (100 chars
                                                 max)
Customer/CompanyComm        No         1         Text Node        Internal Notes/Comments
ents
Customer/AgeVerification    No         1         Container        Applicable only if the Age Verification tool is in
                                                                  use (Settings/Compatible Software in the OMS)
Customer/AgeVerification/   Yes*       1         Text Node (6     Age Verification Flag (Green, Yellow, or Red)
VerificationFlag                                 chars max)
Customer/AdditionalAddre    No         1         Container
sses
Customer/AdditionalAddre    Yes*       1+        Container
sses/Address
Customer/AdditionalAddre    Yes*       1         Text Attribute   Additional Address Type (Residential or
sses/Address @Type                               (11 chars max)   Business)
Customer/AdditionalAddre    No         1         Text Attribute   Additional Address Label
sses/Address @Label                              (25 chars max)
Customer/AdditionalAddre    No         1         Container        May be omitted if Customer/Name node exists,
sses/Address/Name                                                 and you wish to use those values
Customer/AdditionalAddre    Yes*       1         Text Node (50    Additional Address First Name
sses/Address/Name/FirstNa                        chars max)
me


                                            76
Element Xpath                Required   Occurs    Type            Description
Customer/AdditionalAddre     Yes*       1         Text Node (50   Additional Address Last Name
sses/Address/Name/LastNa                          chars max)
me
Customer/AdditionalAddre     No         1         Text Node       Additional Address Company Name
ss/Address/CompanyName                            (100 chars      • Usage of the Company Name field is set at
                                                  max)            Customers/Types in the OMS
Customer/AdditionalAddre     Yes*       1         Text Node       Additional Address Street Address (Line 1)
sses/Address/Address1                             (100 chars
                                                  max)
Customer/AdditionalAddre     No         1         Text Node       Additional Address Street Address (Line 2)
sses/Address/Address2                             (100 chars
                                                  max)
Customer/AdditionalAddre     Yes*       1         Text Node (50   Additional Address City
sses/Address/City                                 chars max)
Customer/AdditionalAddre     Yes*       1         Text Node (2    Additional Address State/Province Code
sses/Address/StateProvCod                         chars)
e
Customer/AdditionalAddre     Yes*       1         Text Node (20   Additional Address Zip/Postal Code
sses/Address/ZipPostalCod                         chars max)
e
Customer/AdditionalAddre     Yes*       1         Text Node (2    Additional Address Country Code
sses/Address/CountryCode                          chars)
Customer/AdditionalAddre     Yes*       1         Text Node (50   Additional Address Phone Number
sses/Address/PhoneNumbe                           chars max)
r
Customer/AdditionalAddre     No         1         Text Node (30   Additional Address Phone Extension
sses/Address/PhoneExt                             chars max)
Customer/AdditionalAddre     No         1         Empty Node      Indicates Primary Shipping Address
sses/Address/PrimaryShip
Customer/AdditionalAddre     No         1         Empty Node      Indicates Primary Billing Address
sses/Address/PrimaryBill
Customer/SavedCreditCard     No         1         Container       For Saved Credit Cards
s                                                                 • Usage of SavedCreditCards is set at
                                                                  Settings/Boolean Options/Allow Saved CC in the
                                                                  OMS
Customer/SavedCreditCard     Yes*       1+        Container
s/CreditCard
Customer/SavedCreditCard     No         1         Text Node (16   Credit Card Type (Visa, MasterCard, American
s/CreditCard/CreditCardTy                         chars max)      Express, Diners Club, Discover, enRoute, or JCB)
pe                                                                • The Credit Card Type is validated against the
                                                                  types allowed by Settings/Billing Options in the
                                                                  OMS
                                                                  • Required if Mode="Add"
Customer/SavedCreditCard     No         1         Text Node (16   Credit Card Number
s/CreditCard/CreditCardNu                         chars max)      • Required if Mode="Add"
mber                                                              • If Mode="Update", you may use only the last 4
                                                                  digits of the credit card number to match an
                                                                  existing Saved Credit Card
Customer/SavedCreditCard     Yes*       1         Date Node       Credit Card Expiration Date
s/CreditCard/CreditCardEx                         (mm/yyyy)
pDate
Customer/SavedCreditCard     No         1         Empty Node      Indicates Preferred Credit Card
s/CreditCard/PreferredCred
itCard
Customer/Activities          No         1         Container       For adding new Activities only


                                             77
Element Xpath                 Required   Occurs    Type            Description
Customer/Activities/Activit   No         1+        Container
y
Customer/Activities/Activit   No         1         Container
y/TimeStamp
Customer/Activities/Activit   Yes*       1         Container
y/TimeStamp/DateTime
Customer/Activities/Activit   Yes*       1         Date Node       Activity Date (default value: today’s date)
y/TimeStamp/DateTime/D                             (mm/dd/yyyy)
ate
Customer/Activities/Activit   No         1         Time Node       Activity Time (default value: 00:00)
y/TimeStamp/DateTime/Ti                            (hh:mm)
me
Customer/Activities/Activit   Yes*       1         Container       OMS User associated with the Activity
y/User
Customer/Activities/Activit   Yes*       1         Container
y/User/Name
Customer/Activities/Activit   Yes*       1         Text Node (50   User First Name
y/User/Name/FirstName                              chars max)
Customer/Activities/Activit   Yes*       1         Text Node (50   User Last Name
y/User/Name/LastName                               chars max)
Customer/Activities/Activit   Yes*       1         Text Node       Activity Types as defined at Customers/Types in
y/Type                                                             the OMS
Customer/Activities/Activit   Yes*       1         Text Node       Activity Description
y/Description
Customer/Erase                No         1         Container       Used to clear / reset information for an existing
                                                                   customer record
                                                                   • Ignored if Mode="Add"
Customer/Erase/Password       No         1         Empty Node      Clears any existing Customer Password and
                                                                   Customer Password Reminder
Customer/Erase/SavedCred      No         1         Empty Node      Clears all existing Customer Credit Cards
itCards                                                            • Usage of SavedCreditCards is set at
                                                                   Settings/Boolean Options/Allow Saved CC in the
                                                                   OMS
Customer/Erase/Additional     No         1         Empty Node      Clears all existing Customer Additional
Addresses                                                          Addresses
Customer/Erase/FollowUp       No         1         Empty Node      Clears any existing Follow-Up Date
Date
Customer/Erase/Affiliate      No         1         Empty Node      Clears any existing Customer Affiliate
Customer/Erase/Company        No         1         Empty Node      Clears any existing Notes/Comments
Comments
Customer/Erase/Active         No         1         Empty Node      Sets the customer record to Inactive
Customer/Erase/MailingLis     No         1         Empty Node      Removes the customer from the Mailing List
t
Customer/Erase/AgeVerifi      No         1         Empty Node      Clears any existing customer Age Verification
cation                                                             information
Customer/Active               No         1         Empty Node      Sets the customer record to Active
Customer/MailingList          No         1         Empty Node      Adds the customer to the Mailing List
ForceProceed                  No         1         Empty Node      Indicates that the CustomerUpdate should
                                                                   proceed even if one or more requested Customer
                                                                   Containers contains invalid information

CustomerUpdateReply Schema
Element Xpath                 Always     Occurs    Type            Description




                                              78
Element Xpath                Always   Occurs        Type             Description
@AccountName                 Yes      1             Text Node (10    Client's Account Name (e.g. fairway)
                                                    char max)
Customer                     Yes      1 - 15        Container
Customer @Mode               Yes      1             Text Attribute   Add or Update
                                                    (6 chars max)
Customer/CustomerNo          Yes      1             Integer Node     Customer Number from the OMS
Customer/Name                Yes      1             Container
Customer/Name/FirstName      Yes      1             Text Node (50    Customer First Name
                                                    char max)
Customer/Name/LastName       Yes      1             Text Node (50    Customer Last Name
                                                    char max)
Customer/Email               Yes      1             Text Node (50    Customer E-Mail Address
                                                    chars max)
Customer/Status              Yes      1             Container

Customer/Status/Additiona    No       1-2           Integer Node     Number of Additional Addresses added and/or
lAddresses                                                           updated
Customer/Status/Additiona    Yes*     1             Text Attribute   Add or Update
lAddresses @Type
Customer/Status/InvalidCo    No       1             Container        Invalid Contact Address Warning
ntactAddress                                                         • Applicable if UPS Address Validation is
                                                                     enabled (Settings/Compatible Software/Online
                                                                     Shipping Tools in the OMS) and the Allow
                                                                     Invalid Addresses option (Settings/Compatible
                                                                     Software/Online Shipping Tools/Preferences) is
                                                                     off
Customer/Status/InvalidAd    No       1             Container        Invalid Additional Address Warning
ditionalAddress                                                      • Applicable if UPS Address Validation is
                                                                     enabled (Settings/Compatible Software/Online
                                                                     Shipping Tools in the OMS) and the Allow
                                                                     Invalid Addresses option (Settings/Compatible
                                                                     Software/Online Shipping Tools/Preferences) is
                                                                     off
Customer/Status/SavedCre     No       1-2           Integer Node     Number of Saved Credit Cards added and/or
ditCards                                                             updated
Customer/Status/SavedCre     Yes*     1             Text Attribute   Add or Update
ditCards @Type
Customer/Status/Activity     No       1-2           Integer Node     Number of Activity records added

Customer/Status/Activity     Yes*     1             Text Attribute   Add or Update
@Type
Customer/Status/EraseActi    No       1             Empty Node       Customer status was set to inactive
ve
Customer/Status/EraseAffil   No       1             Empty Node       Customer affiliation was removed
iate
Customer/Status/EraseAge     No       1             Empty Node       Customer Age Verification Flag was cleared
Verification
Customer/Status/EraseCom     No       1             Empty Node       Internal Notes / Comments for the customer were
panyComments                                                         cleared
Customer/Status/EraseFoll    No       1             Empty Node       Customer FollowUpDate was cleared
owUpDate




                                               79
 Element Xpath               Always       Occurs      Type           Description
 Customer/Status/EraseMail   No           1           Empty Node     Customer was removed from the mailing list
 ingList
 Customer/Status/ErasePass   No           1           Empty Node     Customer Password and Password Reminder were
 word                                                                cleared
 Customer/Status/EraseAddi   No           1           Integer Node   Number of customer Additional Addresses that
 tionalAddresses                                                     were cleared
 Customer/Status/EraseSave   No           1           Integer Node   Number of customer Saved Credit Cards that
 dCreditCards                                                        were cleared

CustomerUpdateRequest Example
<?xml version="1.0" encoding="UTF-8" ?>
<CustomerUpdateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <Customer Mode="Add">
  <Name>
   <FirstName>Bob</FirstName>
   <LastName>Smith</LastName>
  </Name>
  <Email>bobsmith@somewhere.com</Email>
  <Address Type="Residential">
   <StreetAddress1>123 Main St.</StreetAddress1>
   <City>San Diego</City>
   <StateProvCode>CA</StateProvCode>
   <ZipPostalCode>92107</ZipPostalCode>
   <CountryCode>US</CountryCode>
   <PhoneNumber>760 123 1234</PhoneNumber>
   <PrimaryShip />
   <PrimaryBill />
  </Address>
  <CustomField6 Type="Date">01/02/1960</CustomField6>
  <CustomerPassword>
   <Password>bobsmith123</Password>
   <PasswordReminder>the usual password</PasswordReminder>
  </CustomerPassword>
  <CustomerType>Consumer</CustomerType>
  <CustomerDiscount>0</CustomerDiscount>
  <Affiliate Category="E-Business Software">Nexternal Solutions</Affiliate>
  <SavedCreditCards>
   <CreditCard>
    <CreditCardType>Visa</CreditCardType>
    <CreditCardNumber>xxxxxxxxxxxx1111</CreditCardNumber>
    <CreditCardExpDate>04/2010</CreditCardExpDate>
    <PreferredCreditCard />
   </CreditCard>
  </SavedCreditCards>
  <MailingList />
 </Customer>
</CustomerUpdateRequest>

CustomerUpdateReply Example


                                                 80
<?xml version="1.0" encoding="utf-8"?>
<CustomerUpdateReply AccountName="fairway">
 <Customer Mode="Add">
  <CustomerNo>904</CustomerNo>
  <Name>
   <FirstName>Bob</FirstName>
   <LastName>Smith</LastName>
  </Name>
  <Email>bobsmith@somewhere.com</Email>
  <Status>
   <SavedCreditCards Type="Add">1</SavedCreditCards>
  </Status>
 </Customer>
</CustomerUpdateReply>




                                            81
                                 10: InventoryUpdate

The InventoryUpdate is used to update product inventory, thus allowing you to "import"
inventory data from an external system. To be eligible for the InventoryUpdate tool,
Inventory Control must be on at Settings/Site Options/Inventory Control in the OMS.

In the InventoryUpdateRequest, products are identified via their SKU (i.e. Stock Keeping
Unit or Part Number). For products that define inventory on the Product level, a Product
level SKU must be used; for products that define inventory on the attribute-based SKU
level, a "SKU level" SKU must be used.

For each inventory value included in the InventoryUpdateRequest, you may have that
value processed in "Update" mode or "Add" mode via the Mode attribute. Update mode
updates the current inventory for the product (or SKU) to the specified value, while Add
mode adds the specified value to the current inventory. Be aware that negative inventory
values are allowed only if the Allow Negative option (Settings/Site Options/Inventory
Control in the OMS) is on. If an inventory change via the InventoryUpdate necessitates a
change in Product Status, that change is made automatically.

The ForceProceed node in the InventoryUpdateRequest forces the tool to proceed with
valid inventory updates even if an invalid update request (e.g. no match is found for the
ProductSKU node specified) is found. In such a scenario, the corresponding
InventoryProduct container for invalid requests in the InventoryUpdateReply contains the
Error XML elements specified in Chapter 14 (Errors) in lieu of the elements specified in
the InventoryUpdateReply Schema. If the ForceProceed node is not included in the
InventoryUpdateRequest, any invalid request results in the failure of all requests, and
only the Error elements are returned.

A single InventoryUpdateRequest may contain no more than 15 InventoryUpdate
containers. If you wish to update more than 15 inventory values, you must do so in an
iterative manner.

Note: InventoryUpdate may also be used to query inventory – use the Add mode and an
Inventory Value of 0.

InventoryUpdateRequest URL:
https://www.nexternal.com/shared/xml/inventoryupdate.rest

InventoryUpdateRequest Schema
Element Xpath             Required   Occurs        Type            Description
Credentials               Yes        1             Container
Credentials/AccountName   Yes        1             Text Node (10   Client's Account Name (e.g. fairway)
                                                   char max)
Credentials/Key           Yes        1             Text Node (20   Client's XML Key
                                                   char)
InventoryUpdate           Yes        1 - 15        Container



                                              82
Element Xpath                Required   Occurs        Type             Description
InventoryUpdate @Mode        No         1             Text Attribute   Update Mode (Add or Update; default value:
                                                      (6 chars max)    Update)
InventoryUpdate/ProductS     Yes        1             Text Node (50    SKU or Item Number
KU                                                    chars max)       • Must match an existing SKU on the Product or
                                                                       SKU (Attribute) level
                                                                       • If more than one match is found only the first
                                                                       matching Product or SKU will be updated
InventoryUpdate/Inventory    Yes        1             Integer Node     Add or Update Inventory Value
                                                                       • May be a negative number if Update Mode is
                                                                       Add and/or the Allow Negative option
                                                                       (Settings/Site Options/Inventory Control in the
                                                                       OMS) is on
ForceProceed                 No         1             Empty Node       Indicates that the Inventory Update should
                                                                       proceed even if one or more requested updates is
                                                                       invalid

InventoryUpdateReply Schema
Element Xpath                Always     Occurs        Type             Description
@AccountName                 Yes        1             Text Node (10    Client's Account Name (e.g. fairway)
                                                      char max)
InventoryProduct             Yes        1 - 15        Container
InventoryProduct/ProductN    Yes        1             Integer Node     Product Number of updated product
o
InventoryProduct/ProductN    Yes        1             Text Node        Product Name of updated product
ame                                                   (100 chars
                                                      max)
InventoryProduct/ProductS    Yes        1             Text Node (50    SKU (Item Number) of updated product or
KU                                                    chars max)       attribute-based SKU
InventoryProduct/Attribute   No         1+            Text Node (50    Attribute Value for updated attribute-based SKU
                                                      chars max)
InventoryProduct/Attribute   Yes*       1             Text Attribute   Attribute Name for updated attribute-based SKU
@Name                                                 (50 chars max)
InventoryProduct/Inventor    Yes        1             Text Node (50    Updated Inventory Value
y                                                     chars max)
InventoryProduct/ProductS    Yes        1             Text Node (12    Updated Product Status (Normal, Backordered,
tatus                                                 chars max)       Preordered, Sold Out, or Discontinued)

InventoryUpdateRequest Example
<?xml version="1.0" encoding="UTF-8" ?>
<InventoryUpdateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <InventoryUpdate Mode="Add">
  <ProductSKU>588BeCu</ProductSKU>
  <Inventory>-2</Inventory>
 </InventoryUpdate>
 <InventoryUpdate Mode="Update">
  <ProductSKU>ATTBW8</ProductSKU>
  <Inventory>0</Inventory>
 </InventoryUpdate>



                                                 83
 <InventoryUpdate Mode="Add">
   <ProductSKU>ATTBW9</ProductSKU>
   <Inventory>3</Inventory>
 </InventoryUpdate>
 <ForceProceed/>
</InventoryUpdateRequest>

InventoryUpdateReply Example
<?xml version="1.0" encoding="UTF-8" ?>
<InventoryUpdateReply AccountName="fairway">
 <InventoryProduct>
   <ProductNo>24</ProductNo>
   <ProductName>588 BeCu Sand Wedge</ProductName>
   <ProductSKU>588BeCu</ProductSKU>
   <Inventory>-11</Inventory>
   <ProductStatus>Sold Out</ProductStatus>
 </InventoryProduct>
 <InventoryProduct>
   <ProductNo>37</ProductNo>
   <ProductName>Adidas Tour Traxion Golf Shoe</ProductName>
   <ProductSKU>ATTBW8</ProductSKU>
   <Attribute Name="Select Color">Black/White</Attribute>
   <Attribute Name="Select Shoe Size">8</Attribute>
   <Inventory>0</Inventory>
   <ProductStatus>Normal</ProductStatus>
 </InventoryProduct>
 <InventoryProduct>
   <ProductNo>37</ProductNo>
   <ProductName>Adidas Tour Traxion Golf Shoe</ProductName>
   <ProductSKU>ATTBW9</ProductSKU>
   <Attribute Name="Select Color">Black/White</Attribute>
   <Attribute Name="Select Shoe Size">9</Attribute>
   <Inventory>190</Inventory>
   <ProductStatus>Normal</ProductStatus>
 </InventoryProduct>
</InventoryUpdateReply>




                                             84
                                   11: ProductQuery

The ProductQuery is used to query product data, thus "exporting" products from the
Order Management System so that they may be "imported" into an external system.

You may submit a query based on Product Number Range, Product Created Range,
Product Last Updated Range, Product Name, Product SKU, Product Vendor, Product
Category, Product Ship From, Product Attribute, Product Custom Field, Product Status,
and Product Visibility. Where a range is allowed you may specify a Range Start, a Range
End, or both. Specifying only the Range Start is the equivalent of querying for all
products that are "greater than or equal to" the submitted value, while a query containing
only the Range End is the equivalent of querying for all products that are "less than or
equal to" the submitted value. For example, a query for a Product Number Range with a
Range Start of 100 and no Range End will return all products with a Product Number of
100 or more.

In the case of a Product Created Range or Product Last Updated Range you may specify a
Start and/or End Date, and optionally a Time. If you do not specify a Time, a default
value of 00:00 (i.e. 12:00 AM) is used. If you wish to specify the end of the day
(particularly for a Range End), you must use a Time value of 23:59.

The ProductQuery gives you the option of returning additional product information in the
query result(s) by adding one or more "include" nodes to the query. If the requested
information is present in the OMS it will be exported with each related product.

A single ProductQueryReply returns no more than 15 product nodes in the corresponding
ProductQueryReply, even if the requested query includes more than 15 resulting
products. The presence of a NextPage node in the ProductQueryReply will indicate a
subsequent "page" of results exists. You may then use the Page node in the
ProductQueryRequest to iteratively request all results from your query.

Note: If the Page node in the ProductQueryRequest contains a page number greater than
the maximum page number in the query results, the maximum page number is returned.

CurrentStatus Node

The CurrentStatus node in the ProductQueryRequest gives you the option of obtaining a
simple status snapshot on a large number of products. To do so, specify a query range
(Product Number Range, Product Created Range, or Product Last Updated Range) along
with the CurrentStatus node. The ProductQueryReply will return a single node per
product, containing the Product Number, Product Name, Product SKU (if one has been
assigned), and Product Status. The maximum ProductQueryReply page size with the
CurrentStatus node is 2000.

ProductQueryRequest URL: https://www.nexternal.com/shared/xml/productquery.rest



                                           85
ProductQueryRequest Schema
Element Xpath               Required   Occurs    Type            Description
Credentials                 Yes        1         Container
Credentials/AccountName     Yes        1         Text Node (10   Client's Account Name (e.g. fairway)
                                                 chars max)
Credentials/Key             Yes        1         Text Node (20   Client's XML Key
                                                 chars)
ProductNoRange              No         1         Container       For query by Product Number Range
ProductNoRange/ProductN     No         1         Integer Node    Product Number Range Start
oStart
ProductNoRange/ProductN     No         1         Integer Node    Product Number Range End
oEnd
ProductCreatedRange         No         1         Container       For query by Product Created Range
ProductCreatedRange/Prod    No         1         Container
uctCreatedDateStart
ProductCreatedRange/Prod    Yes*       1         Container
uctCreatedDateStart/DateT
ime
ProductCreatedRange/Prod    Yes*       1         Date Node       Created Date Range Start
uctCreatedDateStart/DateT                        (mm/dd/yyyy)
ime/Date
ProductCreatedRange/Prod    No         1         Time Node       Created Date Range Start Time (default value:
uctCreatedDateStart/DateT                        (hh:mm)         00:00)
ime/Time
ProductCreatedRange/Prod    No         1         Container
uctCreatedDateEnd
ProductCreatedRange/Prod    Yes*       1         Container
uctCreatedDateEnd/DateTi
me
ProductCreatedRange/Prod    Yes*       1         Date Node       Created Date Range End
uctCreatedDateEnd/DateTi                         (mm/dd/yyyy)
me/Date
ProductCreatedRange/Prod    No         1         Time Node       Created Date Range End Time (default value:
uctCreatedDateEnd/DateTi                         (hh:mm)         00:00)
me/Time
ProductLastUpdRange         No         1         Container       For query by Product Last Updated Range
ProductLastUpdRange/Pro     No         1         Container
ductLastUpdDateStart
ProductLastUpdRange/Pro     Yes*       1         Container
ductLastUpdDateStart/Date
Time
ProductLastUpdRange/Pro     Yes*       1         Date Node       Last Updated Date Range Start
ductLastUpdDateStart/Date                        (mm/dd/yyyy)
Time/Date
ProductLastUpdRange/Pro     No         1         Time Node       Last Updated Date Range Start Time (default
ductLastUpdDateStart/Date                        (hh:mm)         value: 00:00)
Time/Time
ProductLastUpdRange/Pro     No         1         Container
ductLastUpdDateEnd
ProductLastUpdRange/Pro     Yes*       1         Container
ductLastUpdDateEnd/Date
Time




                                            86
Element Xpath             Required   Occurs        Type             Description
ProductLastUpdRange/Pro   Yes*       1             Date Node        Last Updated Date Range End
ductLastUpdDateEnd/Date                            (mm/dd/yyyy)
Time/Date
ProductLastUpdRange/Pro   No         1             Time Node        Last Updated Date Range End Time (default
ductLastUpdDateEnd/Date                            (hh:mm)          value: 00:00)
Time/Time
ProductName               No         1             Text Node        Used to query for a partial or complete Product
                                                   (100 chars       Name
                                                   max)
ProductSKU                No         1             Text Node (50    Used to query for a partial or complete Product
                                                   chars max)       SKU
ProductVendor             No         1             Text Node (75    Used to query for a specific Product Vendor
                                                   chars max)
ProductCategory           No         1             Text Node        Used to query for a Product Category or for a set
                                                                    of Product Subcategories
                                                                    • When specifying a Product Category parameter
                                                                    you can enter the Subcategory Name that the
                                                                    Product(s) belong to, a complete Category
                                                                    hierarchy, or a partial Category hierarchy to
                                                                    retrieve all products contained within that
                                                                    hierarchy. Note that the Category Names must be
                                                                    separated by forward slashes with leading and
                                                                    trailing spaces (" / ")
ProductShipFrom           No         1             Text Node (50    Used to query for the Internal Name of a Ship
                                                   chars max)       From Address
ProductAttribute          No         1 - 10        Text Node (50    Product Attribute Value
                                                   chars max)       • Used to query for one or more specific Product
                                                                    Attribute Name / Value pairs
ProductAttribute @Name    Yes*       1             Text Attribute   Product Attribute Name
                                                   (50 chars max)
ProductCustomField        No         1-6           Text/Integer/N   Product Custom Field Value
                                                   umeric/Curren    • Used to query for one or more specific Product
                                                   cy/Date/Empty    Custom Field Name / Value pairs
                                                   Node             • Node Type depends on Field Type of the
                                                                    Custom Field. For Field Type "Yes/No" the
                                                                    value must be either "Yes" or "No"
ProductCustomField        Yes*       1             Text Attribute   Custom Field Name
@Name                                              (50 chars max)
ProductCustomField        Yes*       1             Text Attribute   Custom Field Type (Text, Positive Number,
@Type                                              (16 chars max)   Positive Integer, Currency, Date, Yes/No)
ProductStatus             No         1             Text Node        Used to query by Product Status (Normal,
                                                                    Backordered, Preordered, Sold Out, or
                                                                    Discontinued)
ProductVisibility         No         1             Text Node        Used to query by Product Visibility Type (All,
                                                                    BtoB, BtoC, Internal, None, or a Visibility Type
                                                                    defined by the client)
IncludeAllocation         No         1             Empty Node       Indicates that Product Allocation information
                                                                    should be included with the ProductQueryReply
IncludeOverrides          No         1             Empty Node       Indicates that Product Override information
                                                                    should be included with the ProductQueryReply
IncludeEMailAddenda       No         1             Empty Node       Indicates that Product EMail Addenda should be
                                                                    included with the ProductQueryReply




                                              87
Element Xpath              Required   Occurs        Type             Description
IncludeMarketplaceOption   No         1             Empty Node       Indicates that Product Marketplace Options
s                                                                    should be included with the ProductQueryReply
IncludeSearchEngineMark    No         1             Empty Node       Indicates that Product Search Engine Friendly
up                                                                   Catalog information should be included with the
                                                                     ProductQueryReply
IncludeCustomerBasedPric   No         1             Empty Node       Indicates that Product Customer Based Pricing
ing                                                                  information should be included with the
                                                                     ProductQueryReply
IncludeRelatedProducts     No         1             Empty Node       Indicates that information about Related Products
                                                                     should be included with the ProductQueryReply
IncludeReviews             No         1             Empty Node       Indicates that Customer Reviews of the Product
                                                                     should be included with the ProductQueryReply
IncludeQuestions           No         1             Empty Node       Indicates that Customer Questions about the
                                                                     Product should be included with the
                                                                     ProductQueryReply
CurrentStatus              No         1             Empty Node       Used to return the Product Status of all Products
                                                                     that fall within the specified range
                                                                     • Allowed only when this node is combined with
                                                                     ProductNoRange, ProductCreatedRange, or
                                                                     ProductLastUpdRange
Page                       No         1             Integer Node     Requested page number of query results (default
                                                                     value: 1)

ProductQueryReply Schema (without CurrentStatus node)
Element Xpath              Always     Occurs        Type             Description
@AccountName               Yes        1             Text Attribute   Client's Account Name (e.g. fairway)
@Page                      Yes        1             Integer          Page number of query results
                                                    Attribute
Product                    Yes        1 - 15        Container
Product/ProductName        Yes        1             Text Node        Product Name
                                                    (100 chars
                                                    max)
Product/ProductSKU         No         1             Text Node (50    Product-Level SKU
                                                    chars max)
Product/ProductNo          Yes        1             Integer Node     Product Number
Product/COGS               No         1             Currency         Product Cost Of Goods Sold
                                                    Node
Product/Pricing            No         1             Container        Included if Product Pricing is not defined at the
                                                                     SKU level
Product/Pricing @Type      Yes*       1             Text Attribute   Indicates how Product Pricing is defined (Single,
                                                    (20 chars max)   Category, Volume, or Bid)
Product/Pricing/Price      Yes*       1+            Currency         Product Price
                                                    Node
Product/Pricing/Price      No         1             Integer          Price Quantity level
@Qty                                                Attribute        • Included if Product Pricing is Volume or
                                                                     Category




                                               88
Element Xpath                Always   Occurs    Type             Description
Product/Pricing/Price        No       1         Text Attribute   Customer Type
@Type                                                            • Included only if the
                                                                 IncludeCustomerBasedPricing node is present in
                                                                 the ProductQueryRequest and the Product uses
                                                                 customer based pricing
                                                                 • If the IncludeCustomerBasedPricing node is
                                                                 present the default Product Level Price Type will
                                                                 appear as "Default"
Product/Pricing/Price        Yes*     1         Percent          Price Discount percentage
@PercentDiscount                                Attribute
Product/Weight               No       1         Numeric Node     Product Weight, in pounds, if defined at the
                                                                 Product level
Product/OrderQty             No       1         Container        Minimum / Maximum Order Quantities
                                                                 • Included only if Minimum and Maximum Order
                                                                 Quantities are defined at the Product level
Product/OrderQty/MinQty      No       1         Integer Node     Minimum Order Quantity
Product/OrderQty/MaxQty      No       1         Integer Node     Maximum Order Quantity

Product/Inventory            No       1         Integer Node     Product Inventory Value
                                                                 • Included only if Inventory Control is enabled at
                                                                 Settings/Site Options/Inventory Control in the
                                                                 OMS, and Inventory is defined at the Product
                                                                 level
Product/ShippingRates        No       1         Container        Included if Shipping Rates are overridden at the
                                                                 Product level; or Shipping Cost Calculation
                                                                 (Settings/Shipping in the OMS) is UNIT and
                                                                 Shipping Rates are defined at the Product level
Product/ShippingRates/Zon    Yes*     1+        Container
e
Product/ShippingRates/Zon    Yes*     1         Integer          Shipping Zone Number (1 – 100)
e @ID                                           Attribute        • Zones are defined at Settings/Shipping in the
                                                                 OMS
Product/ShippingRates/Zon    Yes*     1+        Container
e/ShippingOption
Product/ShippingRates/Zon    Yes*     1         Text Node        Shipping Method
e/ShippingOption/ShipMet
hod
Product/ShippingRates/Zon    Yes*     1         Currency         Shipping Rate
e/ShippingOption/ShipRate                       Node
Product/Allocation           No       1         Container        Product Allocation information
                                                                 • Included only if the IncludeAllocation node is
                                                                 present in the ProductQueryRequest and the
                                                                 product is allocated
Product/Allocation/StartDa   No       1         Container
te
Product/Allocation/StartDa   Yes*     1         Container
te/DateTime
Product/Allocation/StartDa   Yes*     1         Date Node        Product Allocation Start Date
te/DateTime/Date                                (mm/dd/yyyy)
Product/Allocation/EndDat    No       1         Container
e
Product/Allocation/EndDat    Yes*     1         Container
e/DateTime



                                           89
Element Xpath               Always   Occurs    Type             Description
Product/Allocation/EndDat   Yes*     1         Date Node        Product Allocation End Date
e/DateTime/Date                                (mm/dd/yyyy)
Product/Allocation/Custom   Yes*     1+        Integer Node     Quantity allocated for the specified Customer
erType                                                          Type
Product/Allocation/Custom   Yes*     1         Text Attribute   Name of Customer Type
erType @Name                                   (20 chars max)

Product/Images              No       1         Container        Included if images are defined at the Product
                                                                level, or if the product uses an Image Gallery
Product/Images/Audio        No       1         URL Node         URL of Product Audio clip

Product/Images/Audio        No       1         Text Attribute   Audio Clip Repetition (Once, Continuously, or a
@Repetition                                    (10 chars max)   integer value; default value: Once)
Product/Images/Thumbnail    No       1         URL Node         URL of Product Thumbnail Image


Product/Images/Main         No       1         URL Node         URL of Product Main Image

Product/Images/Large        No       1         URL Node         URL of Product Large Image

Product/Images/Gallery      No       1+        Container        Included if the product uses Image Galleries


Product/Images/Gallery/Th   No       1         URL Node         URL of Gallery Thumbnail Image
umbnail

Product/Images/Gallery/M    No       1         URL Node         URL of Gallery Main Image
ain
Product/Images/Gallery/La   No       1         URL Node         URL of Gallery Large Image
rge
Product/Images/Gallery/De   No       1         Empty Node       Indicates the default Gallery Image
fault

Product/InStockDate         No       1         Container        Included only if the Product has a zero or
                                                                negative inventory, and an Expected In Stock
                                                                Date is defined
Product/InStockDate/Date    Yes*     1         Container
Time
Product/InStockDate/Date    Yes*     1         Date Node        Product In Stock Date
Time/Date                                      (mm/dd/yyyy)
Product/SKU                 No       1+        Container        Included if one or more attribute-based SKUs are
                                                                defined for the product
Product/SKU @SKU            No       1         Text Attribute   Item-Level SKU
                                               (50 chars max)
Product/SKU/Attribute       No       1+        Text Node (50    SKU Attribute Value
                                               chars max)
Product/SKU/Attribute       Yes*     1         Text Attribute   SKU Attribute Name
@Name                                          (50 chars max)
Product/SKU/COGS            No       1         Currency         SKU Cost of Goods Sold
                                               Node
Product/SKU/Pricing         No       1         Container        Included if Pricing is defined at the SKU level



                                          90
Element Xpath               Always   Occurs    Type             Description
Product/SKU/Pricing/Price   Yes*     1         Currency         SKU Price
                                               Node
Product/SKU/Pricing/Price   No       1         Text Attribute   Customer Type
@Type                                                           • Included only if the
                                                                IncludeCustomerBasedPricing node is present in
                                                                the ProductQueryRequest and the SKU uses
                                                                customer based pricing
                                                                • If the IncludeCustomerBasedPricing node is
                                                                present the default SKU Level Price Type will
                                                                appear as "Default"
Product/SKU/Pricing/Price   Yes*     1         Percent          Price Discount Percentage
@PercentDiscount                               Attribute
Product/SKU/Weight          No       1         Numeric Node     SKU Weight, in pounds
Product/SKU/OrderQty        No       1         Container        Minimum / Maximum Order Quantities
                                                                • Included only if minimum and/or maximum
                                                                order quantities are defined at the SKU level
Product/SKU/OrderQty/Mi     No       1         Integer Node     SKU Minimum Order Quantity
nQty
Product/SKU/OrderQty/Ma     No       1         Integer Node     SKU Maximum Order Quantity
xQty
Product/SKU/Inventory       No       1         Integer Node     SKU Inventory Value
                                                                • Included only if Inventory Control is enabled at
                                                                Settings/Site Options/Inventory Control in the
                                                                OMS, and Inventory is defined at the SKU level
Product/SKU/ShippingRate    No       1         Container        Included if Shipping Rates are overridden at the
s                                                               SKU level; or Shipping Cost Calculation
                                                                (Settings/Shipping in the OMS) is UNIT and
                                                                Shipping Rates are defined at the SKU level
Product/SKU/ShippingRate    Yes*     1+        Container
s/Zone
Product/SKU/ShippingRate    Yes*     1         Integer          Shipping Zone Number that was overridden (1 –
s/Zone @ID                                     Attribute        100)
                                                                • See Settings / Shipping in the OMS for the
                                                                number of defined zones
Product/SKU/ShippingRate    Yes*     1+        Container
s/Zone/ShippingOption
Product/SKU/ShippingRate    Yes*     1         Text Node        Shipping Method that was overridden
s/Zone/ShippingOption/Shi
pMethod
Product/SKU/ShippingRate    Yes*     1         Currency         Shipping Rate that was overridden
s/Zone/ShippingOption/Shi                      Node
pRate
Product/SKU/Allocation      No       1         Container        SKU Allocation information
                                                                • Included only if the IncludeAllocation node is
                                                                present in the ProductQueryRequest and the SKU
                                                                is allocated
Product/SKU/Allocation/St   Yes*     1         Container
artDate
Product/SKU/Allocation/St   Yes*     1         Container
artDate/DateTime
Product/SKU/Allocation/St   Yes*     1         Date Node        SKU Allocation Start Date
artDate/DateTime/Date                          (mm/dd/yyyy)
Product/SKU/Allocation/E    Yes*     1         Container
ndDate



                                          91
Element Xpath                 Always   Occurs    Type             Description
Product/SKU/Allocation/E      Yes*     1         Container
ndDate/DateTime
Product/SKU/Allocation/E      Yes*     1         Date Node        SKU Allocation End Date
ndDate/DateTime/Date                             (mm/dd/yyyy)
Product/SKU/Allocation/C      Yes*     1+        Integer Node     Quantity allocated for the specified Customer
ustomerType                                                       Type
Product/SKU/Allocation/C      Yes*     1         Text Attribute   Name of Customer Type
ustomerType @Name                                (20 chars max)

Product/SKU/Images            No       1         Container        Included if images are defined at the SKU level

Product/SKU/Images/Main       No       1         URL Node         URL of SKU Main Image

Product/SKU/Images/Larg       No       1         URL Node         URL of SKU Large Image
e
Product/SKU/Images/Defa       No       1         Empty Node       Indicates the Default Image for the SKU
ult

Product/SKU/InStockDate       No       1         Container        Included only if the SKU has a zero or negative
                                                                  inventory, and an Expected In Stock Date is
                                                                  defined
Product/SKU/InStockDate/      Yes*     1         Container
DateTime
Product/SKU/InStockDate/      Yes*     1         Date Node        SKU In Stock Date
DateTime/Date                                    (mm/dd/yyyy)
Product/SKU/VinNow            No       1         Container        Included only if integrated with VinNow
                                                                  (Settings/Compatible Software/VinNow in the
                                                                  OMS)
Product/SKU/VinNow/Key        No       1         Text Attribute   VinNow SKU-level Product Key
                                                 (50 chars max)
Product/SKU/Default           No       1         Empty Node       Indicates the Default SKU for the Product

Product/Categories            No       1         Container        Included if Categories are defined at the Product
                                                                  level
Product/Categories/Categor    Yes*     1+        Container
y
Product/Categories/Categor    Yes*     1         Integer          Product Category Number
y @No                                            Attribute
Product/Categories/Categor    Yes*     1         Text Node (50    Product Category Name
y/CategoryName                                   chars max)
Product/Category/Primary      No       1         Empty Node       Indicates the Primary Category for the Product

Product/Attributes            No       1         Container        Included if the product has Attributes

Product/Attributes/Attribut   Yes*     1+        Container
e
Product/Attributes/Attribut   Yes*     1         Text Attribute   Product Attribute Name
e @Name                                          (50 chars max)
Product/Attributes/Attribut   Yes*     1+        Text Node (50    Product Attribute Value
e/Option                                         chars max)




                                            92
Element Xpath                 Always   Occurs    Type             Description
Product/Attributes/Attribut   No       1         URL Attribute    URL of Gallery Main Image
e/Option                                                          • Included only if the product uses an Image
@GalleryMainImage                                                 Gallery, and this option is associated with a
                                                                  Gallery Image
Product/WriteIns              No       1         Container        Included if the product has Write-In Attributes
Product/WriteIns/WriteIn      Yes*     1+        Container
Product/WriteIns/WriteIn/     Yes*     1         Text Node (50    Write-In Attribute Name
Name                                             chars max)
Product/WriteIns/WriteIn/     Yes*     1         Text Node (10    Write-In Attribute Type (Text, TextArea, or
EntryType                                        chars max)       Checkbox)
Product/WriteIns/WriteIn/     No       1         Integer Node     Write-In Attribute Maximum Length
MaxLength
Product/WriteIns/WriteIn/     Yes*     1         Text Node (10    Write-In Attribute Required (Yes, No, or Charge)
Required                                         chars max)
Product/WriteIns/WriteIn/     No       1         Currency         Write-In Attribute Additional Charge
AdditionalCharge                                 Node             • Included if Product/WriteIns/WriteIn/Required
                                                                  is "Charge"
Product/WriteIns/WriteIn/     Yes*     1         Text Node        Product WriteIn Allowed Values (all types of
AllowedValues                                                     input; only letters, numbers, and spaces; only
                                                                  letters and numbers; only letters and spaces; only
                                                                  letters; only numbers; only whole numbers; only
                                                                  positive numbers and zero; only positive
                                                                  numbers; only positive whole numbers and zero;
                                                                  only positive whole numbers; none)
Product/Specifications        No       1         Container        Included if Specifications are defined at the
                                                                  Product level
Product/Specifications/Spe    Yes*     1+        Text Node        Product Specification Value
cification                                       (255 chars
                                                 max)
Product/Specifications/Spe    Yes*     1         Text Attribute   Product Specification Name
cification @Name                                 (100 chars
                                                 max)
Product/Status                Yes      1         Text Attribute   Product Status (Normal, Preordered,
                                                 (20 chars max)   Backordered, Sold Out, Discontinued)
Product/Vendor                No       1         Text Node (75    Vendor Internal Name
                                                 chars max)
Product/ShipFrom              No       1         Text Node (50    Product Ship From Internal Name
                                                 chars max)
Product/CustomField1          No       1         Text/Integer/N   Product Custom Field #1 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field.
                                                 Node
Product/CustomField1          Yes*     1         Text Attribute   Product Custom Field #1 Name
@Name                                            (50 chars max)
Product/CustomField1          Yes*     1         Text Attribute   Product Custom Field #1 Type (Text, Positive
@Type                                            (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
Product/CustomField2          No       1         Text/Integer/N   Product Custom Field #2 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field.
                                                 Node
Product/CustomField2          Yes*     1         Text Attribute   Product Custom Field #2 Name
@Name                                            (50 chars max)




                                            93
Element Xpath               Always   Occurs    Type             Description
Product/CustomField2        Yes*     1         Text Attribute   Product Custom Field #2 Type (Text, Positive
@Type                                          (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                Yes/No)
Product/CustomField3        No       1         Text/Integer/N   Product Custom Field #3 Value
                                               umeric/Curren    • Node Type depends on Field Type of Custom
                                               cy/Date/Empty    Field.
                                               Node
Product/CustomField3        Yes*     1         Text Attribute   Product Custom Field #3 Name
@Name                                          (50 chars max)
Product/CustomField3        Yes*     1         Text Attribute   Product Custom Field #3 Type (Text, Positive
@Type                                          (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                Yes/No)
Product/CustomField4        No       1         Text/Integer/N   Product Custom Field #4 Value
                                               umeric/Curren    • Node Type depends on Field Type of Custom
                                               cy/Date/Empty    Field.
                                               Node
Product/CustomField4        Yes*     1         Text Attribute   Product Custom Field #4 Name
@Name                                          (50 chars max)
Product/CustomField4        Yes*     1         Text Attribute   Product Custom Field #4 Type (Text, Positive
@Type                                          (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                Yes/No)
Product/CustomField5        No       1         Text/Integer/N   Product Custom Field #5 Value
                                               umeric/Curren    • Node Type depends on Field Type of Custom
                                               cy/Date/Empty    Field.
                                               Node
Product/CustomField5        Yes*     1         Text Attribute   Product Custom Field #5 Name
@Name                                          (50 chars max)
Product/CustomField5        Yes*     1         Text Attribute   Product Custom Field #5 Type (Text, Positive
@Type                                          (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                Yes/No)
Product/CustomField6        No       1         Text/Integer/N   Product Custom Field #6 Value
                                               umeric/Curren    • Node Type depends on Field Type of Custom
                                               cy/Date/Empty    Field.
                                               Node
Product /CustomField6       Yes*     1         Text Attribute   Product Custom Field #6 Name
@Name                                          (50 chars max)
Product /CustomField6       Yes*     1         Text Attribute   Product Custom Field #6 Type (Text, Positive
@Type                                          (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                Yes/No)
Product/Taxable             Yes      1         Text Node (5     Product Taxability (All, None, or State)
                                               chars max)
Product/Taxable @States     No       1         Text Attribute   For Product Taxability of State, this attribute
                                                                contains a comma-delimited list of taxable states
Product/Visibility          Yes      1         Text Node (20    Product Visibility (All, BtoB, BtoC, Internal,
                                               chars max)       None, or Type)
Product/Visibility @Types   No       1         Text Attribute   For Product Visibility of Type, this attribute
                                                                contains a comma-delimited list of Customer
                                                                Types with visibility
Product/HidePrice           No       1         Empty Node       Indicates that Product Price(s) are hidden
Product/Restricted          No       1         Empty Node       Indicates that the product is Restricted
Product /Expedited          No       1         Empty Node       Indicates that the product requires Expedited
                                                                Shipping
Product/Required            No       1         Empty Node       Indicates that the product is Required



                                          94
Element Xpath                Always   Occurs    Type            Description
Product/DiscountEligible     No       1         Empty Node      Indicates that the Product is eligible for Category
                                                                Discounts, Order Discounts, and Customer
                                                                Discounts
Product/AllowDirectCheck     No       1         Empty Node      Indicates that Direct Checkout is available
out
Product/AllowReviews         No       1         Empty Node      Indicates that the product is Reviewable
Product/AllowQuestions       No       1         Empty Node      Indicates that the product allows Questions
Product/ProductLink          No       1         Container       Included if E-Business Type (Settings/Site
                                                                Options in the OMS) is BtoC or Both
Product/ProductLink/Store    Yes*     1         URL Node        URL to access the product page in the BtoC Store
Front
Product/ProductLink/Direc    No       1         URL Node        If Direct Checkout is enabled (Settings/Boolean
tCheckout                                                       Options in the OMS) and the
                                                                Product/AllowDirectCheckout node is present,
                                                                this node contains the Direct Checkout URL
Product/CustomerTypeUpg      No       1         Text Node       Customer Type Upgrade (from Customers/Types
rade                                                            in the OMS)
Product/Description          Yes      1         Container
Product/Description/Short    No       1         Text Node       Product Short Description
                                                (255 chars
                                                max)
Product/Description/Long     No       1         Text Node       Product Long Description
Product/Description/Intern   No       1         Text Node       Product Internal Memo
al
Product/Description/Keyw     No       1         Text Node       Product Search Keywords
ords
Product/Created              Yes      1         Container
Product/Created/DateTime     Yes      1         Container
Product/Created/DateTime/    Yes      1         Date Node       Product Created Date
Date                                            (mm/dd/yyyy)
Product/Created/DateTime/    Yes      1         Time Node       Product Created Time
Time                                            (hh:mm)
Product/CreatedBy            Yes      1         Container
Product/CreatedBy/Name       Yes      1         Container
Product/CreatedBy/Name/      No       1         Text Node (50   Created By User First Name
FirstName                                       chars max)
Product/CreatedBy/Name/      No       1         Text Node (50   Created By User Last Name
LastName                                        chars max)
Product/LastUpd              Yes      1         Container
Product/LastUpd/DateTime     Yes      1         Container
Product/LastUpd/DateTime     Yes      1         Date Node       Product Last Updated Date
/Date                                           (mm/dd/yyyy)
Product/LastUpd/DateTime     Yes      1         Time Node       Product Last Updated Time
/Time                                           (hh:mm)
Product/LastUpdBy            Yes      1         Container
Product/LastUpdBy/Name       Yes      1         Container
Product/LastUpdBy/Name/      No       1         Text Node (50   Last Updated By User First Name
FirstName                                       chars max)
Product/LastUpdBy/Name/      No       1         Text Node (50   Last Updated By User Last Name
LastName                                        chars max)
Product/Overrides            No       1         Container       Product Override information
                                                                • Included only if the IncludeOverrides node is
                                                                present in the ProductQueryRequest


                                           95
Element Xpath                Always   Occurs    Type            Description
Product/Overrides/QuickB     No       1         Text Node       QuickBooks Sales Account Value
ookSalesAccount                                 (100 chars
                                                max)
Product/Overrides/Review     No       1         Integer Node    Review Reminder Time Delay in Days (optional)
ReminderDelay                                                   • Included only if Use Review Reminders is
                                                                enabled in Reviews/Setup/Review Reminders in
                                                                the OMS and the product Review Reminder Time
                                                                Delay has a value
Product/Overrides/Individu   No       1         Container       Included if an Individual Shipping Package
alShippingPackage                                               Override is defined at the Product level
Product/Overrides/Individu   No       1         Numeric Node    Shipping Package Length (in inches)
alShippingPackage/Length
Product/Overrides/Individu   No       1         Numeric Node    Shipping Package Width (in inches)
alShippingPackage/Width
Product/Overrides/Individu   No       1         Numeric Node    Shipping Package Height (in inches)
alShippingPackage/Height
Product/Overrides/Individu   No       1         Text Node       Shipping Package Type as defined by UPS
alShippingPackage/UPSPa
ckaging
Product/Overrides/Individu   No       1         Text Node       Shipping Package Type as defined by FedEx
alShippingPackage/FedExP
ackaging
Product/Overrides/Individu   No       1         Text Node       Shipping Package Type as defined by DHL
alShippingPackage/DHLPa
ckaging
Product/Overrides/Individu   No       1         Text Node       Shipping Package Type as defined by the USPS
alShippingPackage/USPSP
ackaging
Product/Overrides/Alcohol    No       1         Container       Included if an Alcohol Designation Override is
Designation                                                     defined at the Product level
Product/Overrides/Alcohol    Yes*     1         Numeric Node    Liters of Alcohol being Shipped
Designation/Liters
Product/Overrides/Alcohol    Yes*     1         Text Node (16   Type of Alcohol being Shipped
Designation/Type                                chars max)
Product/Overrides/Alcohol    Yes*     1         Integer Node    Number of Alcohol Packages being Shipped
Designation/PackingUnits
Product/Overrides/Alcohol    Yes*     1         Text Node (6    Alcohol Package Type Designation for Alcohol
Designation/PackingType                         chars max)      being Shipped

Product/Overrides/ShipCo     No       1         Container       If ShipCompliant processing is enabled
mpliant                                                         (Settings/Compatible Software/ShipCompliant),
                                                                this field overrides the default settings for
                                                                ShipCompliant web service.
Product/Overrides/ShipCo     Yes*     1         Text Node (50   ShipCompliant Product Key
mpliant/ProductKey                              chars max)
Product/Overrides/ShipCo     Yes*     1         Text Node (50   ShipCompliant Brand Key
mpliant/BrandKey                                chars max)
Product/Overrides/VinNow     No       1         Container       Included only if integrated with VinNow
                                                                (Settings/Compatible Software/VinNow in the
                                                                OMS)
Product/Overrides/VinNow     No       1         Text Node (50   VinNow Product Key
/ProductKey                                     chars max)
Product/Overrides/VinNow     No       1         Text Node (50   VinNow Brand Key
/BrandKey                                       chars max)


                                           96
Element Xpath                Always   Occurs    Type             Description
Product/Overrides/Inventor   No       1         Integer Node     If Inventory Control is on (Settings/Site
yWarningLevel                                                    Options/Inventory Control in the OMS), this
                                                                 field overrides the default Warning Level, which
                                                                 is the inventory level at which a notification e-
                                                                 mail is sent to the Primary Contact and any
                                                                 Secondary Contacts as defined at the User Level
Product/Overrides/Depletio   No       1         Text Node (20    Product Depletion Status (Preordered,
nStatus                                         chars max)       Backordered, Sold Out, Discontinued)
Product/Overrides/Expecte    No       1         Integer Node     The number of days within which the product is
dShippingDays                                                    expected to ship (when in stock)
                                                                 • Applicable only if Expected Shipping Time is
                                                                 on at Settings/Site Options/Expected Shipping
                                                                 Time in the OMS
                                                                 • Calendar days, business days, or shipping days
                                                                 may apply, depending on the value selected at
                                                                 Settings/Site Options/Expected Shipping Time/
Product/Overrides/InStock    No       1         Text Node        Product In Stock Message
Message                                         (200 chars       • If Expected Shipping Time is on (Settings/Site
                                                max)             Options/Expected Shipping Time in the OMS)
                                                                 this field overrides the default In Stock Message
Product/Overrides/Sharing    No       1         Currency         Product Sharing Discount Amount
Discount                                        Node
Product/Overrides/Sharing    Yes*     1         Text Attribute   Product Sharing Discount Type (Amount or
Discount @Type                                  (7 chars max)    Percent)
Product/EMailAddenda         No       1         Container        Product EMail Addenda
                                                                 • Included only if the IncludeEmailAddenda node
                                                                 is present in the ProductQueryRequest and the
                                                                 Product includes at least one E-Mail Addendum
Product/EMailAddenda/Or      No       1         Text Node        Order Confirmation E-Mail Addendum
derConfirmation
Product/EMailAddenda/Or      Yes*     1         Text Attribute   Order Confirmation E-Mail Position (Above or
derConfirmation @Position                       (5 chars max)    Below)
Product/EMailAddenda/Or      No       1         Text Node        Shipped E-Mail Addendum
derShipped
Product/EMailAddenda/Or      Yes*     1         Text Attribute   Shipped E-Mail Addendum Position (Above or
derShipped @Position                            (5 chars max)    Below)
Product/EMailAddenda/Or      No       1         Text Node        Update E-Mail Addendum
derUpdated
Product/EMailAddenda/Or      Yes*     1         Text Attribute   Update E-Mail Addendum Position (Above or
derUpdated @Position                            (5 chars max)    Below)
Product/MarketplaceOptio     No       1         Container        Product Marketplace Options
ns                                                               • Included only if the IncludeMarketplaceOptions
                                                                 node is present in the ProductQueryRequest and
                                                                 the Product includes at least one Marketplace
                                                                 Option
Product/MarketplaceOptio     No       1         Text Node 10     Product Format (Soft Cover, Hard Cover, Audio
ns/Format                                       chars max)       Book, CD, DVD, Cassette, Vinyl, VHS)
Product/MarketplaceOptio     No       1         Container        Included if a Manufacturer is defined at the
ns/Manufacturer                                                  Product level
Product/MarketplaceOptio     No       1         Text Node (50    Product Manufacturer Name
ns/Manufacturer/Manufact                        chars max)
urerName



                                           97
Element Xpath                Always   Occurs    Type             Description
Product/MarketplaceOptio     No       1         Text Node (50    Product Manufacturer Part Number
ns/Manufacturer/Manufact                        chars max)
urerPartNo
Product/MarketplaceOptio     No       1         Text Node (14    Product UPC Number
ns/UPC                                          chars max)
Product/MarketplaceOptio     No       1         Text Node (13    Product ISBN Number
ns/Manufacturer/ISBN                            chars max)
Product/SearchEngineMark     No       1         Container        Product Search Engine Options
up                                                               • Included only if the
                                                                 IncludeSearchEngineMarkup node is present in
                                                                 the ProductQueryRequest and the Product
                                                                 includes at least one Search Engine Option
Product/SearchEngineMark     No       1         Text Node        HTML Title Tag
up/TitleTag                                     (120 chars
                                                max)
Product/SearchEngineMark     No       1         Text Node        Image Alt Tag
up/ImageAltTag                                  (120 chars
                                                max)
Product/SearchEngineMark     No       1         Text Node        Meta Description
up/MetaDescription
Product/SearchEngineMark     No       1         Text Node        Meta Keywords
up/MetaKeywords
Product/RelatedProducts      No       1         Container        Related Product information
                                                                 • Included only if the IncludeRelate Products
                                                                 node is present in the ProductQueryRequest and
                                                                 the Product has Related Products
Product/RelatedProducts/R    No       1+        Container
elatedProduct
Product/RelatedProducts/R    Yes*     1         Text Node        Related Product Name
elatedProduct/Product                           (100 chars
                                                max)
Product/RelatedProducts/R    Yes*     1         Text Node (50    Related Product SKU Number
elatedProduct/SKU                               chars max)
Product/RelatedProducts/R    Yes*     1         Text Node (50    Related Product Category
elatedProduct/Category                          chars max)       • Subcategories appear as category paths
                                                                 separated by " / " (e.g. Golf Clubs / Putters). Note
                                                                 that there is a space on either side of the forward
                                                                 slash
Product/RelatedProducts/R    Yes*     1         Text Node        Related Product Relationship Value
elatedProduct/Relationship                      (255 chars
                                                max)
Product/AutomaticAddTrig     No       1         Container        Automatic Add Triggers
gers
Product/AutomaticAddTrig     Yes*     1+        Container
gers/Trigger
Product/AutomaticAddTrig     Yes*     1         Text Attribute   Automatic Add Trigger Type (Category, Coupon,
gers/Trigger @Type                                               Product, or QueryString)
Product/AutomaticAddTrig     No       1         Text Node        Automatic Add Trigger Name
gers/Trigger/Name                                                • Included if the Automatic Add Trigger Type is
                                                                 Category, Coupon, or Product
Product/AutomaticAddTrig     No       1         Text Node        Automatic Add Trigger URL Query String
gers/Trigger/Parameter                                           Parameter
                                                                 • Included if the Automatic Add Trigger Type is
                                                                 QueryString



                                           98
Element Xpath                Always   Occurs    Type             Description
Product/AutomaticAddTrig     No       1         Text Node        Automatic Add Trigger URL Query String Value
gers/Trigger/Value                                               • Included if the Automatic Add Trigger Type is
                                                                 QueryString
Product/AutomaticAddTrig     No       1         Numeric Node     Automatic Add Trigger Trigger Quantity
gers/Trigger/TriggerQty                                          • Included if the Automatic Add Trigger Type is
                                                                 Category or Product
Product/AutomaticAddTrig     Yes      1         Numeric Node     Automatic Add Trigger Add Qty
gers/Trigger/AddQty
Product/InventoryKits        No       1         Container        Inventory Kit Products/SKU's
                                                                 • Included if the product contains an Inventory
                                                                 Kit
Product/InventoryKits/KitP   Yes*     1+        Container
roduct
Product/InventoryKits/KitP   Yes*     1         Text Attribute   Inventory Kit SKU Number
roduct @SKU                                                      • Included if the Inventory Kit is defined as a
                                                                 SKU Kit
Product/InventoryKits/KitP   Yes*     1         Text Node        Inventory Kit Product Name
roduct/Product
Product/InventoryKits/KitP   Yes      1         Text Attribute   Indicates whether the Inventory Kit Product is
roduct @Level                                                    defined at the Product Level or the SKU Level
Product/InventoryKits/KitP   No       1         Text Node        Inventory Kit Product SKU number
roduct/SKU
Product/InventoryKits/KitP   No       1         Text Node        Inventory Kit Product Attribute Value
roduct/Attribute                                                 • Included if the Inventory Kit Product is defined
                                                                 at the SKU Level
Product/InventoryKits/KitP   Yes*     1         Text Attribute   Inventory Kit Product Attribute Name
roduct/Attribute @Name                                           • Included if the Inventory Kit Product is defined
                                                                 at the SKU Level
Product/InventoryKits/KitP   Yes*     1         Text Node        Inventory Kit Product Category Name
roduct/Category                                                  • Subcategories appear as category paths
                                                                 separated by " / " (e.g. Golf Clubs / Putters). Note
                                                                 that there is a space on either side of the forward
                                                                 slash
Product/InventoryKits/KitP   No       1         Integer Node     Inventory Kit Product Inventory Value
roduct/Inventory                                                 • Included only if Inventory Control is enabled at
                                                                 Settings/Site Options/Inventory Control in the
                                                                 OMS
Product/InventoryKits/KitP   Yes*     1         Integer Node     Inventory Kit Product Quantity Value
roduct/Quantity
Product/ProductReviews       No       1         Container        Product Review information
                                                                 • Included only if the IncludeReviews node is
                                                                 present in the ProductQueryRequest and the
                                                                 product has Reviews
Product/ProductReviews/Pr    No       1+        Container
oductReview
Product/ProductReviews/Pr    Yes*     1         Integer          Product Review Number
oductReview @No                                 Attribute
Product/ProductReviews/Pr    Yes*     1         Container
oductReview/ReviewDate
Product/ProductReviews/Pr    Yes*     1         Container
oductReview/ReviewDate/
DateTime
Product/ProductReviews/Pr    Yes*     1         Date Node        Product Review Date
oductReview/ReviewDate/                         (mm/dd/yyyy)
DateTime/Date


                                           99
Element Xpath               Always    Occurs   Type           Description
Product/ProductReviews/Pr   Yes*      1        Text Node      Product Review Title
oductReview/Title                              (200 chars
                                               max)
Product/ProductReviews/Pr   Yes*      1        Text Node      Product Review Value
oductReview/Review
Product/ProductReviews/Pr   Yes*      1        Integer Node   Product Review Rating
oductReview/Rating
Product/ProductQuestions    No        1        Container      Product Question information
                                                              • Included only if the Include Questions node is
                                                              present in the ProductQueryRequest and there are
                                                              Questions about the Product
Product/ProductQuestions/   Yes*      1+       Container
ProductQuestion
Product/ProductQuestions/   Yes*      1        Integer        Product Question Number
ProductQuestion @No                            Attribute
Product/ProductQuestions/   Yes*      1        Container
ProductQuestion/Question
Date
Product/ProductQuestions/   Yes*      1        Container
ProductQuestion/Question
Date/DateTime
Product/ProductQuestions/   Yes*      1        Date Node      Product Question Date
ProductQuestion/Question                       (mm/dd/yyyy)
Date/DateTime/Date
Product/ProductQuestions/   Yes*      1        Text Node      Question Value
ProductQuestion/Question
Product/ProductQuestions/   No        1        Container
ProductQuestion/Response
Date
Product/ProductQuestions/   Yes*      1        Container
ProductQuestion/Response
Date/DateTime
Product/ProductQuestions/   Yes*      1        Date Node      Date of Product Question Response
ProductQuestion/Response                       (mm/dd/yyyy)
Date/DateTime/Date
Product/ProductQuestions/   No        1        Text Node      Response to Product Question
ProductQuestion/Response
NextPage                    No        1        Empty Node     Indicates the existence of a subsequent page of
                                                              Products

ProductQueryRequest Example (without CurrentStatus node)
<?xml version="1.0" encoding="utf-8" ?>
<ProductQueryRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <ProductName>Oakley Radar Range Eyeware</ProductName>
</ProductQueryRequest>

ProductQueryReply Example (without CurrentStatus node)
<?xml version="1.0" encoding="utf-8"?>
<ProductQueryReply AccountName="fairway" Page="1">
 <Product>



                                           100
   <ProductName>Oakley Radar Range Eyeware</ProductName>
   <ProductSKU>ff079</ProductSKU>
   <ProductNo>79</ProductNo>
   <COGS>0.00</COGS>
   <Pricing Type="Single">
    <Price PercentDiscount="0">175.00</Price>
   </Pricing>
   <Weight>1.00</Weight>
   <Inventory>1000</Inventory>
   <Images>
    <Thumbnail>http://dl.dropbox.com/u/4979976/Oakleythumb.jpg</Thumbnail>
    <Main>http://dl.dropbox.com/u/4979976/Oakley.jpg</Main>
    <Large>http://dl.dropbox.com/u/4979976/oakleylarge.jpg</Large>
   </Images>
   <Categories>
    <Category No="35">
      <CategoryName>Shop By Brand / Oakley</CategoryName>
      <Primary />
    </Category>
   </Categories>
   <Status>Normal</Status>
   <Vendor>Oakley</Vendor>
   <ShipFrom>FirstFairway</ShipFrom>
   <CustomField3 Name="Cool" Type="Yes/No" />
   <Taxable>All</Taxable>
   <Visibility>All</Visibility>
   <DiscountEligible />
   <AllowDirectCheckout />
   <AllowReviews />
   <AllowQuestions />
   <ProductLink>
    <StoreFront>http://www.nexternal.com/fairway/oakley-radar-range-eyeware-p79.aspx</StoreFront>
    <DirectCheckout>http://www.nexternal.com/fairway/oakley-radar-range-eyeware-
p79direct.aspx</DirectCheckout>
   </ProductLink>
   <Description>
    <Long>Oakley Radar Range Jet Black/G30 Vented: Offering a customizable fit and the performance of
interchangeable lenses along with Hydrophobic technology to repel water and oils, RADAR is essential
equipment for serious golfers.
    </Long>
   </Description>
   <Created>
    <DateTime>
      <Date>08/24/2007</Date>
      <Time>14:15</Time>
    </DateTime>
   </Created>
   <CreatedBy>
    <Name>
      <FirstName>Demonstration</FirstName>
      <LastName>User</LastName>
    </Name>
   </CreatedBy>
   <LastUpd>
    <DateTime>
      <Date>09/05/2007</Date>


                                                101
     <Time>11:06</Time>
   </DateTime>
  </LastUpd>
  <LastUpdBy>
   <Name>
     <FirstName>Demonstration</FirstName>
     <LastName>User</LastName>
   </Name>
  </LastUpdBy>
 </Product>
</ProductQueryReply>

ProductQueryReply Schema (with CurrentStatus node)
Element Xpath              Always      Occurs   Type             Description
@AccountName               Yes         1        Text Attribute   Client's Account Name (e.g. fairway)
@Page                      Yes         1        Integer          Page number of query results
                                                Attribute
CurrentStatus              No          1        Container        Current Status of Products that fall within the
                                                                 specified query range
                                                                 • Included only if a query range is specified and
                                                                 the CurrentStatus node is present in the
                                                                 ProductQueryRequest
CurrentStatus/Product      Yes         1-       Text Node        Product Status (Normal, Preordered,
                                       2000                      Backordered, Sold Out, or Discontinued)
CurrentStatus/Product      Yes         1        Integer          Product Number
@No                                             Attribute
CurrentStatus/Product      Yes         1        Text Attribute   Product Name
@Name
CurrentStatus/Product      Yes         1        Text Attribute   Product SKU (if assigned)
@SKU
CurrentStatus/Product      Yes         1        Boolean          SKU-level inventory status (True if all SKU's
@AllSKUsAvailable                               Attribute        have one or more items in inventory, False if one
                                                                 or more SKU items has an inventory level less
                                                                 than 1)
                                                                 • Included only if inventory is assigned at the
                                                                 SKU level
NextPage                   No          1        Empty Node       Indicates the existence of a subsequent page of
                                                                 Products

ProductQueryRequest Example (with CurrentStatus node)
<?xml version="1.0" encoding="UTF-8"?>
<ProductQueryRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <ProductCreatedRange>
  <ProductCreatedDateStart>
   <DateTime>
    <Date>07/01/2007</Date>
   </DateTime>
  </ProductCreatedDateStart>
  <ProductCreatedDateEnd>
   <DateTime>



                                              102
     <Date>07/15/2007</Date>
   </DateTime>
  </ProductCreatedDateEnd>
 </ProductCreatedRange>
 <CurrentStatus />
</ProductQueryRequest>

ProductQueryReply Example (with CurrentStatus node)
<?xml version="1.0" encoding="utf-8"?>
<ProductQueryReply AccountName="fairway" Page="1">
 <CurrentStatus>
  <Product No="61" Name="Adams Insight Tour Hat" SKU="ff066">Discontinued</Product>
  <Product No="62" Name="Adams Micro-Pima Tour Shirt" SKU="ff062">Normal</Product>
  <Product No="63" Name="Callaway Game Series Golf Glove" SKU="ff063">Discontinued</Product>
  <Product No="67" Name="Cleveland HiBore XL Driver" SKU="ff067">Normal</Product>
  <Product No="60" Name="Nike Men's SP-8 Golf Shoes" SKU="ff060">Normal</Product>
  <Product No="64" Name="Nike OZ Black T130 Putter" SKU="ff064">Normal</Product>
  <Product No="59" Name="Nike Sphere Dry Polo" SKU="ff059">Normal</Product>
  <Product No="65" Name="Oakley Men's Loft Polo Shirt" SKU="ff065">Normal</Product>
  <Product No="66" Name="TaylorMade Monza Corza Putter" SKU="ff063">Normal</Product>
 </CurrentStatus>
</ProductQueryReply>




                                            103
                                  12: ProductUpdate

The ProductUpdateRequest is used to add or update product information in the OMS.
This allows you to "import" existing product data from an external system.

When updating existing product information, products may be identified by Product
Name, Product SKU, or Product Number. You can add or update product information
and settings, including Product Descriptions, Product Images and Audio, Product
Allocation, Product Overrides, Marketplace Options, Search Engine Options, Price Tiers,
Product Attributes and Options, Product SKU's, Write-In Attributes, Product
Specifications, Product Categories, and Related Products.

Product Images and Audio can be imported into the Order Management System from an
external website by specifying the file's URL via the appropriate node. The file is then
copied and stored in the client’s images folder
(http://www.nexternal.com/AccountName/images/). If the image or audio file has already
been uploaded to the client's images folder via the Order Management System or with a
prior ProductUpdate just reference the filename and extension to include it in a
ProductUpdateRequest.

Please note that adding or removing a Product Attribute, or removing a Product Option,
will cause the removal of any SKU items impacted by the change. However, restoring
the change on the Attribute or Option level will likewise restore the affected SKU Items.
Please note also that the ProductUpdateRequest may not be used to delete Products.

For each successful add and/or update the ProductUpdateReply will return a Product
container with the Product Name, Product Number, a Status container outlining the
general operations that were performed, and any warnings or logical errors (e.g. Product
Taxable has been set to "State" but no taxable states have been defined) that occurred
during the update process.

The ForceProceed node in the ProductUpdateRequest forces the tool to proceed with
valid product updates even if there is invalid update request. In such a scenario the
corresponding Product container for the invalid request(s) in the ProductUpdateReply
will contain the Error XML elements specified in Chapter 14 (Errors) in lieu of the
elements specified in the ProductUpdateReply schema. If the ForceProceed node is not
included in the ProductUpdateRequest any invalid Product container will result in the
failure of all subsequent Product container(s) in the request.

A single ProductUpdateRequest may contain no more than 15 Product containers, and
each Product container may contain no more than 100 SKUItem containers. If you wish
to update more than 15 products or a product with more than 100 SKU items you must do
so in an iterative manner.

ProductUpdateRequest URL:
https://www.nexternal.com/shared/xml/productupdate.rest


                                           104
ProductUpdateRequest Schema
Element Xpath               Required   Occurs     Type             Description
Credentials                 Yes        1          Container
Credentials/AccountName     Yes        1          Text Node (10    Client's Account Name (e.g. fairway)
                                                  chars max)
Credentials/Key             Yes        1          Text Node (20    Client's XML Key
                                                  chars)
Product                     Yes        1 - 15     Container
Product @Mode               Yes        1          Text Attribute   Update Mode (Add or Update)
                                                  (6 chars max)
Product @MatchingField      No         1          Text Attribute   Indicates which node in the query will be used to
                                                  (10 chars max)   match an existing product (ProductNo,
                                                                   ProductName, or ProductSKU)
                                                                   • Optional if Mode="Add"; If this field is
                                                                   included and a product match is found, the
                                                                   existing product is used, and Mode switches to
                                                                   Update
                                                                   • Required if Mode="Update"
Product/ProductNo           No         1          Integer Node     Product Number (for matching purposes)
                                                                   • Required if MatchingField="ProductNo"
                                                                   • If Mode="Add" and a product match is found,
                                                                   the Mode will be changed to "Update"
Product/ProductName         No         1          Text Node        Product Name
                                                  (100 chars       • Required if MatchingField="ProductName"
                                                  max)             • If Mode="Add" and a product match is found,
                                                                   the Mode will be changed to "Update"
Product/ProductSKU          No         1          Text Node (50    Product-Level SKU
                                                  chars max)       • Required if MatchingField="ProductSKU"
                                                                   • If Mode="Add" and a product match is found,
                                                                   the Mode will be changed to "Update"
Product/COGS                No         1          Currency         Cost Of Goods Sold
                                                  Node             • Include only if COGS is defined at the Product
                                                                   level
Product/Pricing             No         1          Container        For Pricing at the Product level only
Product/Pricing @Display    No         1          Text Attribute   Display Product Price (Yes or No; default value:
                                                  (3 chars max)    Yes)
Product/Pricing/Level       No         1          Text Node (8     Product Pricing Level (Single, Category, Volume,
                                                  chars max)       or Bid; default value: Single)
Product/Pricing/Detail      No         1          Text Node (5     Product Price Detail level (None or Table; default
                                                  chars max)       value: Table)
Product/Pricing/Price       Yes*       1+         Container
Product/Pricing/Price/Qty   No         1          Integer/Empty    Price Quantity level (for Category or Volume
                                                  Node             Pricing)
                                                                   • If Price/Qty and Price/Erase are specified the
                                                                   Category or Volume price matching Price/Qty
                                                                   will be removed
                                                                   • If Price/Qty is not specified and Price/Erase is
                                                                   specified all pricing information for Category or
                                                                   Volume will be removed




                                                105
Element Xpath                 Required   Occurs   Type             Description
Product/Pricing/Price/Cust    No         1        Text Node        Customer Type Name (from Customer/Types in
omerType                                                           the OMS or "Default" for the default Product
                                                                   Price)
                                                                   • If Price/Qty, Price/CustomerType, and
                                                                   Price/Erase are specified the price matching
                                                                   Price/Qty and Price/CustomerType will be
                                                                   removed
                                                                   • If Price/Qty is not specified and both
                                                                   Price/CustomerType and Price/Erase are specified
                                                                   all quantity and pricing information that matches
                                                                   Price/CustomerType will be removed
Product/Pricing/Price/Disc    No         1        Currency/Perc    Price Discount value
ount                                              ent Node
Product/Pricing/Price/Disc    Yes*       1        Text Attribute   Indicates type of Price Discount specified
ount @Option                                      (8 chars max)    (Amount or Percent)
Product/Pricing/Price/Amo     Yes*       1        Currency         Product Price
unt                                               Node
Product/Pricing/Price/Erase   No         1        Empty Node       Removes prices that match the Pricing Level, the
                                                                   Price/Qty, and/or the Price/CustomerType
                                                                   • If Pricing Level is "Single" and neither
                                                                   Price/Qty or Price/CustomerType is specified all
                                                                   pricing information for the Product will be
                                                                   removed
                                                                   • Ignored if Mode="Add"
Product/Weight                No         1        Numeric Node     Product Weight (in pounds)
                                                                   • Include only if Weight is defined at the Product
                                                                   level
Product/OrderQty              No         1        Container        For Minimum / Maximum Order Quantities at the
                                                                   Product level only
Product/OrderQty/MinQty       No         1        Integer Node     Minimum Order Quantity
Product/OrderQty/MaxQty       No         1        Integer Node     Maximum Order Quantity
Product/OrderQty/Erase        No         1        Empty Node       Removes the Minimum and Maximum Order
                                                                   Quantities
                                                                   • Ignored if Mode="Add"
Product/ExpectedInStock       No         1        Container        For Expected In Stock Date at the Product level
                                                                   only
                                                                   • Applicable only if the Product Status is
                                                                   Backordered, Preordered, or Sold Out; and
                                                                   Expected Shipping Time is in use (Settings/Site
                                                                   Options in the OMS)
Product/ExpectedInStock/      Yes*       1        Container
DateTime
Product/ExpectedInStock/      Yes*       1        Date/Empty       Expected In Stock Date
DateTime/Date                                     Node
                                                  (mm/dd/yyyy)
Product/ExpectedInStock/E     No         1        Empty Node       Removes the Product Expected In Stock date
rase                                                               • Ignored if Mode="Add"
Product/Inventory             No         1        Container        For Inventory defined at the Product level only
                                                                   • Include only if Inventory Control is enabled at
                                                                   Settings/Site Options/Inventory Control in the
                                                                   OMS, and Inventory Level is None, Product, or
                                                                   Kit
Product/Inventory/Level       No         1        Text Node (7     Product Inventory Level (None, Product, or Kit;
                                                  chars max)       default value: Product)



                                              106
Element Xpath                Required   Occurs   Type             Description
Product/Inventory/Qty        No         1        Integer Node     Product Inventory quantity (default specified at
                                                                  Settings/Inventory Control in the OMS)
Product/Inventory/Inventor   No         1        Container        For Inventory Level of Kit
yKit
Product/Inventory/Inventor   Yes*       1+       Container
yKit/KitProduct
Product/Inventory/Inventor   Yes*       1        Text Node        Inventory Kit Product Name
yKit/KitProduct/ProductNa                        (100 chars
me                                               max)
Product/Inventory/Inventor   No         1        Text Attribute   Inventory Kit SKU-level SKU Number (for
yKit/KitProduct/ProductNa                        (50 chars max)   matching purposes)
me @SKU
Product/Inventory/Inventor   No         1        Text Node (50    Inventory Kit Product-level SKU number (for
yKit/KitProduct/ProductSK                        chars max)       matching purposes)
U
Product/Inventory/Inventor   No         1+       Text Node (50    Inventory Kit Product Attribute Value (for
yKit/KitProduct/Attribute                        chars max)       matching purposes)
Product/Inventory/Inventor   No         1        Text Attribute   Inventory Kit Product Attribute Name (for
yKit/KitProduct/Attribute                        (50 chars max)   matching purposes)
@Name
Product/Inventory/Inventor   Yes*       1        Integer Node     Inventory Kit Product quantity
yKit/KitProduct/Qty
Product/Inventory/Inventor   No         1        Empty Node       Remove the Product Inventory Kit that matches
yKit/KitProduct/Erase                                             KitProduct/ProductName
                                                                  • Ignored if Mode="Add"
Product/ShippingRates        No         1        Container        For overriding the Shipping Rates at the Product
                                                                  level; or defining Shipping Rates at the Product
                                                                  level (Settings/Shipping in the OMS) when
                                                                  Shipping Cost Calculation is UNIT
Product/ShippingRates/Era    No         1        Empty Node       Removes all Shipping Option overrides for the
se                                                                Product
                                                                  • Ignored if Mode="Add"
Product/ShippingRates/Zon    No         1+       Container
e
Product/ShippingRates/Zon    Yes*       1        Integer          Shipping Zone Number (1 – 100)
e @ID                                            Attribute        • Zones are defined at Settings Shipping in the
                                                                  OMS
Product/ShippingRates/Zon    No         1        Empty Node       Removes all Shipping Option overrides that
e/Erase                                                           match ShippingRates/Zone @ID
                                                                  • Ignored if Mode="Add"
Product/ShippingRates/Zon    No         1+       Container
e/ShippingOption
Product/ShippingRates/Zon    Yes*       1        Text Node        Shipping Method
e/ShippingOption/ShipMet
hod
Product/ShippingRates/Zon    No         1        Currency         Shipping Rate
e/ShippingOption/ShipRate                        Node             • Required unless the Erase node is present
Product/ShippingRates/Zon    No         1        Empty Node       Removes the Shipping Option override that
e/ShippingOption/Erase                                            matches ShippingOption/ShipMethod
                                                                  • Ignored if Mode="Add"
Product/Allocation           No         1        Container
Product/Allocation           No         1        Text Attribute   Enable or disable Product Allocation (Yes or No;
@Enabled                                         (3 chars max)    default value: Yes, if container is present)
Product/Allocation/StartDa   No         1        Container
te


                                             107
Element Xpath                Required   Occurs   Type             Description
Product/Allocation/StartDa   Yes*       1        Container
te/DateTime
Product/Allocation/StartDa   Yes*       1        Date/Empty       Allocation Start Date
te/DateTime/Date                                 Node
                                                 (mm/dd/yyyy)
Product/Allocation/EndDat    No         1        Container
e
Product/Allocation/EndDat    Yes*       1        Container
e/DateTime
Product/Allocation/EndDat    Yes*       1        Date/Empty       Allocation End Date
e/DateTime/Date                                  Node
                                                 (mm/dd/yyyy)
Product/Allocation/Custom    No         1        Container
erTypes
Product/Allocation/Custom    Yes*       1+       Container
erTypes/CustomerType
Product/Allocation/Custom    Yes*       1        Text Node (20    Product-level Allocation Customer Type Name
erTypes/CustomerType/Na                          chars max)       (from Customer/Types in the OMS)
me
Product/Allocation/Custom    Yes*       1        Integer Node     Product-level Allocation Quantity
erTypes/CustomerType/Qt
y
Product/Images               No         1        Container        For Images that are defined at the Product level,
                                                                  or if the Product uses an Image Gallery
Product/Images/Audio         No         1        Text/URL/Em      Indicates either the name of an existing audio file
                                                 pty Node         (Text Node) or the URL of an external audio file
                                                                  to import (URL Node)
Product/Images/Audio         No         1        Text Attribute   Audio Clip Repetition (Once, Continuous, or an
@Repetition                                      (10 chars max)   integer value; default value: Once)
Product/Images/Thumbnail     No         1        Text/URL/Em      Indicates either the name of a existing image file
                                                 pty Node         (Text Node) or the URL of an external image file
                                                                  to import (URL Node)
Product/Images/Thumbnail     No         1        Integer          Image Scale size (in pixels)
@Scale                                           Attribute
Product/Images/Thumbnail     No         1        Text Attribute   Image Scale Dimension (None, Width, or Height)
@Dimension                                       (6 chars max)    • Required if Thumbnail @Scale is used
                                                                  • Use Dimension="None" to remove an existing
                                                                  Image Scale
Product/Images/Main          No         1        Text/URL/Em      Indicates either the name of a existing image file
                                                 pty Node         (Text Node) or the URL of an external image file
                                                                  to import (URL Node)
Product/Images/Main          No         1        Integer          Image Scale size (in pixels)
@Scale                                           Attribute
Product/Images/Main          No         1        Text Attribute   Image Scale Dimension (None, Width, or Height)
@Dimension                                       (6 chars max)    • Required if Main @Scale is used
                                                                  • Use Dimension="None" to remove an existing
                                                                  Image Scale
Product/Images/Large         No         1        Text/URL/Em      Indicates either the name of a existing image file
                                                 pty Node         (Text Node) or the URL of an external image file
                                                                  to import (URL Node)
Product/Images/Large         No         1        Integer          Image Scale size (in pixels)
@Scale                                           Attribute




                                             108
Element Xpath                 Required   Occurs   Type             Description
Product/Images/Large          No         1        Text Attribute   Image Scale Dimension (None, Width, or Height)
@Dimension                                        (6 chars max)    • Required if Large @Scale is used
                                                                   • Use Dimension="None" to remove an existing
                                                                   Image Scale
Product/Images/Gallery        No         1        Container
Product/Images/Gallery/Im     No         1+       Container
age
Product/Images/Gallery/Im     No         1        Text/URL         Indicates either the name of a existing image file
age/Thumbnail                                     Node             (Text Node) or the URL of an external image file
                                                                   to import (URL Node)
Product/Images/Gallery/Im     No         1        Text/URL         Indicates either the name of a existing image file
age/Main                                          Node             (Text Node) or the URL of an external image file
                                                                   to import (URL Node)
Product/Images/Gallery/Im     No         1        Text/URL/Em      Indicates either the name of a existing image file
age/Large                                         pty Node         (Text Node) or the URL of an external image file
                                                                   to import (URL Node)
Product/Images/Gallery/Im     No         1        Empty Node       Indicates that the Gallery Image is the default
age/Default
Product/Images/Gallery/Im     No         1        Empty Node       Removes the Product Gallery images that match
age/Erase                                                          Gallery/Image/Thumbnail, Gallery/Image/Main,
                                                                   and Gallery/Image/Large
                                                                   • Ignored if Mode="Add"
Product/Images/Erase          No         1        Empty Node       Remove all Product Audio, Image, and Gallery
                                                                   Image files
                                                                   • Ignored if Mode="Add"
Product/Images/Thumbnail      No         1        Text Node (3     Display only the Product Thumbnail in the
Only                                              chars max)       Product List (Yes or No; default value: No)
Product/Categories            No         1        Container
Product/Categories/Categor    Yes*       1+       Container        At least one Category is required if Mode="Add",
y                                                                  and one Category/Default node must be present in
                                                                   the query
Product/Categories/Categor    Yes*       1        Text Node        Product Category Name
y/Name                                                             • Subcategories appear as category paths
                                                                   separated by " / " (e.g. Golf Clubs / Putters). Note
                                                                   that there is a space on either side of the forward
                                                                   slash
Product/Categories/Categor    No         1        Empty Node       Include to create a new category, subcategory, or
y/AllowAdd                                                         category tree if no match is found with an existing
                                                                   category and/or subcategory
                                                                   • As a general rule this node should only be used
                                                                   with new products that do not have an existing
                                                                   category in the OMS
Product/Categories/Categor    No         1        Empty Node       Indicates the Primary Category for the Product
y/Primary
Product/Categories/Categor    No         1        Empty Node       Removes the Product Category that matches the
y/Erase                                                            Category/Name
                                                                   • Ignored if Mode="Add"
Product/Attributes            No         1        Container        For defining Attributes and Options used to create
                                                                   SKU-level Products
Product/Attributes/Attribut   Yes*       1+       Container
e
Product/Attributes/Attribut   Yes*       1        Text Attribute   Product Attribute Name
e @Name                                           (50 chars max)




                                              109
Element Xpath                 Required   Occurs   Type             Description
Product/Attributes/Attribut   No         1        Text Attribute   Specifies the name of an existing Attribute that
e/Name @Overwrites                                (50 chars max)   this Attribute should overwrite
                                                                   • If you rename an attribute, the change may
                                                                   affect existing orders. Thus, if a product has
                                                                   orders, it is preferable to remove obsolete
                                                                   attributes and add new ones as needed, than to
                                                                   rename existing ones.
                                                                   • Ignored if Mode="Add"
Product/Attributes/Attribut   Yes*       1+       Text Node (50    Product Attribute Option value (i.e. the name of
e/Option                                          chars max)       the attribute option)
Product/Attributes/Attribut   No         1        Text/Empty       Gallery Main Image filename and file extension
e/Option                                          Attribute (50    as displayed in the OMS Products / Images / Edit
@GalleryMainImage                                 chars max)       Images and Audio screen
                                                                   • Applicable only if the Product uses an Image
                                                                   Gallery and this Option is associated with an
                                                                   existing Gallery Main Image from the Product
                                                                   Image Gallery
Product/Attributes/Attribut   No         1        Text Attribute   Specifies the name of an existing Option that this
e/Option @Overwrites                              (50 chars max)   Option should overwrite
                                                                   • If you rename an option, the change may affect
                                                                   existing orders. Thus, if a product has orders, it is
                                                                   preferable to remove obsolete options and add
                                                                   new ones as needed, than to rename existing ones.
                                                                   • Ignored if Mode="Add"
Product/Attributes/Attribut   No         1        Empty Node       Removes the Product Attribute or Attribute
e/Erase                                                            Option that matches Attribute/Name and any
                                                                   declared Attribute/Option(s)
                                                                   • Ignored if Mode="Add"
Product/WriteIns              No         1        Container
Product/WriteIns/WriteIn      Yes*       1+       Container
Product/WriteIns/WriteIn      Yes*       1        Text Attribute   Write-In Attribute Name
@Name                                             (50 chars max)   • Required if Mode="Add"
Product/WriteIns/WriteIn/     No         1        Text Attribute   Specifies the name of an existing Write-In
Name @Overwrites                                  (50 chars max)   Attribute that this Write-In Attribute should
                                                                   overwrite
                                                                   • Ignored if Mode="Add"
Product/WriteIns/WriteIn/     Yes*       1        Text Node (10    Write-In Attribute Type (Text, TextArea, or
EntryType                                         chars max)       Checkbox)
                                                                   • Required if Mode="Add"
Product/WriteIns/WriteIn/     No         1        Integer          Number of Lines for Text Area Write-In Attribute
EntryType @Lines                                  Attribute        • Applicable only if EntryType is TextArea
Product/WriteIns/WriteIn/     No         1        Integer          Write-In Maximum Characters
EntryType @Length                                 Attribute
Product/WriteIns/WriteIn/     Yes*       1        Text Node        Write-In Attribute Allowed Values (all types of
AllowedValues                                                      input; only letters, numbers, and spaces; only
                                                                   letters and numbers; only letters and spaces; only
                                                                   letters; only numbers; only whole numbers; only
                                                                   positive numbers and zero; only positive
                                                                   numbers; only positive whole numbers and zero;
                                                                   only positive whole numbers; none)
Product/WriteIns/WriteIn/     Yes*       1        Text Node (10    Write-In Attribute Required Field (Yes, No, or
Required                                          chars max)       Charge)
                                                                   • Required if Mode="Add"




                                              110
Element Xpath                Required   Occurs   Type             Description
Product/WriteIns/WriteIn/    No         1        Currency         Write-In Attribute Additional Charge
AdditionalCharge                                 Node             • Applicable only if, and required if,
                                                                  WriteIn/Required is "Charge"
Product/WriteIns/WriteIn/    No         1        Text Attribute   Removes the Write-In Attribute that matches
Erase                                            (50 chars max)   WriteIn/Name
                                                                  • Ignored if Mode="Add"
Product/Specifications       No         1        Container
Product/Specifications/Spe   Yes*       1+       Container
cification
Product/Specifications/Spe   Yes*       1        Text Node        Product Specification Name
cification/Name                                  (100 chars
                                                 max)
Product/Specifications/Spe   No         1        Text Node        Specifies the name of an existing Specification
cification @Name                                 (100 chars       that this Specification should overwrite
@Overwrites                                      max)             • Ignored if Mode="Add"
Product/Specifications/Spe   No         1        Text Node        Specification Value
cification/Value                                 (255 chars
                                                 max)
Product/Specifications/Spe   No         1        Empty Node       Removes the Product Specification that matches
cification/Erase                                                  Specification/Name
                                                                  • Ignored if Mode="Add"
Product/Status               No         1        Text Node (17    Product Status (Normal, Backordered,
                                                 chars max)       Preordered, Sold Out, or Discontinued; default
                                                                  value: Normal)
Product/Vendor               No         1        Text/Empty       Vendor Internal Name
                                                 Node (75 chars
                                                 max)
Product/ShipFrom             No         1        Container
Product/ShipFrom/Internal    Yes*       1        Text/Empty       Product Ship From Internal Name (defaults to the
Name                                             Node (50 chars   address used in Settings / General Information
                                                 max)             from the OMS)
Product/CustomField1         No         1        Text/Integer/N   Product Custom Field #1 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"
Product/CustomField1         Yes*       1        Text Attribute   Product Custom Field #1 Type (Text, Positive
@Type                                            (16 chars max)   Number, Positive Integer, Currency, Date,
                                                                  Yes/No)
Product/CustomField2         No         1        Text/Integer/N   Product Custom Field #2 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"
Product/CustomField2         Yes*       1        Text Attribute   Product Custom Field #2 Type (Text, Positive
@Type                                            (16 chars max)   Number, Positive Integer, Currency, Date, or
                                                                  Yes/No)
Product/CustomField3         No         1        Text/Integer/N   Product Custom Field #3 Value
                                                 umeric/Curren    • Node Type depends on Field Type of Custom
                                                 cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                 Node             be either "Yes" or "No"
Product/CustomField3         Yes*       1        Text Attribute   Product Custom Field #3 Type (Text, Positive
@Type                                            (16 chars max)   Number, Positive Integer, Currency, Date, or
                                                                  Yes/No)




                                             111
Element Xpath               Required   Occurs   Type             Description
Product/CustomField4        No         1        Text/Integer/N   Product Custom Field #4 Value
                                                umeric/Curren    • Node Type depends on Field Type of Custom
                                                cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                Node             be either "Yes" or "No"
Customer/CustomField4       Yes*       1        Text Attribute   Product Custom Field #4 Type (Text, Positive
@Type                                           (16 chars max)   Number, Positive Integer, Currency, Date, or
                                                                 Yes/No)
Product/CustomField5        No         1        Text/Integer/N   Product Custom Field #5 Value
                                                umeric/Curren    • Node Type depends on Field Type of Custom
                                                cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                Node             be either "Yes" or "No"
Product/CustomField5        Yes*       1        Text Attribute   Product Custom Field #5 Type (Text, Positive
@Type                                           (16 chars max)   Number, Positive Integer, Currency, Date, or
                                                                 Yes/No)
Product/CustomField6        No         1        Text/Integer/N   Product Custom Field #6 Value
                                                umeric/Curren    • Node Type depends on Field Type of Custom
                                                cy/Date/Empty    Field. For Field Type "Yes/No" the value must
                                                Node             be either "Yes" or "No"
Product/CustomField6        Yes*       1        Text Attribute   Product Custom Field #6 Type (Text, Positive
@Type                                           (16 chars max)   Number, Positive Integer, Currency, Date, or
                                                                 Yes/No)
Product/Taxable             Yes        1        Text Node (5     Product Taxability (All, None, or State; default
                                                chars max)       value: None)
Product/Taxable @States     No         1        Text Attribute   For Product Taxability of State, this attribute
                                                                 contains a comma-delimited list of taxable states
                                                                 (e.g. States="CA, NV, NY")
Product/Visibility          Yes        1        Text Node (20    Product Visibility (All, BtoB, BtoC, Internal,
                                                chars max)       None, or Type; default value: All)
Product/Visibility @Types   No         1        Text Attribute   For Product Visibility of Type, this attribute
                                                                 contains a comma-delimited list of Customer
                                                                 Types with visibility (from Customer/Types in
                                                                 the OMS)
Product /Expedited          No         1        Empty Node       Indicates that the product requires Expedited
                                                                 Shipping
Product/Restricted          No         1        Empty Node       Indicates that the product is Restricted
Product/Required            No         1        Empty Node       Indicates that the product is Required
Product/AllowDiscounts      No         1        Empty Node       Indicates that the product is eligible for Category
                                                                 Discounts, Order Discounts, and Customer
                                                                 Discounts
Product/AllowDirectCheck    No         1        Empty Node       Indicates that Direct Checkout is available
out                                                              • Applicable only if the Direct Checkout option
                                                                 (Settings/Site Option/Direct Checkout in the
                                                                 OMS) is on; Product Visibility is All, BtoC, or
                                                                 Type (with the Default Customer Type included);
                                                                 and Product Status is Normal, Backordered, or
                                                                 Preordered
Product/AllowQuestions      No         1        Empty Node       Indicates that the product allows Questions
                                                                 • Applicable only if Product Questions are
                                                                 allowed at Questions/Setup in the OMS
Product/AllowReviews        No         1        Empty Node       Indicates that the product is Reviewable
                                                                 • Applicable only if Reviews are activated in the
                                                                 OMS
Product/LinkElevation       No         1        Empty Node       Indicates that Product Link Elevation applies to
                                                                 the product



                                            112
Element Xpath                Required   Occurs    Type             Description
Product/CustomerTypeUpg      No         1         Text Node        Customer Type Upgrade (from Customers/Types
rade                                                               in the OMS)
Product/Description          No         1         Container
Product/Description/Short    No         1         Text/Empty       Product Short Description
                                                  Node (255
                                                  chars max)
Product/Description/Long     No         1         Text/Empty       Product Long Description
                                                  Node
Product/Description/Intern   No         1         Text/Empty       Product Internal Memo
al                                                Node
Product/Description/Keyw     No         1         Text/Empty       Product Search Keywords
ords                                              Node
Product/Description/Erase    No         1         Empty Node       Removes all Product Description values
                                                                   • Ignored if Mode="Add"
Product/SKUItems             No         1         Container        Include only if the Product has SKU-level items
Product/SKUItems/PriceDe     No         1         Container
tail
Product/SKUItems/PriceDe     Yes*       1         Text Attribute   SKU Price Detail level (None, Table, or Message;
tail @Detail                                      (7 chars max)    default value: Table)
Product/SKUItems/PriceDe     Yes*       1         Container
tail/Messages
Product/SKUItems/PriceDe     Yes*       1+        Text Node        SKU Price Detail Message value
tail/Messages/Message                                              • Applicable only if SKUItems/PriceDetail
                                                                   @Detail="Message"
Product/SKUItems/PriceDe     No         1         Text Attribute   SKU Price Detail Message Customer Type for
tail/Messages/Message                                              Customer-Based Pricing (from Customer/Types
@CustomerType                                                      in the OMS or "Default" for the Default
                                                                   PriceDetail Message)
Product/SKUItems/SKUIte      Yes*       1 - 100   Container
m
Product/SKUItems/SKUIte      No         1         Text Attribute   SKU-level SKU value
m @SKU                                            (50 chars max)
Product/SKUItems/SKUIte      No         1         Container        Include the Attribute Name/Value pair(s) only if a
m/Attributes                                                       Product SKU number has not been assigned
                                                                   • Used for SKU-level matching only
Product/SKUItems/SKUIte      Yes*       1+        Container        SKU Attribute value (i.e. Option Name, as
m/Attributes/Attribute                                             defined in Product/Attributes/Attribute/Option)
Product/SKUItems/SKUIte      Yes*       1         Text Attribute   SKU Attribute Name (as defined in
m/Attributes/Attribute                            (50 chars max)   Product/Attributes/Attribute)
@Name
Product/SKUItems/SKUIte      No         1         Currency         SKU Cost Of Goods Sold
m/COGS                                            Node             • Include only if COGS is defined at the SKU
                                                                   level
Product/SKUItems/SKUIte      No         1         Container        For Pricing at the SKU level only
m/Pricing
Product/SKUItems/SKUIte      No         1         Text Attribute   Display SKU Price (Yes or No; default value:
m/Pricing @Display                                (3 chars max)    Yes)
Product/SKUItems/SKUIte      Yes*       1+        Container
m/Pricing/Price
Product/SKUItems/SKUIte      No         1         Text Node        Customer Type Name (from Customer/Types in
m/Pricing/Price/CustomerT                                          the OMS or "Default" for the default SKU Price)
ype                                                                • If Price/CustomerType and Price/Erase are
                                                                   specified all pricing information that matches
                                                                   Price/CustomerType will be removed



                                              113
Element Xpath               Required   Occurs     Type             Description
Product/SKUItems/SKUIte     No         1          Currency/Perc    SKU Price Discount value
m/Pricing/Price/Discount                          ent Node
Product/SKUItems/SKUIte     Yes*       1          Text Attribute   Indicates type of Price Discount specified
m/Pricing/Price/Discount                          (8 chars max)    (Amount or Percent)
@Option
Product/SKUItems/SKUIte     Yes*       1          Currency         Price Value
m/Pricing/Price/Amount                            Node
Product/SKUItems/SKUIte     No         1          Empty Node       Removes all pricing information for this SKU
m/Pricing/Price/Erase                                              • Ignored if Mode="Add"
Product/SKUItems/SKUIte     No         1          Numeric Node     SKU Weight (in pounds)
m/Weight                                                           • Include only if Weight is defined at the SKU
                                                                   level
Product/SKUItems/SKUIte     No         1          Container        For Minimum / Maximum Order Quantities at the
m/OrderQty                                                         SKU level only
Product/SKUItems/SKUIte     No         1          Integer Node     SKU Minimum Order Quantity
m/OrderQty/MinQty
Product/SKUItems/SKUIte     No         1          Integer Node     SKU Maximum Order Quantity
m/OrderQty/MaxQty
Product/SKUItems/SKUIte     No         1          Empty Node       Removes the Minimum and Maximum Order
m/OrderQty/Erase                                                   Quantities for this SKU
                                                                   • Ignored if Mode="Add"
Product/SKUItems/SKUIte     No         1          Container        Applicable only if both Inventory Control and
m/ExpectedInStock                                                  Expected Shipping Time are on (Settings/Site
                                                                   Options in the OMS); Inventory is defined at the
                                                                   SKU level; and the SKU’s Inventory is zero or
                                                                   negative
Product/SKUItems/SKUIte     Yes*       1          Container
m/ExpectedInStock/DateTi
me
Product/SKUItems/SKUIte     Yes*       1          Date/Empty       SKU Expected In Stock Date
m/ExpectedInStock/DateTi                          Node
me/Date                                           (mm/dd/yyyy)
Product/SKUItems/SKUIte     No         1          Empty Node       Removes the SKU Expected In Stock date
m/ExpectedInStock/Erase                                            • Ignored if Mode="Add"
Product/SKUItems/SKUIte     No         1          Container        For Inventory at the SKU level only
m/Inventory                                                        • Applicable only if Inventory Control is on
                                                                   (Settings/Site Options in the OMS); and
                                                                   Inventory is defined at the SKU or SKU Kit level
Product/SKUItems/SKUIte     No         1          Text Node (7     SKU Inventory Level (SKU or SKU Kit; default
m/Inventory/Level                                 chars max)       value: SKU)
Product/SKUItems/SKUIte     No         1          Integer Node     SKU Inventory quantity (default value is taken
m/Inventory/Qty                                                    from OMS Settings / Inventory Control / Default
                                                                   Inventory)
Product/SKUItems/SKUIte     No         1          Container
m/Inventory/InventoryKit
Product/SKUItems/SKUIte     Yes*       1 - 10     Container
m/Inventory/InventoryKit/
KitProduct
Product/SKUItems/SKUIte     Yes*       1          Text Node        Inventory SKU Kit Product Name
m/Inventory/InventoryKit/                         (100 chars
KitProduct/ProductName                            max)
Product/SKUItems/SKUIte     No         1          Text Attribute   Inventory SKU Kit SKU Number
m/Inventory/InventoryKit/                         (50 chars max)
KitProduct/ProductName
@SKU


                                                114
Element Xpath               Required   Occurs   Type             Description
Product/SKUItems/SKUIte     No         1        Text Node (50    Inventory SKU Kit Product SKU number
m/Inventory/InventoryKit/                       chars max)
KitProduct/ProductSKU
Product/SKUItems/SKUIte     No         1+       Text Node (50    Inventory SKU Kit Product Attribute Value
m/Inventory/InventoryKit/                       chars max)
KitProduct/Attribute
Product/SKUItems/SKUIte     No         1        Text Attribute   Inventory SKU Kit Product Attribute Name
m/Inventory/InventoryKit/                       (50 chars max)
KitProduct/Attribute
@Name
Product/SKUItems/SKUIte     Yes*       1        Integer Node     Inventory SKU Kit Product quantity
m/Inventory/InventoryKit/
KitProduct/Qty
Product/SKUItems/SKUIte     No         1        Empty Node       Removes the SKU Inventory Kit that matches
m/Inventory/InventoryKit/                                        KitProduct/ProductName
KitProduct/Erase                                                 • Ignored if Mode="Add"
Product/SKUItems/SKUIte     No         1        Container        For overriding the Shipping Rates at the SKU
m/ShippingRates                                                  level; or defining Shipping Rates at the SKU level
                                                                 (Settings/Shipping in the OMS) when Shipping
                                                                 Cost Calculation is UNIT
Product/SKUItems/SKUIte     No         1        Empty Node       Removes all Shipping Option overrides for the
m/ShippingRates/Erase                                            SKU
                                                                 • Ignored if Mode="Add"
Product/SKUItems/SKUIte     No         1+       Container
m/ShippingRates/Zone
Product/SKUItems/SKUIte     Yes*       1        Integer          Shipping Zone Number to be overridden (1 –
m/ShippingRates/Zone                            Attribute        100)
@ID                                                              • See Settings / Shipping in the OMS for the
                                                                 number of defined zones
Product/SKUItems/SKUIte     No         1        Empty Node       Removes all Shipping Option overrides that
m/ShippingRates/Zone/Era                                         match ShippingRates/Zone @ID
se                                                               • Ignored if Mode="Add"
Product/SKUItems/SKUIte     No         1+       Container
m/ShippingRates/Zone/Shi
ppingOption
Product/SKUItems/SKUIte     Yes*       1        Text Node        Shipping Method to be overridden
m/ShippingRates/Zone/Shi
ppingOption/ShipMethod
Product/SKUItems/SKUIte     Yes*       1        Currency         Shipping Rate to be overridden
m/ShippingRates/Zone/Shi                        Node
ppingOption/ShipRate
Product/SKUItems/SKUIte     No         1        Empty Node       Removes the Shipping Option override that
m/ShippingRates/Zone/Shi                                         matches ShippingRates/Zone
ppingOption/Erase                                                @ID/ShippingOption/Method
                                                                 • Ignored if Mode="Add"
Product/SKUItems/SKUIte     No         1        Container
m/Allocation
Product/SKUItems/SKUIte     No         1        Container
m/Allocation/CustomerTyp
es
Product/SKUItems/SKUIte     Yes*       1+       Container
m/Allocation/CustomerTyp
es/CustomerType




                                            115
Element Xpath                Required   Occurs   Type             Description
Product/SKUItems/SKUIte      Yes*       1        Text Node (20    SKU-level Allocation Customer Type Name
m/Allocation/CustomerTyp                         chars max)       (from Customer/Types in the OMS)
es/CustomerType/Name
Product/SKUItems/SKUIte      Yes*       1        Integer Node     SKU-level Allocation Quantity
m/Allocation/CustomerTyp
es/CustomerType/Qty
Product/SKUItems/SKUIte      No         1        Container        For Images defined at the SKU level only
m/Images
Product/SKUItems/SKUIte      No         1        Text/URL/Em      Indicates either the name of a existing image file
m/Images/Main                                    pty Node         (Text Node) or the URL of an external image file
                                                                  to import (URL Node)
Product/SKUItems/SKUIte      No         1        Text/URL/Em      Indicates either the name of a existing image file
m/Images/Large                                   pty Node         (Text Node) or the URL of an external image file
                                                                  to import (URL Node)
Product/SKUItems/SKUIte      No         1        Container        Include only if integrated with VinNow
m/VinNow                                                          (Settings/Compatible Software/VinNow in the
                                                                  OMS)
Product/SKUItems/SKUIte      No         1        Text Attribute   VinNow SKU-level Product Key
m/VinNow/Key                                     (50 chars max)
Product/SKUItems/SKUIte      No         1        Empty Node       Indicates the default SKU for the Product
m/Default
Product/SKUItems/SKUIte      No         1        Empty Node       Indicates the SKU is no longer available
m/Erase                                                           • Ignored if Mode="Add"
Product/Overrides            No         1        Container
Product/Overrides/QuickB     No         1        Text/Empty       QuickBooks Sales Account Value
ookSalesAccount                                  Node (100
                                                 chars max)
Product/Overrides/Review     No         1        Integer Node     Review Reminder Time Delay in Days (optional)
ReminderDelay                                                     • See Use Review Reminders in
                                                                  Reviews/Setup/Review Reminders in the OMS
Product/Overrides/Individu   No         1        Container
alShippingPackage
Product/Overrides/Individu   No         1        Text Attribute   Individual Shipping Package Override (Yes or
alShippingPackage                                (3 chars max)    No; default value: Yes, if container is present)
@Enabled
Product/Overrides/Individu   No         1        Numeric Node     Shipping Package Length (in inches)
alShippingPackage/Length
Product/Overrides/Individu   No         1        Numeric Node     Shipping Package Width (in inches)
alShippingPackage/Width
Product/Overrides/Individu   No         1        Numeric Node     Shipping Package Height (in inches)
alShippingPackage/Height
Product/Overrides/Individu   No         1        Text Node        Shipping Package Type as defined by UPS (Own
alShippingPackage/UPSPa                                           Packaging, Own Packaging (Additional
ckaging                                                           Handling), UPS Letter/Express Envelope, UPS
                                                                  Tube, UPS Pak, UPS Express Box, UPS 10kg
                                                                  Box, UPS 25kg Box; default value: Own
                                                                  Packaging)
Product/Overrides/Individu   No         1        Text Node        Shipping Package Type as defined by FedEx
alShippingPackage/FedExP                                          (Own Packaging, Own Packaging (Nonstandard),
ackaging                                                          FedEx Envelope, FedEx Tube, FedEx Pak, FedEx
                                                                  Box, FedEx 10kg Box, FedEx 25kg Box; default
                                                                  value: Own Packaging)
Product/Overrides/Individu   No         1        Text Node        Shipping Package Type as defined by DHL
alShippingPackage/DHLPa                                           (Letter, Package; default value: Package)
ckaging


                                             116
Element Xpath                Required   Occurs   Type             Description
Product/Overrides/Individu   No         1        Text Node        Shipping Package Type as defined by the USPS
alShippingPackage/USPSP                                           (Own Packaging, Envelope, Flat-Rate Envelope,
ackaging                                                          Legal Flat-Rate Envelope, Small Flat-Rate
                                                                  Envelope, Window Flat-Rate Envelope, Gift Card
                                                                  Flat-Rate Envelope, Padded Flat-Rate Envelope,
                                                                  Flat-Rate Box, Small Flat-Rate Box, Large Flat-
                                                                  Rate Box, DVD Flat-Rate Box, Large Video Flat-
                                                                  Rate Box, Regional Rate Box A, Regional Rate
                                                                  Box B; default value: Own Packaging)
Product/Overrides/Alcohol    No         1        Container
Designation
Product/Overrides/Alcohol    No         1        Text Attribute   Alcohol Designation Override (Yes, No, or
Designation @Enabled                                              Default; default value: Yes, if container is
                                                                  present)
Product/Overrides/Alcohol    Yes*       1        Numeric Node     Liters of Alcohol
Designation/Liters                                                • Required if AlcoholDesignation
                                                                  @Enabled="Yes"
Product/Overrides/Alcohol    Yes*       1        Text Node (16    Type of Alcohol (Beer, Wine, Distilled Spirits,
Designation/Type                                 chars max)       Ale, Light Wine)
                                                                  • Required if AlcoholDesignation
                                                                  @Enabled="Yes"
Product/Overrides/Alcohol    Yes*       1        Integer Node     Number of Packages of Alcohol
Designation/PackingUnits                                          • Required if AlcoholDesignation
                                                                  @Enabled="Yes"
Product/Overrides/Alcohol    Yes*       1        Text Node (6     Alcohol Packaging Type (Barrels, Bottles, Cases,
Designation/PackingType                          chars max)       Cartons, Others)
                                                                  • Required if AlcoholDesignation
                                                                  @Enabled="Yes"
Product/Overrides/ShipCo     No         1        Container        Applicable only if ShipCompliant
mpliant                                                           (Settings/Compatible Software/Alcoholic
                                                                  Beverage Tools) is in use
Product/Overrides/ShipCo     No         1        Text/Empty       ShipCompliant Product Key
mpliant/ProductKey                               Node (50 chars
                                                 max)
Product/Overrides/ShipCo     No         1        Text/Empty       ShipCompliant Brand Key
mpliant/BrandKey                                 Node (50 chars
                                                 max)
Product/Overrides/Inventor   No         1        Integer Node     Inventory Warning Level
yWarningLevel                                                     • Applicable only if Inventory Control is on at
                                                                  Settings/Site Options/Expected Shipping Time in
                                                                  the OMS
Product/Overrides/Depletio   No         1        Text Node (20    Product Depletion Status (Preordered,
nStatus                                          chars max)       Backordered, Sold Out, Discontinued)
Product/Overrides/Expecte    No         1        Integer Node     The number of days within which the product is
dShippingDays                                                     expected to ship (when in stock)
                                                                  • Applicable only if Expected Shipping Time is
                                                                  on at Settings/Site Options/Expected Shipping
                                                                  Time in the OMS
                                                                  • Calendar days, business days, or shipping days
                                                                  may apply, depending on the value selected at
                                                                  Settings/Site Options/Expected Shipping Time




                                             117
Element Xpath               Required   Occurs   Type             Description
Product/Overrides/InStock   No         1        Text/Empty       Product In Stock Message
Message                                         Node (200        • Applicable only if Expected Shipping Time is
                                                chars max)       on at Settings/Site Options/Expected Shipping
                                                                 Time in the OMS
Product/Overrides/Sharing   No         1        Currency         Product Sharing Discount Amount
Discount                                        Node
Product/Overrides/Sharing   Yes*       1        Text Attribute   Product Sharing Discount Type (Amount or
Discount @Type                                  (7 chars max)    Percent)
Product/Overrides/Erase     No         1        Container        Removes all Product Overrides
                                                                 • Ignored if Mode="Add"
Product/EMailAddenda        No         1        Container

Product/EMailAddenda/Or     No         1        Text Node        Order Confirmation E-Mail Addendum
derConfirmation
Product/EMailAddenda/Or     Yes*       1        Text Attribute   Order Confirmation E-Mail Addendum Position
derConfirmation @Position                       (5 chars max)    (Above or Below)
Product/EMailAddenda/Or     No         1        Text Node        Shipped E-Mail Addendum
derShipped
Product/EMailAddenda/Or     Yes*       1        Text Attribute   Shipped E-Mail Addendum Position (Above or
derShipped @Position                            (5 chars max)    Below)
Product/EMailAddenda/Or     No         1        Text Node        Update E-Mail Addendum
derUpdated
Product/EMailAddenda/Or     Yes*       1        Text Attribute   Update E-Mail Addendum Position (Above or
derUpdated @Position                            (5 chars max)    Below)
Product/EMailAddenda/Er     No         1        Empty Node       Removes all Product E-Mail Addenda
ase                                                              • Ignored if Mode="Add"
Product/MarketplaceOptio    No         1        Container
ns
Product/MarketplaceOptio    No         1        Text/Empty       Product Format (Soft Cover, Hard Cover, Audio
ns/Format                                       Node 10 chars    Book, CD, DVD, Cassette, Vinyl, VHS)
                                                max)
Product/MarketplaceOptio    No         1        Container
ns/Manufacturer
Product/MarketplaceOptio    Yes*       1        Text/Empty       Product Manufacturer Name
ns/Manufacturer/Manufact                        Node (50 chars
urerName                                        max)
Product/MarketplaceOptio    Yes*       1        Text/Empty       Product Manufacturer Part Number
ns/Manufacturer/Manufact                        Node (50 chars
urerPartNo                                      max)
Product/MarketplaceOptio    No         1        Text/Empty       Product UPC Number
ns/UPC                                          Node (14 chars
                                                max)
Product/MarketplaceOptio    No         1        Text/Empty       Product ISBN Number
ns/ISBN                                         Node (13 chars
                                                max)
Product/MarketplaceOptio    No         1        Empty Node       Removes all Marketplace Options
ns/Erase                                                         • Ignored if Mode="Add"
Product/SearchEngineMark    No         1        Container
up
Product/SearchEngineMark    No         1        Text/Empty       HTML Title Tag
up/TitleTag                                     Node (120
                                                chars max)



                                            118
Element Xpath                Required   Occurs   Type             Description
Product/SearchEngineMark     No         1        Text/Empty       Image AltTag
up/ImageAltTag                                   Node (120
                                                 chars max)
Product/SearchEngineMark     No         1        Text/Empty       Meta Description
up/MetaDescription                               Node
Product/SearchEngineMark     No         1        Text/Empty       Meta Keywords
up/MetaKeywords                                  Node
Product/SearchEngineMark     No         1        Empty Node       Search Engine Option information
up/Erase                                                          • Ignored if Mode="Add"
Product/RelatedProducts      No         1        Container        For Related Products
Product/RelatedProducts/R    Yes*       1+       Container
elatedProduct
Product/RelatedProducts/R    Yes*       1        Text Node        Related Product Name
elatedProduct/ProductNam                         (100 chars
e                                                max)
Product/RelatedProducts/R    No         1        Text Node        Related Product Relationship
elatedProduct/Relationship                       (255 chars
                                                 max)
Product/RelatedProducts/R    No         1        Empty Node       Remove the Related Product that matches
elatedProduct/Erase                                               RelatedProduct/ProductName
                                                                  • Ignored if Mode="Add"
Product/AutomaticAddTrig     No         1        Container        For Automatic Add Triggers
gers
Product/AutomaticAddTrig     Yes*       1+       Container
gers/Trigger
Product/AutomaticAddTrig     Yes*       1        Text Attribute   Automatic Add Trigger Type (Category, Coupon,
gers/Trigger @Type                                                Product, or QueryString)
Product/AutomaticAddTrig     No         1        Text Node        Automatic Add Trigger Name
gers/Trigger/Name                                                 • Required if the Automatic Add Trigger Type is
                                                                  Category, Coupon, or Product
Product/AutomaticAddTrig     No         1        Text Node        Automatic Add Trigger URL Query String
gers/Trigger/Parameter                                            Parameter
                                                                  • Required if the Automatic Add Trigger Type is
                                                                  QueryString
Product/AutomaticAddTrig     No         1        Text Node        Automatic Add Trigger URL Query String Value
gers/Trigger/Value                                                • Required if the Automatic Add Trigger Type is
                                                                  QueryString and Trigger/Erase is not present
Product/AutomaticAddTrig     No         1        Numeric Node     Automatic Add Trigger Trigger Quantity
gers/Trigger/TriggerQty                                           • Required if the Automatic Add Trigger Type is
                                                                  Category or Product and Trigger/Erase is not
                                                                  present
Product/AutomaticAddTrig     No         1        Numeric Node     Automatic Add Trigger Add Qty
gers/Trigger/AddQty                                               • Required if Trigger/Erase is not present
Product/AutomaticAddTrig     No         1        Empty Node       Remove the Automatic Add Trigger that matches
gers/Trigger/Erase                                                Trigger/Name (for Category, Coupon, or Product)
                                                                  or Trigger/Parameter (for QueryString)
Erase                        No         1        Container        Ignored if Mode="Add"
Erase/Expedited              No         1        Empty Node       Removes the Expedited Shipping restriction
Erase/Restricted             No         1        Empty Node       Removes the Restricted restriction
Erase/Required               No         1        Empty Node       Removes the Required restriction
Erase/AllowDiscounts         No         1        Empty Node       Removes the eligiblity for Category Discounts,
                                                                  Order Discounts, and Customer Discounts
Erase/AllowDirectCheckou     No         1        Empty Node       Removes Direct Checkout availablity
t



                                             119
 Element Xpath              Required    Occurs     Type             Description
 Erase/AllowQuestions       No          1          Empty Node       Removes the ability to submit Questions
 Erase/AllowReviews         No          1          Empty Node       Removes the ability to submit Reviews
 Erase/LinkElevation        No          1          Empty Node       Removes Product Link Elevation
 ForceProceed               No          1          Empty Node       Indicates that the Product Update should proceed
                                                                    even if one or more requested updates is invalid

ProductUpdateReply Schema
 Element Xpath              Always      Occurs     Type             Description
 @AccountName               Yes         1          Text Attribute   Client's Account Name (e.g. fairway)
 @Page                      Yes         1          Integer          Page number of query results
                                                   Attribute
 Product                    Yes         1 - 15     Container
 Product @Mode              Yes         1          Text Attribute   Add or Update
                                                   (6 chars max)
 Product/ProductName        Yes         1          Text Node        Product Name
                                                   (100 chars
                                                   max)
 Product/ProductSKU         No          1          Text Node (50    Product SKU (if defined)
                                                   chars max)
 Product/ProductNo          Yes         1          Integer Node     Product Number from the OMS
 Product/Status             Yes         1          Text Node        Product Status (Normal, Backordered,
                                                                    Preordered, Sold Out, or Discontinued)
 Product/Warning            No          1+         Text Node        Included if an Add or Update changes an existing
                                                                    Product setting (e.g. Pricing Level was changed
                                                                    from Product to SKU)
 Product/InvalidProduct     No          1+         Text Node        Included if an Add or Update results in an invalid
                                                                    Product setting (e.g. Inventory Level for the
                                                                    Product is "Kit" but no Kits are defined)

ProductUpdateRequest Example: Mode="Add"
<?xml version="1.0" encoding="UTF-8"?>
<ProductUpdateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <Product Mode="Add">
  <ProductName>Oakley Men's Loft Polo Shirt</ProductName>
  <ProductSKU>ff065</ProductSKU>
  <COGS>29.99</COGS>
  <Pricing>
   <Price>
    <Amount>69.99</Amount>
   </Price>
  </Pricing>
  <Weight>2</Weight>
  <Images>
   <Thumbnail>http://dl.dropbox.com/u/4979976/oakley-polo-navy-thumb.gif</Thumbnail>
   <Gallery>
    <Image>
     <Thumbnail>http://dl.dropbox.com/u/4979976/oakley polo black thumb2.jpg</Thumbnail>
     <Main>http://dl.dropbox.com/u/4979976/oakleypoloblackbigresize.jpg</Main>
     <Default />



                                                 120
     </Image>
     <Image>
      <Thumbnail>http://dl.dropbox.com/u/4979976/oakley polo navy thumb2.jpg</Thumbnail>
      <Main>http://dl.dropbox.com/u/4979976/oakleypolonavybigresize.jpg</Main>
     </Image>
   </Gallery>
  </Images>
  <Categories>
   <Category>
     <Name>Golf Apparel</Name>
     <Primary />
   </Category>
  </Categories>
  <Attributes>
   <Attribute Name="Color">
     <Option GalleryMainImage="oakleypoloblackbigresize.jpg">Black</Option>
     <Option GalleryMainImage="oakleypolonavybigresize.jpg">Navy</Option>
   </Attribute>
   <Attribute Name="Size">
     <Option>Small</Option>
     <Option>Medium</Option>
     <Option>Large</Option>
   </Attribute>
  </Attributes>
  <Vendor>Oakley</Vendor>
  <ShipFrom>
   <InternalName>FirstFairway</InternalName>
  </ShipFrom>
  <Visibility>All</Visibility>
  <CustomField1 Type="Text">Oakley</CustomField1>
  <CustomField3 Type="Yes/No">Yes</CustomField3>
  <Taxable>All</Taxable>
  <AllowDiscounts>Yes</AllowDiscounts>
  <AllowDirectCheckout>Yes</AllowDirectCheckout>
  <AllowQuestions>Yes</AllowQuestions>
  <AllowReviews>Yes</AllowReviews>
  <LinkElevation>Yes</LinkElevation>
  <Description>
   <Long>Short sleeve knit golf polo with 3-button placket and contrast patterning on front. 100%
Polyester Aerocool.</Long>
   <Keywords>Oakley, men, mens, golf, shirt, loft, polo, black, navy</Keywords>
  </Description>
  <SKUItems>
   <SKUItem>
     <Attributes>
      <Attribute Name="Color">Black</Attribute>
      <Attribute Name="Size">Small</Attribute>
     </Attributes>
     <Inventory>
      <Qty>550</Qty>
     </Inventory>
     <Default />
   </SKUItem>
   <SKUItem>
     <Attributes>
      <Attribute Name="Color">Black</Attribute>


                                                  121
      <Attribute Name="Size">Medium</Attribute>
     </Attributes>
     <Inventory>
      <Qty>550</Qty>
     </Inventory>
   </SKUItem>
   <SKUItem>
     <Attributes>
      <Attribute Name="Color">Black</Attribute>
      <Attribute Name="Size">Large</Attribute>
     </Attributes>
     <Inventory>
      <Qty>550</Qty>
     </Inventory>
   </SKUItem>
   <SKUItem>
     <Attributes>
      <Attribute Name="Color">Navy</Attribute>
      <Attribute Name="Size">Small</Attribute>
     </Attributes>
     <Inventory>
      <Qty>550</Qty>
     </Inventory>
   </SKUItem>
   <SKUItem>
     <Attributes>
      <Attribute Name="Color">Navy</Attribute>
      <Attribute Name="Size">Medium</Attribute>
     </Attributes>
     <Inventory>
      <Qty>550</Qty>
     </Inventory>
   </SKUItem>
   <SKUItem>
     <Attributes>
      <Attribute Name="Color">Navy</Attribute>
      <Attribute Name="Size">Large</Attribute>
     </Attributes>
     <Inventory>
      <Qty>550</Qty>
     </Inventory>
   </SKUItem>
  </SKUItems>
 </Product>
</ProductUpdateRequest>

ProductUpdateRequest Example: Mode="Update"
<?xml version="1.0" encoding="UTF-8"?>
<ProductUpdateRequest>
 <Credentials>
  <AccountName>fairway</AccountName>
  <Key>Nk5\#/K#0:{!C:SfqVs0</Key>
 </Credentials>
 <Product Mode="Update" MatchingField="ProductName">
  <ProductName>Oakley Men's Loft Polo Shirt</ProductName>
  <COGS>24.95</COGS>


                                             122
  <Taxable States="CA">State</Taxable>
 </Product>
</ProductUpdateRequest>

ProductUpdateReply Example
<?xml version="1.0" encoding="utf-8"?>
<ProductUpdateReply AccountName="fairway">
 <Product Mode="Add">
  <ProductName>Oakley Men's Loft Polo Shirt</ProductName>
  <ProductNo>1863</ProductNo>
  <Status>Normal</Status>
 </Product>
</ProductUpdateReply>




                                            123
                                             13: Errors

Error XML is returned whenever the Request XML sent is invalid. Errors resulting in
Error XML may be due to a parsing error (i.e. failed validation against the appropriate
XSD) or due to a violation of business rules. The Error XML gives a description of the
error so that it may be easily addressed and corrected; in the case of a validation error, the
line number of the error is also returned (a value of -1 indicates that the error cannot be
localized to a specific line). Bear in mind that only the first error encountered is returned.

In most cases, the Error XML constitutes the entire Reply XML when an error is
encountered. However, if the ForceProceed node is included in an OrderUpdateRequest
or an InventoryUpdateRequest (as detailed in Chapters 6 and 10), the Error XML may be
contained within the Order or InventoryProduct container.

Error XML Schema
 Element Xpath                Always       Occurs     Type             Description
 Error                        Yes          1          Container
 Error/ErrorDescription       Yes          1          Text Node        Error Description
 Error/ErrorLine              No           1          Integer Node     Error Line (for XSD validation errors only)

Error XML Example
<?xml version="1.0" encoding="utf-8"?>
<OrderQueryReply>
 <Error>
  <ErrorDescription>The 'OrderNoRange' start tag on line 7 does not match the end tag of
'OrderQueryRequest'. Line 10, position 3.</ErrorDescription>
 </Error>
</OrderQueryReply>




                                                  124
                                   14: Best Practices

It is strongly recommended that you adhere to the following best practices:

      Design your integration application to be fault tolerant. Rather than assume that
       your application will run flawlessly every time, have an affirmative plan to handle
       temporary disruptions (e.g. internet outages). A well-designed application will
       handle errors smoothly and re-attempt failed requests at a later time.
      Develop a deep understanding of how options in the OMS may affect your
       application. For example, the Multiple Ship To (Settings/Boolean Options) and
       Full CC Access: Report/XML (Settings/Site Options) options impact the
       OrderQueryReply. You may need to educate OMS users not to make specific
       changes that are not anticipated by your application.
      To the extent possible, allow for future changes to the XML Tools. Nexternal
       Solutions employs a philosophy of continuous development and enhancement of
       its core software, and those enhancements often require changes to the XML
       Tools. When possible, Nexternal accommodates changes by adding new nodes
       and attributes to XML schemas, leaving preexisting nodes and attributes
       unchanged; however, in rare cases, this may not be possible. It is therefore
       strongly advised that you parse XML replies using element names and not
       indices. This will make your application as stable and possible, and minimize the
       need to make changes.
      Take extra care to protect your XML Key, as it is the primary means of validating
       access to the XML Tools. Never send the Key via e-mail or any other unsecured
       format. If you have reason to believe that the Key has been compromised, you
       may generate a new Key at Settings/XML Tools in the OMS.
      Unless the XML Key is regenerated (Settings/XML Tools in the OMS), it will not
       change. Furthermore, the Key is always available at Settings/XML Tools in the
       OMS, once the XML Memorandum of Understanding (MOU) has been accepted
       and the XML Test has been passed. Thus, there is never a need to pass the XML
       Test more than once.
      Other than to receive all pages of a multiple page query, do not submit a
       scheduled XML query more frequently than every 10 minutes. Overly frequent
       querying is considered abuse of the Tools, and may result in revocation of access.




                                           125
                          15: Summary of Revisions

   6/10/2011: OrderCreateRequest – added SalesTaxAmount node;
    OrderQueryRequest – added CustomerNo node
   6/7/2011: Added OrderCalculate tool; OrderQueryReply, ProductQueryReply,
    ProductUpdateRequest – added support for SharingDiscount
   5/17/2011: ProductUpdateRequest – added new USPS Packaging options
   5/10/2011: CustomerUpdateRequest – added support for updating an existing
    credit card by providing only the last 4 digits of the credit card number
   5/2/2011: CustomerQueryRequest – added <CustomerAddress> node
   4/7/2011: CustomerQueryReply, OrderQueryReply – added <AddressBook>
    node; ProductQuery, ProductUpdate, OrderQuery – added support for Review
    Reminders
   4/5/2011: ProductUpdateRequest – added support for creating new categories and
    subcategories using the <AllowAdd> node
   2/10/2011: OrderCreateRequest – added Product/SKU node
   2/2/2011: CustomerQueryRequest, OrderQueryRequest, and
    ProductQueryRequest – added CurrentStatus node
   1/27/2011: OrderQueryReply – added SalesTaxJurisdiction/CountryCode node;
    ProductQueryReply and ProductUpdateRequest – added ShippingRates container
    and children, EMailAddenda container and children, and ImageAltTag node
   1/18/2011: OrderQueryReply – special characters have been removed from the
    ShipMethod node
   1/3/2011: OrderUpdateRequest – added CapturePayment node;
    OrderUpdateReply – added CapturePayment container and children
   10/25/2010: OrderQueryRequest – added PreferredShipDateRange and
    PreferredDeliveryDateRange containers and children
   10/22/2010: CustomerUpdateRequest and ProductUpdateRequest – updated
    behaviors for MatchingField attribute; OrderCreateRequest – added support for
    creating new customers; ProductQueryReply – added Export SKUs
   10/7/2010: ProductQueryReply and ProductUpdateRequest – added
    AutomaticAddTriggers and CustomerTypeUpgrade containers and children
   10/5/2010: Added OrderCreate tool
   8/24/2010: OrderQuery, ProductQuery and ProductUpdate – added containers and
    children related to VinNOW
   3/18/2010: Added ProductUpdate tool; OrderQueryReply – added SCSyncDate
    container and children; CustomerUpdateReply – added support for UPS Address
    Validation; ProductQueryReply – changed WriteIn/RequiredValue to
    WriteIn/AdditionalCharge
   2/2/2010: OrderQueryReply and ProductQueryReply – added containers and
    children relating to ShipCompliant
   11/12/2009: OrderQueryReply – added InventoryKit, UnitWeight, TotalWeight,
    and ShipWeight nodes; ProductQueryReply – changed




                                     126
    InventoryKits/InventoryKit nodes to InventoryKit/KitProduct;
    CustomerQueryRequest – added CustomerEmail node
   11/4/2009: Added ProductQuery and CustomerUpdate tools;
    CustomerQueryRequest – added IncludeActivities node; CustomerQueryReply –
    added Activities container and children
   11/4/2009: Changed the file extension of all XML Tools URLs from .asp to .rest
   8/20/2009: OrderQueryRequest – added ShipTo container and children
   6/16/2009: The Report Full CC option (Settings/Boolean Options) is now Full CC
    Access: Report/XML (Settings/Site Options)
   5/7/2009: All Reply XML Schemas – added @AccountName attribute
   4/29/2009: CustomerQueryReply – added Customer/Owner and
    Customer/FollowUpDate containers and children
   12/10/2008: OrderQueryReply and CustomerQueryReply – changed AmEx to
    American Express, as mandated by American Express
   8/13/2008: OrderQueryRequest – added OrderStatus and BillingStatus nodes; tool
    modified to allow more than one query criterion
   7/14/2008: OrderQueryReply and OrderUpdateRequest – added LineNo node
   2/1/2008: OrderQueryReply and CustomerQueryReply – added CompanyName
    node to all Address containers
   4/2/2007: OrderQueryReply – added Order/ShipTo/ShipFrom/PreferredDelivery
    container and children
   3/7/2007: OrderUpdateRequest – OrderUpdate/StatusUpdate/Application value of
    Outstanding redefined to exclude Return-Customer line items
   2/12/2007: OrderQueryReply – added Order/ShipTo/ShipFrom/ShipMethod
    @TimeInTransit attribute
   1/19/2007: OrderQueryReply – added Order/Currency container and children
   12/5/2006: OrderQueryReply – added fields relating to FlexCache Gift Cards;
    changed Transaction to CreditCardTransction; changed GiftCard to GiftMessage




                                     127
                             16: Appendix: RESTClient

               RESTClient: A Java application to test REST services

You can test your queries using the RESTClient application, available as a free
download from the Google Code Project. The project home page is located at
http://code.google.com/p/rest-client; you can download the RESTClient application from
the project DOWNLOAD page.

Note: The instructions and screenshots below refer to version 2.3 of the RESTClient
application; other versions may differ slightly.

      Download and install the Java Runtime Engine (JRE) from the Sun Java website
       if it's not already installed on your system.

      Download the RESTClient application from the project download page.

      Open a DOS console window, change (CD) to your download directory, and type
       in the following command to launch the RESTClient application:

       java -jar restclient-ui-2.3-jar-with-dependencies.jar

      Enter the REST service address that you want to test into the URL address bar,
       and select the POST radio button inside of the HTTP METHOD group.




                                          128
   Switch to the BODY tab and type in the query you want to execute.




   Click on the       button to the right of the address bar to submit your query and
    retrieve the results.




                                        129

								
To top