Skip to content

Instantly share code, notes, and snippets.

Last active January 14, 2016 20:38
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Shipwire: Order Fulfillment Request DTD
<?xml version="1.0" encoding="UTF-8" ?>
In September 2014, we launched a new RESTful API
(see documentation at
The new API replicates all the functionality of our legacy XML API
while providing a foundation for future API enhancements.
In order to focus on adding new features to the RESTful API, we are
deprecating the legacy XML API. This means that Shipwire will continue
to provide the legacy XML API for existing integrations, but new
features will not be added to it.
Developers of new integrations should use the RESTful API.
If you already have an integration with Shipwire’s legacy API,
migrating to the new API is recommended so you can take advantage of
new features as we add them (see our API Roadmap).
Copyright (C) 2014, Shipwire Inc. All rights reserved.
Last modified: 2014-03-17
<!ELEMENT OrderList ((EmailAddress|Username), Password?, Server, Referer?, AffiliateId?, Order+)>
<!ATTLIST OrderList
StoreAccountName CDATA #IMPLIED
processingMode (sync|async) #IMPLIED
Shipwire login email address, for legacy authentication [deprecated]
New integrations should authenticate with API users via <Username>
<!ELEMENT EmailAddress (#PCDATA)>
<!-- API username -->
<!ELEMENT Username (#PCDATA)>
Password for the provided API user (<Username>) or Shipwire login (<EmailAddress>)
Please enclose in a CDATA block if appropriate
<!ELEMENT Password (#PCDATA)>
Server indicates whether this is a test order or production (actual customer) order
Test: The order will be loaded into our system and validated, but
not submitted to a warehouse.
Production: The order will be prepared for submission to the warehouse.
The platform or software which is referring this order.
Note this is different than the AffiliateID element (see below).
<!ELEMENT Referer (#PCDATA)>
The Shipwire affiliate ID code, for Shipwire partners and developer
See for more information
about affiliate opportunities.
<!ELEMENT AffiliateId (#PCDATA)>
<!ELEMENT Order (Hold?, ForceDuplicate?, CanSplit?, SameDay?, DoNotShipBefore?, CompanyName?, Warehouse?, WarehouseContinents?, WarehouseCountry?, AddressInfo, Shipping?, Carrier?, Item+, Invoice?, Message?)>
Your order number, e.g. from your shopping cart.
If you configure delivery confirmations to be sent to your customers, we
will use this order number as a reference in communication.
Limited to 25 characters. If more than 8 characters are provided, then
only the last 8 characters will be printed on your packing list.
<!-- Indicator which means, place a hold this order -->
<!-- Indicator which means, allow this order even if it is a duplicate of a previous order -->
<!ELEMENT ForceDuplicate EMPTY>
Indicator which means, if some items are in stock and some items are not,
split the order into a portion that will ship now and a portion that will
ship later, optimizing both the first and second order's warehouse and
<!-- Accepted values are NOT REQUESTED, REQUESTED, GUARANTEED; assume NOT REQUESTED if invalid -->
<!-- Optional element. If provided, should be an ISO 8601 date, eg 2010-10-12T13:43:21+08:00 -->
<!ELEMENT DoNotShipBefore (#PCDATA)>
Sender's company name to be printed as the sender on the shipping label
Use this to support drop shipping scenarios (note that that the full
Do not confuse this with the AddressInfo Company element
<!ELEMENT CompanyName (#PCDATA)>
Warehouse to which Shipwire should route this order
00: Shipwire should pick the optimal warehouse for me (default, recommended)
CHI: Chicago
LAX: Los Angeles
PHL: Philadelphia
VAN: Vancouver
TOR: Toronto
UK: United Kingdom
HKG: Hong Kong
<!ELEMENT Warehouse (#PCDATA)>
Continents to which to restrict warehouse selection
<!ELEMENT WarehouseContinents (Continent+)>
Valid continents are:
<!ELEMENT Continent (#PCDATA)>
Warehouse country routing restriction
Please use ISO-3166-2 codes e.g.
US: United States
CA: Canada
GB: United Kingdom
<!ELEMENT WarehouseCountry (#PCDATA)>
<!-- Ship-to address -->
<!ELEMENT AddressInfo (Name, Company?, Address1, Address2?, Address3?, City, State?, Country, Zip?, PostalCode?, Phone?, Email?, Commercial?, PoBox?)>
<!ATTLIST AddressInfo
type (ship) #IMPLIED
<!ELEMENT Name (Full)>
<!-- Full name: Individual or company. Limit to 25 characters or fewer, if possible. -->
Company name
Limit to 25 characters or fewer, if possible.
<!ELEMENT Company (#PCDATA)>
Address line 1 (required)
Limit to 25 characters or fewer, if possible.
<!ELEMENT Address1 (#PCDATA)>
Address line 2
Limit to 25 characters or fewer, if possible.
<!ELEMENT Address2 (#PCDATA)>
Address line 3
Limit to 25 characters or fewer, if possible.
<!ELEMENT Address3 (#PCDATA)>
<!-- City: Limit to 25 characters -->
State (or province, region, administrative division, etc.)
US or Canada: Use the standardized 2 character code
Other countries: Please spell the full state/region name
Country of destination
Please use the standard ISO-3166-2 code
Example: <Country>US</Country>
Example: <Country>ES</Country>
Example: <Country>GB</Country>
<!ELEMENT Country (#PCDATA)>
<!-- Postal code (if required) -->
<!ELEMENT PostalCode (#PCDATA)>
<!-- Alias for PostalCode -->
<!-- Customer phone number -->
<!-- Commercial address indicator -->
<!ELEMENT Commercial EMPTY>
<!-- Post office box indicator -->
Customer e-mail address
Shipwire can use this information to send your customers order
processing, tracking, and/or delivery information.
This option is configured in your account under "Delight | Confirmation Email".
Shipping method
Level of delivery service desired. Shipwire will determine the best carrier
for the service level, based on your account's shipping preferences,
configured under "Shipping | Preferences".
Example: <Shipping>1D</Shipping>
Example: <Shipping>2D</Shipping>
Example: <Shipping>GD</Shipping>
Example: <Shipping>FT</Shipping>
Example: <Shipping>E-INTL</Shipping>
Example: <Shipping>INTL</Shipping>
Example: <Shipping>PL-INTL</Shipping>
Example: <Shipping>PM-INTL</Shipping>
<!ELEMENT Shipping (#PCDATA)>
Specific carrier desired. Valid carrier codes are returned from rating API
NOTE: Specifiying a carrier overrides any <Shipping> method provided.
Example: <Carrier>UPS GD</Carrier>
Example: <Carrier>RM ISF</Carrier>
<!ELEMENT Carrier (#PCDATA)>
Order line item
At a minimum, a combinaton of SKU (Code) and quantity to ship
SKU codes should not repeat within an order; rather, combine
the quantities into one Item.
If provided, Shipwire will use the unit value to populate
any shipping documentation (e.g. commercial invoices).
<!ELEMENT Item (Code, Quantity, UnitValue?)>
Product SKU, limited to 15 characters in most instances.
Shipwire matches the SKU of each item in the order with a SKU in
your account.
<!-- Quantity limited to 7 digits (up to 1000000) -->
<!ELEMENT Quantity (#PCDATA)>
Unit value (e.g. for commercial invoices)
Currency is ISO 4217
<!ELEMENT UnitValue (#PCDATA)>
<!ATTLIST UnitValue
Sales invoice amounts
Currency is ISO 4217
<!ELEMENT Invoice (ShippingValue?, InsuranceValue?, AdditionalValue?)>
<!ELEMENT ShippingValue (#PCDATA) >
<!ATTLIST ShippingValue
<!ELEMENT InsuranceValue (#PCDATA) >
<!ATTLIST InsuranceValue
<!ELEMENT AdditionalValue (#PCDATA) >
<!ATTLIST AdditionalValue
<!ELEMENT Message (Header, Body)>
<!ATTLIST Message
document (packing-list) #IMPLIED
location (lhs) #IMPLIED
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment