Skip to content

Instantly share code, notes, and snippets.

@evanr76
Last active January 14, 2016 20:38
Show Gist options
  • Save evanr76/3373968 to your computer and use it in GitHub Desktop.
Save evanr76/3373968 to your computer and use it in GitHub Desktop.
Shipwire: Order Fulfillment Request DTD
<?xml version="1.0" encoding="UTF-8" ?>
<!--
PLEASE NOTE:
In September 2014, we launched a new RESTful API
(see documentation at http://www.shipwire.com/developers).
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).
-->
<!--
OrderList.dtd
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.
-->
<!ELEMENT Server (#PCDATA)>
<!--
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
affiliates.
See http://www.shipwire.com/help/c/welcome/partner/ 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.
-->
<!ATTLIST Order
id CDATA #REQUIRED
>
<!-- Indicator which means, place a hold this order -->
<!ELEMENT Hold EMPTY>
<!-- 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
shipping.
-->
<!ELEMENT CanSplit EMPTY>
<!-- Accepted values are NOT REQUESTED, REQUESTED, GUARANTEED; assume NOT REQUESTED if invalid -->
<!ELEMENT SameDay (#PCDATA)>
<!-- 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
sender
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:
NORTH_AMERICA
SOUTH_AMERICA
EUROPE
ASIA
AFRICA
AUSTRALIA
ANTARCTICA
-->
<!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. -->
<!ELEMENT Full (#PCDATA)>
<!--
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 -->
<!ELEMENT City (#PCDATA)>
<!--
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
-->
<!ELEMENT State (#PCDATA)>
<!--
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 -->
<!ELEMENT Zip (#PCDATA)>
<!-- Customer phone number -->
<!ELEMENT Phone (#PCDATA)>
<!-- Commercial address indicator -->
<!ELEMENT Commercial EMPTY>
<!-- Post office box indicator -->
<!ELEMENT PoBox EMPTY>
<!--
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".
-->
<!ELEMENT Email (#PCDATA)>
<!--
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)>
<!--
Carrier
Specific carrier desired. Valid carrier codes are returned from rating API
requests.
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?)>
<!ATTLIST Item
num CDATA #IMPLIED
>
<!--
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.
-->
<!ELEMENT Code (#PCDATA)>
<!-- 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
currency CDATA #IMPLIED
>
<!--
Sales invoice amounts
Currency is ISO 4217
-->
<!ELEMENT Invoice (ShippingValue?, InsuranceValue?, AdditionalValue?)>
<!ELEMENT ShippingValue (#PCDATA) >
<!ATTLIST ShippingValue
currency CDATA #IMPLIED
>
<!ELEMENT InsuranceValue (#PCDATA) >
<!ATTLIST InsuranceValue
currency CDATA #IMPLIED
>
<!ELEMENT AdditionalValue (#PCDATA) >
<!ATTLIST AdditionalValue
currency CDATA #IMPLIED
>
<!ELEMENT Message (Header, Body)>
<!ATTLIST Message
document (packing-list) #IMPLIED
location (lhs) #IMPLIED
>
<!ELEMENT Header (#PCDATA)>
<!ELEMENT Body (#PCDATA)>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment