POST Endpoint

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 POST call allows ShipStation to post shipment information back to your cart or marketplace 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.

To allow ShipStation access to your cart or marketplace so it can POST data, you must build your Custom Store endpoint to the specifications defined in this guide.

POST Endpoint URL

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?SS-UserName=user&SS-Password=password&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
  • USPS
  • UPS
  • FedEx
  • DHL
  • DHLGlobalMail
  • Other
  • UPSMI
  • BrokersWorldWide
  • FedExInternationalMailService
  • CanadaPost
  • FedExCanada
  • OnTrac
  • Newgistics
  • FirstMile
  • Globegistics
  • LoneStar
  • Asendia
  • RoyalMail
  • APC
  • AccessWorldwide
  • AustraliaPost
  • DHLCanada
  • IMEX
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.

Example POST Request Body

Below is an example of the XML request body that will be included when ShipStation makes a POST API 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>[email protected]</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>