Custom Store v1

Tip

New Version Coming Soon

This version of the Custom Store spec is still fully supported but a new version is coming soon. Both versions will be supported for some time.

The Custom Store option in ShipStation allows a developer to build a custom connection for a selling channel that does not have a native 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.

How the Custom Store Works

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 in order information from your Custom Store, including recipient address, products, customers, etc.

  • POST: Allows ShipStation to post shipment information back to the shopping cart of marketplace 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 order information and send back shipment information.

Info

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.

Authentication

ShipStation uses Basic HTTP Authentication when calling your Web Endpoint.

Use a Basic Authentication Header to pass the credentials.

Paging

For stores with hundreds or thousands of orders per day, we recommend paging your results. To do this, simply 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.

Import Orders from the Custom Store

ShipStation requests order information from your Web Endpoint during ShipStation's updates 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 update a store's orders. The auto-update frequency depends the user's history of manual updates and several other factors.

Send Shipment Notifications

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.