Printer’s Plan - ShipStation Integration Guide Follow
Printer’s Plan - ShipStation Integration Guide
The Printer’s Plan shipping integration allows shipment data originating from Printer’s Plan to be captured and sent to a third-party shipping software solution. Likewise, shipment data generated from the shipping software can automatically be added to Printer’s Plan.
The integration with third-party shipping software solutions is part of the 2021 update of Printer’s Plan.
***For Non-Cloud-Hosted Customers***: To use this feature, the Printer's Plan API (Web2Plan) must be installed on the same computer that hosts your Printer's Plan Database. Contact support for more details. For Cloud-Hosted users, the API is already installed.
Part 1: Integration Settings
Create a Shipping Integration.
In Printer's Plan go to the Settings section, open the Third Party Integrations folder and select Shipping. This will open the Shipping Integrations window:
In the Shipping Integrations window click New and enter the following information:
- Name: Enter ShipStation
- This needs to be EXACTLY the same.
- Username: Enter your ShipStation username.
- Password: Enter your ShipStation password.
- Secret Key and Webhook are not required, for now, and can be left blank.
- Click Set as Default to set the ShipStation as the default. This default integration is applied when creating a new shipment.
- Click Save and Close to save the integration.
- Click Generate Config File
Part 2: Configure ShipStation™
This section of the document outlines the configuration of ShipStation, depending on the version of Shipstation some of the screen and window options may have changed.
Log into ShipStation and click on the Gear icon at the top right corner to load the Settings page:
In the left margin expand the Selling Channels folder and select Store Setup:
On the Store Setup page click the + Connect to Store or Marketplace button:
In the Add your Store or Marketplace window select Custom Store:
This will open the Modify your Custom Store Connection window. In this window, in the URL to Custom XML Page enter the address of the Printer’s Plan API (example: http://demob.printvelocity.net/PlanWeb/ShipStationListener.aspx ).
*This URL will be provided by Print Reach, if you do not have it, please call us at 888-581-3100.*
In the Paid Status field enter the Printer’s Plan job status types -- Ready to Ship, In Progress, On Hold, and Ready to Post:
- Ready to Ship
- In Progress
- On Hold
- Ready to Post
After entering the credentials, click the Test Connection button to verify the connection is enabled. If the connection fails, review the following article from ShipStation for steps on correcting connection issues: https://help.shipstation.com/hc/en-us/articles/360025853072-Troubleshoot-New-Store-Connection-Issues
Additionally, the following IP addresses should be whitelisted:
- 34.200.1.155
- 34.199.251.255
- 34.199.30.113
- 34.200.10.239
- and if available, https://ss5.shipstation.com and/or @Shipstaton.com.
After a successful test, click the Connect button.
If you receive any errors read the _ShippingErrorLog log file located in your Job Requests folder for additional information.
In the New Custom Store window enter a store name and click Save Changes.
To map the Printer’s Plan shipping carriers and services select the Shipping Services tab and click the Add Service Mapping button:
In the Add a Service Mapping window, in the Service Key field enter the Printer’s Plan API code for the shipping carrier and shipping service, these values should be separated by a colon. The format should be ShippingCarrierApicode:ShippingServiceApiCode.
By default Printer’s Plan will use the Shipping Method name and Shipping Service name as the API code text.
In the Shipping Settings section, select the matching service and package and click the Save Changes button. Repeat this process for each shipping carrier/service combo.
Create a Webhook
Creating the Webhook allows shipment data created in ShipStation to automatically be sent to the Printer’s Plan shipment. With this integration the following information from ShipStation can flow into a Printer’s Plan shipment:
- Tracking Number
- Shipping Charge
- Date Shipped
- Shipping Carrier and Shipping Service
To enable this workflow the Printer’s Plan API URL needs to be added as a webhook in ShipStation. To enable this option, on the ShipStation settings page select the Integrations menu option and click Integration Partners. On the Integration Partners page select webhooks:
On the Webhooks page click the Add a Webhook button. This will display fields allowing you to configure the webhook.
- In the Name field, enter Printer’s Plan.
- Select On Orders Shipped.
- In the Send to URL field enter the URL of the Printer’s Plan API (example: https://demob.printvelocity.net/PlanWeb-APISandbox/ShipStationListener.aspx ).
After entering this data click Save.
NOTE: Printer's Plan will only receive data from Shipstation if either:
1. The order is manually marked as shipping by the "Other Actions" -> "Mark as Shipped Option"
2. The label is scanned by the shipper. It will not send data after a label is created, only when it's scanned.
Part 3: Shipment Integration Workflow
This section outlines the workflow of creating a shipment in Printer’s Plan and integrating the shipment with ShipStation.
In ShipStation click the Update button -- clicking this button will capture and load all the Printer’s Plan shipments created since the last time the update ran.
When a shipment is processed in ShipStation the following information will be sent to the Printer’s Plan shipment:
- Tracking Number
- Date Shipped
- Cost
- Shipping Carrier and Service.
NOTE: Cost will only be included if you have created a label for this shipment. If you just enter a cost in the Shipping Details screen of ShipStation the cost will not be included.
Grouped Shipments
In some instances multiple Printer’s Plan items will be grouped together in a single shipment. To accommodate this scenario do the following:
In Printer’s Plan create a shipment record for each item and click the All Shipments to list all the shipments for the job:
Highlight the shipments that are being grouped together and right-click on one of the shipments. On the menu that appears select Group Selected -- this will group the selected shipments:
In ShipSation the grouped shipment will be listed as a single shipment record with multiple items:
When a grouped shipment is processed in ShipStation, the Tracking Number, Ship Date, Shipping Carrier and Shipping service will be applied to each grouped shipment record in Printer’s Plan. However, the shipping cost will only be applied to the first shipment of the grouped shipment.
Edit the Shipment Configuration file.
As part of the shipping integration Printer’s Plan creates a configuration file named ShippingConfig.txt. This file is located in the Shipments folder, which resides in the directory where the Printer’s Plan database file is stored. Editing this file is required when you wish to markup the cost from Shipstation.
The data in the configuration file is used to set defaults for a shipping integration. In this file you can establish the API configuration codes for each shipping carrier and shipping service. Additionally, you can set the default cost and markup rates for each shipping carrier for each shipping integration.
The text in this file is structured in JSON format and can be edited using Windows Notepad. We suggest making a backup of this file before making any changes. When you open this file, each shipping integration will be listed by its Integration ID. Under each integration is a listing of the Printer’s Plan Shipping Methods (Carriers) and Shipping Services:
The Integration ID can be found in the last column of the Shipping Integrations window:
For each Shipping Integration the following options can be configured:
Set the API Codes for each Shipping Carrier (Method)
Setting the API Codes for each Shipping Carrier (Method) creates a mechanism that allows you to map the Printer’s Plan shipping carrier with the corresponding carrier in the third-party shipping software. To set the API codes for the shipping carriers do the following:
- Open the configuration file ShippingConfig.txt.
- Find the section for the integration (by Integration ID).
- For each Method, in the “ApiCode” field enter the text for the API code.
- Save the file.
Set the API Code for the Shipping Service
Setting the API Codes for each Shipping Service creates a mechanism that allows you to map the Printer’s Plan shipping service with the corresponding service in the third-party shipping software. To set the API codes for the shipping carriers do the following:
- Open the configuration file ShippingConfig.txt.
- Find the section for the integration (by Integration ID).
- For each Service, in the “ApiCode” field enter the text for the API code.
- Save the file.
Set a Default Shipping Cost
To set the a default cost for a shipping carrier for a shipping integration do the following:
- Open the configuration file ShippingConfig.txt.
- Find the section for the integration (by Integration ID).
- For each Method, in the “DefaultCost” field enter a default cost. This default cost will be applied to the shipment record when the shipping carrier/integration is selected in the Shipments window.
- Save the file.
Set a Default Markup Rate
To set the a default markup for a shipping carrier for a shipping integration do the following:
- Open the configuration file ShippingConfig.txt.
- Find the section for the integration (by Integration ID).
- For each Method, in the “Markup” field enter a default markup. This markup will be applied to the shipment record when the shipping carrier/integration is selected in the Shipments window. Additionally, if the third party shipping software sends shipment cost to Printer’s Plan, this cost will be multiplied by the default markup to generate a shipping price.
- Save the file.
API Detail Passed from Printer's Plan to ShipStation.
The Printer's Plan Shipping Workflow API will contain more information about what data can get passed from Printer's Plan to Ship Station. This is a technical document that should help answer specific questions about specific data.
Troubleshooting Connection Problems.
If you see the error EXCEPTION(OrderRequest): Object reference not set to an instance of an object it's possible your ShippingConfig.txt file is misformatted. Create a backup of this file and generate a new one by deleting the old one and using the Generate Config File button from within Printer's Plan. If the errors stop that points to something being misformatted in the config file.
You can use this website https://www.diffchecker.com/ to compare the old file with the new file to pinpoint the issue. The first step will always be getting a config file with a created date of that day's date (Today).