The Custom Store option in ShipStation allows a developer to build a custom connection for an order source that does not have a pre-built integration with ShipStation.
A Custom Store connection allows you to import orders into ShipStation in a single click and enables ShipStation to automatically send shipment status and tracking information updates back to your cart or marketplace once a label is created.
Requires Advanced Development Skills
Please note that the Custom Store requires advanced development skills to set up. Many ShipStation customers with those skills have used this documentation to integrate their Custom Stores from start to finish.
ShipStation's support for Custom Stores is limited, but if you do encounter errors during the setup process, our support team can provide additional insight so that you or your developer can take corrective action.
To integrate with the Custom Store, you must expose a Web Endpoint that returns XML according to the format in this guide.
The Web Endpoint will be used to handle two major requests:
-
GET: Allows ShipStation to pull order information from your Custom Store, including recipient address, products, customers, etc.
-
POST: Allows ShipStation to post shipment information back to the store when an order is shipped, including shipping method, shipping status, tracking number, and more.
When your Web Endpoint is ready, you can then connect ShipStation to your store via the Custom Store connection option. Once connected, you can then import orders and send back shipment details.
To allow ShipStation access to your order source to GET and POST data, you must build your Custom Store endpoint to the specifications defined in this guide.
ShipStation will make a GET API call to pull order information from the connected store.
ShipStation will request order information from the Web Endpoint you expose. It must render XML that adheres to the specification defined in the following sections.
ShipStation will use the following URL format when requesting order information from the Web Endpoint you build:
[Your Web Endpoint]?action=export&start_date=[Start Date]&end_date=[End Date]&page=1 [Your Web Endpoint]?action=export&start_date=[Start Date]&end_date=[End Date]&page=1
GET call URL Parameters
URL Parameters |
Description |
---|---|
action |
This value will always be "export" when ShipStation is requesting order information. |
start_date |
The start date in UTC time. Format: MM/dd/yyyy HH:mm (24 hour notation). For example: 03/23/2012 21:09 |
end_date |
The end date in UTC time. Same format as start_date. |
Your page should return data for any order modified between the start and end date, regardless of the order's status. The order data should be returned in an XML format as shown in the following example. All free text fields should be enclosed in a CDATA section to ensure no parsing errors.
A CDATA section starts with "<![CDATA[" and ends with "]]>".
For stores with hundreds or thousands of orders per day, we recommend paging your results. To do this, choose the maximum number of records to return with each reply. Then include the total number of pages as an attribute in the root-level Orders element.
On the first request to your endpoint, ShipStation will append a URL parameter called "page". For example:
https://www.yourstore.com/shipstationxml.php?action=export&start_date=01%2f23%2f2012+17%3a28&end_date=01%2f23%2f2012+17%3a33&page=1
If the Orders node indicates that there are additional pages, ShipStation will then request subsequent pages until all orders have been retrieved.
Below is an example of the XML response body that ShipStation expects when a GET call is made for order information. You can find detailed definitions of the fields in the Custom Store Reference Guide.
<?xml version="1.0" encoding="utf-8"?> <Orders pages="1"> <Order> <OrderID><![CDATA[123456]]></OrderID> <OrderNumber><![CDATA[ABC123]]></OrderNumber> <OrderDate>10/18/2019 21:56 PM</OrderDate> <OrderStatus><![CDATA[paid]]></OrderStatus> <LastModified>12/8/2011 12:56 PM</LastModified> <ShippingMethod><![CDATA[USPSPriorityMail]]></ShippingMethod> <PaymentMethod><![CDATA[Credit Card]]></PaymentMethod> <CurrencyCode>EUR</CurrencyCode> <OrderTotal>123.45</OrderTotal> <TaxAmount>0.00</TaxAmount> <ShippingAmount>4.50</ShippingAmount> <CustomerNotes><![CDATA[Please make sure it gets here by Dec. 22nd!]]></CustomerNotes> <InternalNotes><![CDATA[Ship by December 18th via Priority Mail.]]></InternalNotes> <Gift>false</Gift> <GiftMessage></GiftMessage> <CustomField1></CustomField1> <CustomField2></CustomField2> <CustomField3></CustomField3> <Customer> <CustomerCode><![CDATA[customer@mystore.com]]></CustomerCode> <BillTo> <Name><![CDATA[The President]]></Name> <Company><![CDATA[US Govt]]></Company> <Phone><![CDATA[512-555-5555]]></Phone> <Email><![CDATA[customer@mystore.com]]></Email> </BillTo> <ShipTo> <Name><![CDATA[The President]]></Name> <Company><![CDATA[US Govt]]></Company> <Address1><![CDATA[1600 Pennsylvania Ave]]></Address1> <Address2></Address2> <City><![CDATA[Washington]]></City> <State><![CDATA[DC]]></State> <PostalCode><![CDATA[20500]]></PostalCode> <Country><![CDATA[US]]></Country> <Phone><![CDATA[512-555-5555]]></Phone> </ShipTo> </Customer> <Items> <Item> <SKU><![CDATA[FD88821]]></SKU> <Name><![CDATA[My Product Name]]></Name> <ImageUrl><![CDATA[http://www.mystore.com/products/12345.jpg]]></ImageUrl> <Weight>8</Weight> <WeightUnits>Ounces</WeightUnits> <Quantity>2</Quantity> <UnitPrice>13.99</UnitPrice> <Location><![CDATA[A1-B2]]></Location> <Options> <Option> <Name><![CDATA[Size]]></Name> <Value><![CDATA[Large]]></Value> <Weight>10</Weight> </Option> <Option> <Name><![CDATA[Color]]></Name> <Value><![CDATA[Green]]></Value> <Weight>5</Weight> </Option> </Options> </Item> <Item> <SKU></SKU> <Name><![CDATA[$10 OFF]]></Name> <Quantity>1</Quantity> <UnitPrice>-10.00</UnitPrice> <Adjustment>true</Adjustment> </Item> </Items> </Order> </Orders>
The POST call allows ShipStation to post shipment information back to your order source when you ship orders.
ShipStation will contact the same Web Endpoint when an order is shipped so your system can be notified that the order has been shipped. ShipStation takes an action called shipNotify when sending this notification. Your Web Endpoint should be able to determine when ShipStation is requesting order information (action = export) and when it is sending a shipping notification (action = shipnotify).
Your Web Endpoint should return a 200 (or 2xx) HTTP status code to indicate that the tracking information was received successfully.
ShipStation will use the following URL format when sending shipment and tracking information to the Web Endpoint you build:
[Your Web Endpoint]?action=shipnotify&order_number=[Order Number]&carrier=[Carrier]&service=&tracking_number=[Tracking Number]
For example:
https://www.yourstore.com/shipstationxml.php?action=shipnotify&order_number=ABC123&carrier=USPS&service=&tracking_number=9511343223432432432
Here is a description of each URL parameter:
Parameter |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
action |
The value will always be "shipnotify" when sending shipping notifications. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_number |
This is the order's unique identifier. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
carrier |
Supported API codes for available carriers:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
This will be the name of the shipping service that was used to ship the order. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tracking_number |
This is the tracking number for the package. |
Below is an example of the XML request body that will be included when ShipStation makes a POST call for a shipment notification. You can find detailed definitions of the fields in the Custom Store Reference Guide.
<?xml version="1.0" encoding="utf-8"?> <ShipNotice> <OrderNumber>ABC123</OrderNumber> <OrderID>123456</OrderID> <CustomerCode>customer@mystore.com</CustomerCode> <CustomerNotes></CustomerNotes> <InternalNotes></InternalNotes> <NotesToCustomer></NotesToCustomer> <NotifyCustomer></NotifyCustomer> <LabelCreateDate>10/19/2019 12:56</LabelCreateDate> <ShipDate>10/19/2019</ShipDate> <Carrier>USPS</Carrier> <Service>Priority Mail</Service> <TrackingNumber>1Z909084330298430820</TrackingNumber> <ShippingCost>4.95</ShippingCost> <CustomField1></CustomField1> <CustomField2></CustomField2> <CustomField3></CustomField3> <Recipient> <Name>The President</Name> <Company>US Govt</Company> <Address1>1600 Pennsylvania Ave</Address1> <Address2></Address2> <City>Washington</City> <State>DC</State> <PostalCode>20500</PostalCode> <Country>US</Country> </Recipient> <Items> <Item> <SKU>FD88821</SKU> <Name>My Product Name</Name> <Quantity>2</Quantity> <LineItemID>25590</LineItemID> </Item> </Items> </ShipNotice>
Connecting a custom store to ShipStation works the same way as adding any other direct store integration. See the detailed instructions below.
To connect your custom store to ShipStation:
-
Choose the Custom Store option.
-
Enter the requested information into the form and test your connection using the Test Connection button.
The table below provides details about the form fields in the connection window:
Field
Description
URL to custom CML Page
This is the location of your Web Endpoint. HTTPS recommended.
Unpaid Status
This is the name of the status in your system that indicates an order is not yet paid for and not yet ready to be shipped.
Multiple statuses may be separated by a comma.
Paid Status
This is the name of the status in your system that indicates an order is paid and ready to ship.
Shipped Status
This is the name of the status in your system that indicates an order is shipped.
Cancelled Status
This is the name of the status in your system that indicates an order is cancelled.
On-Hold Status
This is the name of the status in your system that indicates an order is on hold.
The status fields map your order statuses to ShipStation's order statuses. This determines where orders will import to in ShipStation. These fields are case-sensitive.
Once the connection is complete, ShipStation will begin communicating with your Web Endpoint to obtain order information.
ShipStation requests order information from your Web Endpoint using a GET call.
ShipStation users can trigger store updates manually by hovering over the import icon and opting to update all stores or individual stores.
Additionally, users can enable an auto-update feature so that ShipStation periodically imports a store's orders automatically. The auto-update frequency depends the user's history of manual updates and several other factors.
By default, ShipStation uses a POST call to post shipment notifications to your Web Endpoint whenever a label is created in ShipStation.
These notifications can be delayed, if the user prefers, by setting the Notification options in the Custom Store Settings window.
If the ShipStation user creates labels outside of ShipStation, the user can choose the Mark as Shipped action within ShipStation, which will move the order to the Shipped status in ShipStation and also post a shipment notification to your Web Endpoint.
This section includes Order Information and ShipNotify field definitions and the XML Schema for validating order information.
* Indicates required fields
Name |
XPath |
Max Allowed |
Type |
Length |
Description |
---|---|---|---|---|---|
Orders * |
Orders |
1 |
Container |
n/a |
Root node |
Order * |
Orders/Order |
Unlimited |
Container |
n/a |
Container node for an individual order |
OrderID * |
Orders/Order/OrderID |
1 per Order |
String |
n/a |
Unique identifier for an order. Not displayed to anyone. |
OrderNumber * |
Orders/Order/OrderNumber |
1 per Order |
String |
1...50 |
User-visible order number. This value can be the same as the OrderID. |
OrderDate * |
Orders/Order/OrderDate |
1 per Order |
Date/time |
16 |
The date the order was placed. Format: MM/dd/yyyy HH:mm. Both 12 and 24 hour notation are allowed. Default is UTC if no time zone specified. |
OrderStatus * |
Orders/Order/OrderStatus |
1 per Order |
String |
1---50 |
The status of the order in your system. You will be able to map this status to a ShipStation status when connecting your Web Endpoint as a Selling Channel within ShipStation. |
LastModified * |
Orders/Order/LastModified |
1 per Order |
Date/time |
16 |
The last time the order was modified in your system. Format: MM/dd/yyyy HH:mm. Default is UTC if no time zone specified. |
ShippingMethod |
Orders/Order/ShippingMethod |
1 per Order |
String |
0...100 |
Recommended if you know the shipping method that will be used to ship the order. ShipStation can map your shipping methods to actual services. |
PaymentMethod |
Orders/Order/PaymentMethod |
1 per Order |
String |
0...50 |
Order payment method (e.g. PayPal, Check, Money Order) |
CurrencyCode |
Orders/Order/CurrencyCode |
1 per Order |
String |
3 |
Must be ISO 4217 currency code (USD, EUR, etc) |
OrderTotal * |
Orders/Order/OrderTotal |
1 per Order |
Decimal |
9,2 (Precision, Scale) |
Total amount of the order. (Nine total digits, up to 7 digits before the decimal point, and up to 2 after.) |
TaxAmount |
Orders/Order/TaxAmount |
1 per Order |
Decimal |
9,2 |
Tax amount, if any. |
ShippingAmount * |
Orders/Order/ShippingAmount |
1 per Order |
Decimal |
9,2 |
Shipping amount. |
CustomerNotes |
Orders/Order/CustomerNotes |
1 per Order |
String |
0...1000 |
Notes left by the customer when placing the order. |
InternalNotes |
Orders/Order/InternalNotes |
1 per Order |
String |
0...1000 |
Private notes that are only viewed by your company. |
Gift |
Orders/Order/Gift |
1 per Order |
Bool |
"true" if this order is a gift |
|
GiftMessage |
Orders/Order/GiftMessage |
1 per Order |
String |
0...1000 |
Contains the customer's gift message. |
CustomField1 |
Orders/Order/CustomField1 |
1 per Order |
String |
0...100 |
Custom field that will show up in ShipStation's Orders grid. Can also be used in the criteria for ShipStation's filters and automation rules. |
CustomField2 |
Orders/Order/CustomField2 |
1 per Order |
String |
0...100 |
Custom Field 2 |
CustomField3 |
Orders/Order/CustomField3 |
1 per Order |
String |
0...100 |
Custom Field 3 |
RequestedWarehouse |
Orders/Order/RequestedWarehouse |
1 per Order |
String |
0...100 |
Ship From Location (must match Name) |
Source |
Orders/Order/Source |
1 per Order |
String |
0...50 |
Order source (e.g. eBay, US, Amazon, Buy.com) |
Customer * |
Orders/Order/Customer |
1 per Order |
Container |
n/a |
Container node for the customer's information. |
CustomerCode * |
Orders/Order/Customer/CustomerCode |
1 per Order |
String |
1...50 |
A unique identifier of the customer in your system. This is often a username or email address. |
BillTo * |
Orders?Order/Customer/BillTo |
1 per Order |
Container |
n/a |
Container node for the customer's billing information. |
Name * |
Orders/Order/Customer/BillTo/Name |
1 per Order |
String |
1...100 |
The billing name. |
Company |
Orders/Order/Customer/BillTo/Company |
1 per Order |
String |
1...100 |
The billing company. |
Phone |
Orders/Order/Customer/BillTo/Phone |
1 per Order |
String |
0...50 |
The billing phone. |
|
Orders/Order/Customer/BillTo/Email |
1 per Order |
String |
0...100 |
Recommended so that ShipStation can notify the buyer when an order ships. |
ShipTo * |
Orders/Order/Customer/ShipTo |
1 per Order |
Container |
n/a |
Container node for the customer's shipping information. |
Name * |
Orders/Order/Customer/ShipTo/Name |
1 per Order |
String |
1...100 |
Recipient's name. |
Company |
Orders/Order/Customer/ShipTo/Company |
1 per Order |
String |
1...100 |
Recipient's company. |
Address1 * |
Orders/Order/Customer/ShipTo/Address1 |
1 per Order |
String |
1...200 |
Recipient's address line 1. |
Address2 |
Orders/Order/Customer/ShipTo/Address2 |
1 per Order |
String |
1...200 |
Recipient's address line 2. |
City * |
Orders/Order/Customer/ShipTo/City |
1 per Order |
String |
1...100 |
Recipient's city. |
State * |
Orders/Order/Customer/ShipTo/State |
1 per Order |
String |
2...100 |
US and Canadian addresses require the 2 character state/territory code. |
PostalCode * |
Orders/Order/Customer/ShipTo/PostalCode |
1 per Order |
String |
0...50 |
Required for domestic addresses and many international addresses. |
Country * |
Orders/Order/Customer/ShipTo/Country |
1 per Order |
String |
2 |
2-character ISO 3116-1 country code. |
Phone |
Orders/Order/Customer/ShipTo/Phone |
1 per Order |
String |
0...50 |
Required in some cases (e.g. overnight or international shipping). No specific format. |
Items * |
Orders/Order/Items |
1 per Order |
Container |
Container node for the order's items. |
|
Item |
Orders/Order/Items/Item |
Unlimited |
Container |
Container node for an individual order line item. |
|
LineItemID |
Orders/Order/Items/Item/LineItemID |
1 per Item |
String |
1...50 |
Unique identifier for the line item. |
SKU * |
Orders/Order/Items/Item/SKU |
1 per Item |
String |
1...50 |
Unique identifier for the product that was ordered. |
Name * |
Orders/Order/Items/Item/Name |
1 per Item |
String |
1...200 |
Name of the product |
ImageUrl |
Orders/Order/Items/Item/ImageUrl |
1 per Item |
String |
0...500 |
URL for the product's image |
Weight |
Orders/Order/Items/Item/Weight |
1 per Item |
Decimal |
9,2 |
Weight of a single line item. |
WeightUnits |
Orders/Order/Items/Item/WeightUnits |
1 per Item |
Enum |
Value should be one of the following: Pounds, Ounces, Grams |
|
Quantity * |
Orders/Order/Items/Item/Quantity |
1 per Item |
Integer |
1...99999 |
Quantity of items ordered. |
UnitPrice * |
Orders/Order/Items/Item/UnitPrice |
1 per Item |
Decimal |
9,2 |
Price of a single item. |
Location |
Orders/Order/Items/Item/Location |
1 per Item |
String |
0...100 |
Location of the product in the Warehouse |
Adjustment |
Orders/Order/Items/Item/Adjustment |
1 per Item |
Bool |
"true" if the line item represents a coupon, discount, or other adjustment. Note that any line item that is an adjustment must have a negative "UnitPrice" value. |
|
Options |
Orders/Order/Items/Item/Options |
1 per Item |
Container |
Container note for item options (e.g. color, size, etc.) |
|
Option |
Orders/Order/Items/Item/Options/Option |
10 per Item |
Container |
Container node for an individual option value. |
|
Name * |
Orders/Order/Items/Item/Options/Option/Name |
1 per Option |
String |
1...100 |
The name of the option (e.g. Size). |
Value * |
Orders/Order/Items/Item/Options/Option/Value |
1 per Option |
String |
1...100 |
The value of the option (e.g. XL). |
Weight |
Orders/Order/Items/Item/Options/Option/Weight |
1 per Option |
Decimal |
9 (with 2 decimal precision) |
If the option adds to the item weight, you may specify the additional weight here. This should be in the same units specified in WeightUnits. It should be the additional weight for a single quantity. |
The Order XML will be validated against the following schema:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Orders"> <xs:complexType> <xs:sequence> <xs:element name="Order" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:all> <xs:element type="String50" name="OrderID" minOccurs="0"/> <xs:element type="String50" name="OrderNumber"/> <xs:element type="DateTime" name="OrderDate"/> <xs:element type="String50" name="OrderStatus"/> <xs:element type="DateTime" name="LastModified"/> <xs:element type="String100" name="ShippingMethod" minOccurs="0"/> <xs:element type="String50" name="PaymentMethod" minOccurs="0"/> <xs:element type="xs:decimal" name="OrderTotal"/> <xs:element type="xs:decimal" name="TaxAmount" minOccurs="0"/> <xs:element type="xs:decimal" name="ShippingAmount" minOccurs="0"/> <xs:element type="String1000" name="CustomerNotes" minOccurs="0"/> <xs:element type="String1000" name="InternalNotes" minOccurs="0"/> <xs:element type="xs:boolean" name="Gift" minOccurs="0"/> <xs:element type="String1000" name="GiftMessage" minOccurs="0"/> <xs:element type="String100" name="CustomField1" minOccurs="0"/> <xs:element type="String100" name="CustomField2" minOccurs="0"/> <xs:element type="String100" name="CustomField3" minOccurs="0"/> <xs:element type="String100" name="RequestedWarehouse" minOccurs="0"/> <xs:element type="String50" name="Source" minOccurs="0" /> <xs:element name="Customer"> <xs:complexType> <xs:all> <xs:element type="String100" name="CustomerCode"/> <xs:element name="BillTo"> <xs:complexType> <xs:all> <xs:element type="String100" name="Name"/> <xs:element type="String100" name="Company" minOccurs="0"/> <xs:element type="String50" name="Phone" minOccurs="0"/> <xs:element type="Email" name="Email" minOccurs="0"/> <xs:element type="String200" name="Address1" minOccurs="0"/> <xs:element type="String200" name="Address2" minOccurs="0"/> <xs:element type="String100" name="City" minOccurs="0"/> <xs:element type="String100" name="State" minOccurs="0"/> <xs:element type="String50" name="PostalCode" minOccurs="0"/> <xs:element type="StringExactly2" name="Country" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="ShipTo"> <xs:complexType> <xs:all> <xs:element type="String100" name="Name"/> <xs:element type="String100" name="Company" minOccurs="0"/> <xs:element type="String200" name="Address1"/> <xs:element type="String200" name="Address2" minOccurs="0"/> <xs:element type="String100" name="City"/> <xs:element type="String100" name="State" minOccurs="0"/> <xs:element type="String50" name="PostalCode" minOccurs="1"/> <xs:element type="StringExactly2" name="Country"/> <xs:element type="String50" name="Phone" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Items"> <xs:complexType> <xs:sequence> <xs:element name="Item" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:all> <xs:element type="String50" name="LineItemID" minOccurs="0"/> <xs:element type="String100" name="SKU"/> <xs:element type="String200" name="Name"/> <xs:element type="xs:boolean" name="Adjustment" minOccurs="0"/> <xs:element type="xs:anyURI" name="ImageUrl" minOccurs="0"/> <xs:element type="xs:decimal" name="Weight" minOccurs="0"/> <xs:element name="WeightUnits" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:patternvalue="pound|pounds|lb|lbs|gram|grams|gm|oz|ounces|Pound|Pounds|Lb|Lbs|Gram|Grams|Gm|Oz|Ounces|POUND|POUNDS|LB|LBS|GRAM|GRAMS|GM|OZ|OUNCES"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element type="xs:int" name="Quantity"/> <xs:element type="xs:decimal" name="UnitPrice"/> <xs:element type="String100" name="Location" minOccurs="0"/> <xs:element name="Options" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Option" maxOccurs="100" minOccurs="0"> <xs:complexType> <xs:all> <xs:element type="String100" name="Name"/> <xs:element type="String100" name="Value"/> <xs:element type="xs:decimal" name="Weight" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute type="xs:short" name="pages"/> </xs:complexType> </xs:element> <xs:simpleType name="DateTime"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9][0-9]?/[0-9][0-9]?/[0-9][0-9][0-9]?[0-9]? [0-9][0-9]?:[0-9][0-9]?:?[0-9]?[0-9]?. ?[aApP]?[mM]?"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="Email"> <xs:restriction base="xs:string"> </xs:restriction> </xs:simpleType> <xs:simpleType name="StringExactly2"> <xs:restriction base="xs:string"> <xs:minLength value="2"/> <xs:maxLength value="2"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String30"> <xs:restriction base="xs:string"> <xs:maxLength value="30"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String50"> <xs:restriction base="xs:string"> <xs:maxLength value="50"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String100"> <xs:restriction base="xs:string"> <xs:maxLength value="100"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String200"> <xs:restriction base="xs:string"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String1000"> <xs:restriction base="xs:string"> <xs:maxLength value="1000"/> </xs:restriction> </xs:simpleType> </xs:schema>
Name |
XPath |
Max Occurrence |
Type |
Length |
Description |
---|---|---|---|---|---|
ShipNotice |
ShipNotice |
1 |
Container |
n/a |
Root Node |
OrderID |
ShipNotice/OrderID |
1 |
String |
1...50 |
Unique identifier for an order |
OrderNumber |
ShipNotice/OrderNumber |
1 |
String |
1...50 |
User-visible order identifier. |
CustomerCode |
ShipNotice/CustomerCode |
1 |
String |
1...50 |
A unique identifier of the customer in your system. This is often a username or email address. |
CustomerNotes |
ShipNotice/CustomerNotes |
1 |
String |
0...1000 |
Notes left by the customer when placing the order. |
InternalNotes |
ShipNotice/InternalNotes |
1 |
String |
0...1000 |
Private notes that are only viewed by your company. |
NotesToCustomer |
ShipNotice/NotesToCustomer |
1 |
String |
0...1000 |
Public notes to be communicated to the customer. |
NotifyCustomer |
ShipNotice/NotifyCustomer |
1 |
Bool |
If ShipStation send the customer a shipment notification email, this value will be "false". |
|
LabelCreateDate |
ShipNotice/LabelCreateDate |
1 |
Date/time |
The date the shipping label was created. UTC time. Format: MM/dd/yyyy HH:MM. |
|
ShipDate |
ShipNotice/ShipDate |
1 |
Date |
The date the package will be shipped. |
|
Carrier |
ShipNotice/Carrier |
1 |
String |
0...50 |
The shipping carrier used (USPS, UPS, FedEx) |
Service |
ShipNotice/Service |
1 |
String |
0...50 |
The shipping service used. |
TrackingNumber |
ShipNotice/TrackingNumber |
1 |
String |
0...50 |
The package's tracking number. |
ShippingCost |
ShipNotice/ShippingCost |
1 |
Decimal |
9,2 |
The cost to ship the package. |
Recipient |
ShipNotice/Recipient |
1 |
Container |
n/a |
Container node for the recipient's address. |
Name |
ShipNotice/Recipient/Name |
1 |
String |
1...100 |
Recipient's name. |
Company |
ShipNotice/Recipient/Company |
1 |
String |
0...100 |
Recipient's company. |
Address1 |
ShipNotice/Recipient/Address1 |
1 |
String |
1...200 |
Recipient's address line 1. |
Address2 |
ShipNotice/Recipient/Address2 |
1 |
String |
1...200 |
Recipient's address line 2. |
City |
ShipNotice/Recipient/City |
1 |
String |
0...100 |
Recipient's city. |
State |
ShipNotice/Recipient/State |
1 |
String |
US and Canadian addresses require the 2 character state/territory code. |
|
PostalCode |
ShipNotice/Recipient/PostalCode |
1 |
String |
0...50 |
Required for domestic addresses and many international addresses. |
Country |
ShipNotice/Recipient/Country |
1 |
String |
2 |
2-character country code. |
Items |
ShipNotice/Items |
1 |
Container |
Container node for the shipment's items. |
|
Item |
ShipNotice/Items/Item |
Unlimited |
Container |
Container node for an individual shipment line item. |
|
LineItemID |
ShipNotice/Items/Item/LineItemID |
1 per Item |
String |
1...50 |
Unique identifier for the line item. |
SKU |
ShipNotice/Items/Item/SKU |
1 per Item |
String |
1...100 |
Unique identifier for the product that was shipped. |
Name |
ShipNotice/Items/Item/Name |
1 per Item |
String |
1...200 |
Name of the product. |
Quantity |
ShipNotice/Items/Item/Quantity |
1 per Item |
Integer |
1...99999 |
Quantity of items shipped. |