Blueprint: ERP
Bringing ShipperHQ's detailed shipment information and rate quoting abilities into your ERP can improve workflows and ensure consistency between offline and online sales channels.
Prerequisitesโ
- An active ShipperHQ account on the ShipperHQ Enterprise plan
- Developers comfortable with using GraphQL (API standard used by ShipperHQ) and Json (results are provided with this format)
- Developers need to understand the ERP into which they will be integrating and have the ability to extend the ERP's functionality via external API calls to ShipperHQ
Use Casesโ
Detailed Shipment Infoโ
You want to capture accurate fulfillment information for orders where shipping quotes were provided by ShipperHQ (usually from an eCommerce platform). Relevant information might include ship-from locations, dispatch and delivery dates, packages used, and the original rates returned by the carrier before any adjustments.
With the ShipperHQ Insights API, you have access to the details ShipperHQ generated while producing the shipping option chosen by the customer at checkout. This allows you to enhance your ERP's reporting by including additional data like the original estimated shipping rate and shipping cost charged to the customer and matching this up with data you may already have like final carrier charge.
Additionally, when using an ERP to manage fulfillment, information like expected dispatch date and predicted packaging produced by ShipperHQ can be used to improve fulfillment accuracy and efficiency.
Relevant APIs
- Insights API to return shipment details
In-ERP Shipping Quotesโ
You want to enable your salesforce to provide quotes generated by ShipperHQ within your ERP for your offline sales channels.
When creating sales orders with your ERP, providing your sales teams with automated real-time shipping quotes generated by ShipperHQ can simplify the sales process and ensure consistency between offline and online sales channels.
Relevant APIs
- Rates API to get shipping rates and options
- PlaceOrder Mutation to capture successful orders placed or updated via the ERP
Advanced: Label Printingโ
You want to be able to seamlessly produce shipping labels during the fulfillment processes within your ERP.
By integrating ShipperHQ's Labels API, you can generate shipping labels natively within your ERP. Most commonly, this would be used when your ERP is the platform which manages your fulfillment operations. Beyond simply producing shipping labels, our Labels API takes advantage of ShipperHQ's powerful shipping logic to keep the integration straight forward without sacrificing functionality.
Relevant APIs
- Labels API to produce shipping labels
Beta API
The ShipperHQ Labels API is currently in closed Beta. ShipperHQ is looking for early access partners interested in participating in this program. Please contact us if interested.
ERP Integration Blueprintโ
Main use case: Getting detailed fulfillment information from ShipperHQ
These instructions are high-level and quite technical: a good knowledge of APIs, integrations, GraphQL is required to follow this blueprint. It is not a step by step guide to integrate any ERP but provides clear milestones from the most simple integration to the more complex (and complete).
caution
It is technically possible to use your live site to get rates because the Rates API is a read-only API. This being said, a preferred solution is to use a scope that is not LIVE
(e.g. TEST
, DEVELOPMENT
or INTEGRATION
). If you don't use a different scope or ShipperHQ account and instead use the LIVE ShipperHQ account and scope of your production website, be extremely careful when making any changes to your ShipperHQ configuration so as to not impact live rates.
Getting Started: Insights APIโ
As a key API for ERP integrations, its useful to start by taking some time to familiarize yourself with the ShipperHQ Insights API:
- Read the Insights API Guide
- Review the Insights API Reference
- Download and try out our Insights API Postman collection
We recommend starting with simpler orders from a single origin using a live-rate small package carrier (e.g. UPS, FedEx, etc.). Once you have this working, you can then enable additional functionality like multi-origin shipping, LTL Freight, international shipments, date & time, etc.
tip
Start with the Basic example included in our Insights API Postman collection as your guide to get started on your integration. This will help you understand the elements of the request and, more significantly, response. We recommend that you use the language that will be used to integrate with the ERP so that you have a working prototype uncoupled from the ERP extension framework.
What Insights functionality should I support?โ
Because this is a custom integration, you do not need to support all of ShipperHQ's functionality. However, it is highly recommended that you support all the functionality for your LIVE site. We recommend reviewing the Useful fields by feature provided on the Insights Quickstart for the most important elements for many of ShipperHQ's features and more advanced functionality. If you don't support the relevant fields for a given feature, you won't be receiving the full picture of the shipment.
You'll find more guidance on what elements we recommend supporting in the Insights API Quickstart Guide.
Optional: Retrieving Shipping Ratesโ
While integrating the Insights API with your ERP provides a variety of benefits, you can go further by supporting shipping rating for order creation within your ERP. If considering this option, take some time to familiarize yourself with the ShipperHQ Rates API:
- Read the Rates API Guide
- Review the Rates API Reference
- Download and try out our Rates API Postman collection
We recommend starting with a focus on the simpler retrieveShippingQuote
query. Once you have this working, you can decide whether retrieveShippingQuote
is enough for your needs. If not, please zoom-in and use the more complete (and complex) query: retrieveFullShippingQuote
.
tip
Re-use the token produced by our Postman collection to start coding with the language of your choice. This means you can get an understanding of the meat of the Rates API without having to first implement authentication yourself. We recommend that you use the language that will be used to integrate with the ERP so that you have a working prototype uncoupled from the ERP extension framework.
What Rates functionality should I support?โ
Because this is a custom integration, you do not need to support all of ShipperHQ's functionality. However, it is highly recommended that you support all the functionality for your LIVE site. Pay close attention to the ItemAttributes
used in production. If you do not support the same attributes, the rates displayed in the ERP will be different from the rates displayed on the Websites and this can lead to a negative sales experience for the buyers or for extra cost at fulfillment.
You'll find more guidance on what elements we recommend supporting on the Rates API Quickstart Guide.
PlaceOrder
Mutationโ
If you are already using or plan to use our Insights API to retrieve detailed shipment information about orders quoted via your integration of our Rates API you'll need to also implement the PlaceOrder
Mutation. This is called immediately after an order has been finalized directing ShipperHQ to store the shipment information and providing an Order ID from your system that can be used for Insights API calls to retrieve that order's shipment details.
Advanced: Printing Shipping Labelsโ
If your ERP also handles fulfillment operations, supporting shipping label generation and printing directly within your ERP can help simplify workflows. ShipperHQ's Labels API provides the ability to print shipping labels. If considering this option, take some time to familiarize yourself with the ShipperHQ Labels API:
- Read the Labels API Guide
- Review the Labels API Reference
- Download and try out our Labels API Postman collection
Beta API
The ShipperHQ Labels API is currently in closed Beta. ShipperHQ is looking for early access partners interested in participating in this program. Please contact us if interested.
How can I get support for my integration?โ
Developers should use the dedicated contact form on our developer portal to get in touch with our Dev Support team.