Skip to main content

Blueprint: CRM

Customer Relationship Management platforms can be a key element of maintaining strong customer relationships and managing your company's data. Integrating ShipperHQ into your CRM can give your customer service teams real-time shipping quotes that are in sync with your eCommerce site or make their job easier by providing them with detailed shipment information for previous orders.


  • 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 CRM into which they will be integrating and have the ability to extend the CRMโ€™s functionality via external API calls to ShipperHQ

Use Casesโ€‹

In-CRM Shipping Quotesโ€‹

As a sales representative using a CRM to create quotes and sales orders, I want to obtain shipping rates and options via ShipperHQ so that the available shipping options and their cost can be accurately calculated for inclusion in my quote.

When creating an order, make an API call to ShipperHQ's Rates API to retrieve shipping rates and options for that specific order. ShipperHQ can also return additional information like delivery dates, packaging, and split shipments as appropriate.

Relevant APIs

Advanced: Detailed Shipment Infoโ€‹

As a sales representative using a CRM, I want to consult which shipping method was used for an order based on a quote captured in the CRM

ShipperHQ can store detailed shipment information about an order including: Origin Location for each shipment, weight & dimensions of each shipment, support for multiple delivery methods (Small Parcels, LTL, Pickup in Store, Local Delivery, etc.), Delivery Date & Time, etc. This can then be retrieved using the Insights API for display or automated use within the CRM.

Relevant APIs

CRM Integration Blueprintโ€‹

Main use case: Getting rates 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 CRM but provides clear milestones from the most simple integration to the more complex (and complete).


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โ€‹

Please take some time to familiarize yourself with the ShipperHQ Rates API:

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.


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 CRM so that you have a working prototype uncoupled from the CRM extension framework.

What ShipperHQ 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 CRM 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.

Advanced Use Casesโ€‹

Set up PlaceOrder from your CRMโ€‹

In order to leverage the Insight API that contains all the order information, you need to notify ShipperHQ that a quote is now an order. To do this, you need to use the PlaceOrder mutation. A call to PlaceOrder should be made each time an order is confirmed in your CRM. It can be done immediately or on a scheduled basis.

Retrieve the information with the Insights API and display it in your CRMโ€‹

Once your orders are properly captured in ShipperHQ, you can use the Insights API to retrieve all the fulfillment information.

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.