Shipper Integration | ShipStation

Shipper Integration | ShipStation

Introduction & Prerequisites

Kornit X has created this shipper integration to connect with companies which can integrate with the ShipStation Shipping API to allow for shipping label creation via dispatch scan points. Once an item has been scanned, a shipment is created in the ShipStation system and a shipping label for one of your enabled ShipStation carriers will be generated. To correctly use this integration you must already have an account with ShipStation. 
If you do not already have an Shipstation account you can contact them here - ShipStation Account Setup
Please note, there is specific data that is needed to be set on products working through this integration. All Products must contain a weight set within the Ecommerce Data in order to correctly run through the ShipStation API. 

Setup Within Platform

To setup the ShipStation integration, please head to your dropship company and within the advanced settings head to "Shipper Integrations" and click to enable the ShipStation option. This had been shown below. 

In order to enable this integration we require a Client Key and Client Secret all of which will be provided by ShipStation within your account. Once these options are added you can save the integration setup to enable and this will now be an active shipper integration. You can also target a specific store and to do so simply add the Store ID into the setup window. 

Features Of This Integration

You can also set multiple options that you can enable once you have connected with ShipStation and these are the following include the following. Please note that not all of the below features need to be enabled or filled in, these options are available to give users the best service. The features are listed in the way they are within the Platform. 
  1. "Enabled" toggle - When the shipper integration has been turned on this toggle will be set to on. To disable the integration simply slide this to off. 
  2. "Ahead of time" toggle - With this toggle enabled, the system will attempt to create a shipment against the order, making the call to the carrier, shortly after order creation. Once enabled there will be an option to add a start time stamp (UTC) which will mean that the integration will only try to ship orders that were created after this time.
  3. "Ahead of time Order Creation" toggle - With the ShipStation integration there are 2 main steps: 1) Create the order in ShipStation and 2) Request a label for the order. When this toggle isn't enabled, both calls are made one after the other at the point the order is first scanned for dispatch.
  4. "Enable Shipment Status Webhook" toggle - Enable this option and set up a webhook in ShipStation as described in the following link here (Link). The webhook URL you should use in step 5 is https://api-client.custom-gateway.net/shipstation, You should set the event as "When an order is shipped". Any orders that are shipped in ShipStation will be marked as dispatched in the Kornit X Platform and tracking information will be populated on the order.
  5. "Use Variant Weight" toggle - With this toggle switched on, the weight of an item can be taken from a variant associated to a blank product. For this to work the stock products linked to the product as variants will need to have weight associated within the Ecommerce data. When enabled however, the integration will attempt to create the order in ShipStation shortly after the order has been created in the platform.
  6. "Store ID" textbox - Setting this allows for orders to be created under a specific store ID within ShipStation. 
  7. "Always Use Cheapest Available Service" toggle - If this is enabled on the integration then no shipping method is required to be set on the order, the cheapest available option in the connected ShipStation account will be used always. No shipping method needs to be set on the order in order manager if enabled.
  8. "Dropship Delegation" toggle - Enabling this toggle will enable Dropship Delegation against the dropship company. The use of dropship delegation allows for a fulfiller (F1) to sell items through the platform that are actually fulfilled by a further fulfiller (F2) who needs to be able to see and product the order on behalf of F1. The retailer doesn't need to have any visibility of F2 within this chain as they are ordering from and have a commercial agreement only with F1. 
  9. "Package Code" dropdown - Offers the choice between Package or Parcel to be set. Package is accepted by most US carriers whilst Parcel is more accepted for UK carriers.
  10. "From Postcode" textbox - Here the postcode of which the orders are sent from can be set so this will appear on shipping labels printed with this integration enabled. 
  11. "From Country" dropdown - For this dropdown you can set the country of origin of which the orders will be sent, this will match with the "From Postcode" added above. 
  12. "Shipping Insurance" Options dropdown - Offers the choice between different insurance types those being shipsurance, carrier or provider. For more details on the differences between insurance types click here
  13. "Insurance Trigger Amount" textbox - Relating to the Shipping Insurance options, a numerical value can be added here for a value to be added for shipping insurance per order. FOr more information on this please refer to the following ShipStation article here
  14. "Confirmation Type" dropdown - This is the type of confirmation you wish to receive on delivered orders, the dropdown offers the choices of Delivery, Signature or Adult Signature. 
  15. "Shipment Strategy" dropdown - A Shipment strategy can be set using this dropdown, this will make it so that for every shipment through the integration they will use one of the following options - Combined Parcels (Legacy Pricing), Combined Parcels, Individual Parcels, Enhanced (Variant weight, external dispatch) and Worx Combined Parcels. This can be left blank if you do not want to specify this. 
  16. "Pricing Strategy" dropdown - A Pricing strategy can be set using this dropdown which will make it so the pricing either comes from the Products (meaning the products must contain a price) and Orders. This can be left blank if you do not wish to specify this. 
  17. "Include Carriers That Require Non Funded Accounts" toggle - This should be enabled for non-funded accounts which are shippers that require payment up front per order sent.
  18. "Use Dropship Currency" toggle - Enabling this toggle will ensure that whatever currency is already set on the dropship is used, so if USD is set this will be the currency used throughout the integration. 
  19. "HTML Template" textbox - This field can be used to set custom shipping label using your own custom HTML. Setting this will ensure that all labels printed will use the template specified. 
A full list of ShipStation carrier and service codes can be found on the following link found here

Generating a shipping label from Platform

Once the ShipStation shipping integration has been configured, you can generated a ShipStation shipping label PDF from within the Platform by taking the following steps.

From within Platform, go to Sales > Order Manager  and locate the order you wish to create a shipping label for. When you have found the order you wish to ship, click on the whole order as shown below. 

After clicking on the order, you will see the Items listed and within these items you will find the Item ID which you need to copy for the next step as shown below. 

Finally, once the item ID has been copied, you need to head to Floor > Shipping Station and scan the barcode on the orders jobsheet or paste the Item ID  in the Dispatch Item box to generate the shipping label PDF for the order. 

Once the shipping label has been printed the order can be shipped. 

ShipStation Carrier & Service Codes

There are multiple different Carriers and Service Codes that can be used with ShipStation. A full list of ShipStation carrier and service codes can be found on the following link found here. Below are some examples of common carrier and service codes used with this integration. 
Location
Carrier
Service Name
API Service Code
API Carrier Code
Australia
Australia Post
Express Post
au_post_express_post_3J33
australia_post
Australia
Australia Post
Express Post + Signature
au_post_express_post_signature_3I35
australia_post
Australia
Australia Post
Parcel Post
au_post_parcel_post_3D53
australia_post
Australia
DHL Express AU
Express Worldwide Dutiable
dhl_australia_express_worldwide_dutiable
dhl_express_australia
Australia
UPS
UPS Express
ups_express
ups
Australia
UPS
UPS Worldwide Express
ups_worldwide_express
ups
UK
DHL Express UK
Domestic Express
dhl_uk_domestic_express
dhl_express_uk
UK
DHL Express UK
Express Worldwide EU
dhl_uk_express_worldwide_eu
dhl_express_uk
UK
DPD
DPD Next Day
dpd_next_day
dpd
UK
DPD
DPD Two Day
dpd_two_day
dpd
UK
DPD Local
Ship to Shop
ship_to_shop
apicode-dpd-local
UK
FedEx UK
Fedex International Priority
fedex_international_priority
fedex-uk
UK
Royal Mail
1st Class Signed For - BPR
rm_1st_class_signed_for
royal_mail
UK
Royal Mail
Royal Mail 24 - CRL
rm_24
royal_mail
UK
Royal Mail
2nd Class - BPL
rm_2nd_class
royal_mail
UK
UPS
UPS Express
ups_express
ups
Canada
Canada Post
Expedited Parcel USA
expedited_parcel_usa
canada_post
Canada
Canada Post
Priority
priortiy
canada_post
Canada
Canada Post
Tracked Packet - International
tracked_packet_international
canada_post
Canada
DHL Express CA
Express Worldwide
dhl_canada_express_worldwide
dhl_express_canada
Canada
Fedex
FedEx 1Day Freight
fedex_1_day_freight
fedex
Canada
Fedex
FedEx Economy
fedex_economy_international
fedex
Canada
UPS
UPS Standard International
ups_standard_international
ups
United States
DHL Express
Express Wordlwide
express_worldwide
dhl_express
United States
DHL Global Mail
Globalmail Business Priority
globalmail_business_priority
dhl_global_mail
United States
Fedex
FedEx 1Day Freight
fedex_1_day_freight
fedex
United States
Fedex
FedEx International Economy
fedex_international_economy
fedex
United States
UPS
UPS Standard
ups_standard
ups
United States
UPS
UPS Worldwide Express
ups_worldwide_express
ups

Shipstation Package Codes Mapping

The ShipStation integration offers more flexibility and control regarding Package Codes on orders.  Users can either setup some Package Code mapping on the integration, or setup order level Package Code mapping. This article has broken down how to do both.
The two methods for package code mapping are mutually exclusive.

Package Code Mapping
The Package Code dropdown must be set to blank.  Afterwards users must define a map of all methods they plan on using, in the following format, for example. This allows you to specify in advance which method maps to which Package Code.
"[method]: [packageCode]"
When setup correctly, it will look like this:
"
rm_intl_business_parcels_mail_large_letter_zone_sort: large_letter
rm_intl_business_parcels_zone_sort_priority_ie: parcel
rm_48: large_letter
rm_24: parcel
"

Order Level Package Code Mapping

To set this on an Order Level users need to make a change to the integration, and you need to modify what methods your orders map too.  This can be controlled with Shipping Mapping. To set it up on the integration, on the Package Code dropdown, change the option to "Dynamic". To set up the new order mapping, you must change the format the methods come in with, from "carrier|method", to "carrier|method|package_code".
For example, instead of mapping an order method to "royal_mail|rm_48", you would map it instead to "royal_mail|rm_48|large_letter" (or "royal_mail|rm_48|parcel" if you need to use the Parcel package code for this order).
When using methods with multiple potential Package Codes, this allows users to use whichever Package Code is appropriate for that order.


Shipstation Order Stacking

When on order is dispatched with a Shipstation carrier and method, the order will create an attribute, that makes sure it references the same Shipstation listing each time. This can be found within orders in Order Manager, under the Attributes tab as shown in the example below. This image is using a test order and the values were created as an example.

To be able to access the Attributes of any order, simply press "Edit" on the order and select the Attributes tab shown above. 

Examples

Below is an example of the kind of shipping label the system will generate for ShipStation. All labels printed for ShipSation will have the standard label size of 4x6 inches (101mm x 152mm). 

USPS Example of shipping label with priority mail 2 day set as the service code. 

FedEx example of shipping label printed for ShipStation

FAQs

The below has detailed some frequently asked questions that relate to the ShipStation shipper integration. 
 
My shipping_country is not being set?
The "shipping_country must use a 2-letter ISO code and this not being set is likely the cause. A full list of 2-letter ISO codes can be found linked here
 
My products are not passing within orders?
This will likely be down to missing weight information against your products. To check this open the product and go to the "Ecommerce & Data" section of the product and ensure within the data that the "weight" field has been filled in. Without this being set the products will not pass correctly.

My Order Stacking attributes contain incorrect information?
If ever the order attributes are incorrect, we recommend that you either delete the order attribute within the platform or by fixing the order within the ShipStation interface. If one of these methods is done the order will be dispatched correctly. 

I have a specific shipping method, how do I set this?
A lot of users would use the "Always Use Cheapest Available Service" toggle for their shipping but if a specific format is ALWAYS required then users must set this with the integration in the following format shown here  "shipstation_carrier_code|shipstation_service_code". 

    • Related Articles

    • Shipper Integration | ParcelHub

      Introduction This article has been created to show how to setup the Shipper Integration that Kornit X has built to connect to ParcelHub.  Setup To setup the ParcelHub integration, please head to your Dropship company and within the advanced settings ...
    • Shipper Integration | Nucleus

      Introduction This article has been created to show how to setup the Shipper Integration that Kornit X has built to connect to Nucleus, otherwise known as "ClickNShip". The following link takes you to the API documentation created by Nucleus - API ...
    • Shipper Integration | Paragon HDX

      Introduction This article has been created to show how to setup the Shipping Integration that Kornit X has built to connect to Paragon HDX.  Setup To setup the Paragon HDX integration, please head to your company and within the advanced settings head ...
    • Shipper Integration | GLS Spain

      Introduction This article has been created to show how to setup the Shipping Integration that Kornit X has built to connect to GLS Spain. Setup To setup the GLS Spain integration, please head to your company and within the advanced settings head to ...
    • Shipper Integration | Generic Label

      Introduction This article has been created to show how to setup the Shipping Integration that Kornit X has built to connect to a Generic Label. Setup To setup the Generic Label integration, please head to your company and within the advanced settings ...