Connecting a WooCommerce store to ShipHero lets ShipHero import your WooCommerce products and orders, update inventory in your store, and send tracking back when orders ship. The connection takes two parts: set up your WooCommerce site and create a REST API key, then add the store in ShipHero.
Before You Begin
- WordPress access: You need to log in to your WordPress Admin Panel to change permalink settings and create a REST API key.
- Store URL: Use the final URL of your site. Redirects are not allowed. If your site uses HTTPS, the URL must start with "https://".
- Firewall or security plugin: If a firewall or security plugin on your site blocks requests from ShipHero, you may need to enter a custom User Agent when you connect. See the WooCommerce Custom User Agent section below.
For how the integration works after you connect, see Overview: How the WooCommerce Store Integration Works in ShipHero. For connection and disconnect errors, see Troubleshooting Guide: WooCommerce and ShipHero. For missing orders, products, inventory, or tracking, see Troubleshooting WooCommerce Orders, Products, Inventory, and Tracking in ShipHero.
Table of Contents
- Prep Your WooCommerce WordPress Site
- Connect WooCommerce to ShipHero
- After You Connect Your WooCommerce Store
- WooCommerce Store Actions and Settings After Connecting
- How to Map Statuses Between WooCommerce & ShipHero
- How to Disconnect a WooCommerce Store from ShipHero
Prep Your WooCommerce WordPress Site
Before you connect your WooCommerce store to ShipHero, set your WordPress permalinks to Post name and create a WooCommerce REST API key. WooCommerce permalinks control the web addresses your store uses, and the WooCommerce REST API needs Post name permalinks to respond to ShipHero.
Set WordPress Permalinks to Post Name for WooCommerce
- Log in to your WordPress Admin Panel and go to Settings > Permalinks.
- Select Post name.
- Save your changes.
Generate a WooCommerce REST API Key for ShipHero
- Log in to your WordPress Admin Panel.
- Go to WooCommerce > Settings > Advanced > REST API.
- Select Add Key. The Key Details screen opens.
- Enter a Description.
- Select the User you want to generate the key for.
- Set Permissions to Read/Write.
- Select Generate API Key.
- Copy the Consumer key and Consumer secret. You enter both in ShipHero in the next section.
Connect WooCommerce to ShipHero
After you create a REST API key, add your WooCommerce store in ShipHero. ShipHero checks the connection before it saves the store.
- Log in to app.shiphero.com and go to My Account > Stores.
-
Select Add a New Store, then select WooCommerce.
- Complete the fields in the Connect Your WooCommerce Store window. See the WooCommerce Connection Form Fields table below.
- Select Connect.
WooCommerce Connection Form Fields
| Field | What to enter or choose |
|---|---|
| Shop Name | A name for the store in ShipHero. |
| Consumer Key | The consumer key from the WooCommerce Key Details screen. |
| Consumer Secret | The consumer secret from the WooCommerce Key Details screen. |
| URL | The final URL of your WooCommerce site. If you leave off "https://", ShipHero adds it for you. |
| User Agent | The default value is ShipHero Request V1.0. If you leave this field blank, ShipHero uses the default value. Change it only if a firewall blocks ShipHero. |
| Allow ShipHero to manage your WooCommerce Inventory | When selected, ShipHero sends inventory updates to your WooCommerce store. After you connect, the Push inventory numbers from ShipHero to WooCommerce store setting controls this. |
| Download Products and Orders that are created in WooCommerce | When selected, ShipHero imports products and orders created in WooCommerce. This does not affect ShipHero updating any canceled or shipped orders. |
| Starting Inventory for Primary Warehouse | Choose whether to start at 0 or bring in your WooCommerce inventory levels. ShipHero brings the inventory into your primary warehouse. Your other warehouses start at 0. |
| Which warehouses should products be created in? | Select All Warehouses or Specific warehouses. |
WooCommerce Custom User Agent
A User Agent is a text label that ShipHero sends with each request to your WooCommerce store to identify itself. Some firewalls and security plugins block requests from tools they do not recognize, including the default ShipHero User Agent. When a firewall blocks ShipHero, entering a custom User Agent may allow the requests through.
- Ask your hosting provider or security tool which User Agent values your firewall allows.
- Go to My Account > Stores in ShipHero, select Add a New Store, and select WooCommerce.
- Enter the value in the User Agent field.
- Complete the other fields and select Connect.
If ShipHero still cannot connect, see Troubleshooting Guide: WooCommerce and ShipHero.
After You Connect Your WooCommerce Store
After you select Connect, ShipHero registers four webhooks in your WooCommerce store and starts an import of orders from the last 7 days and products from the last 600 days. The import can take a few minutes. A webhook is a message WooCommerce sends to ShipHero when an order or product is created or updated.
We recommend subscribing to WooCommerce's Shipment Tracking plugin so that tracking information is provided to customers. If you have the plugin installed, you can disable the Add Tracking Number to Customer Notes option to prevent multiple notifications being sent to the customer.
WooCommerce Store Actions and Settings After Connecting
After you connect a WooCommerce store, the Stores page shows a row for the store with action buttons. The Settings button opens the WooCommerce store settings.
WooCommerce Store Action Buttons on the Stores Page
- Download Orders: Retrieves orders from your WooCommerce store and queues them for import into ShipHero.
- Map Statuses: Opens the window where you map WooCommerce order statuses to ShipHero statuses.
- Settings: Opens the WooCommerce store settings.
- Check Connection: Tests the connection between ShipHero and your WooCommerce store.
- Disconnect: Removes the store connection from ShipHero.
WooCommerce Store Settings
Go to the Stores page, select Settings for your WooCommerce store, change the settings you need, and select Save.
| Setting | What it does |
|---|---|
| Active | When cleared, ShipHero does not sync with this store. |
| Push inventory numbers from ShipHero to WooCommerce | When selected, ShipHero sends inventory updates to WooCommerce. |
| Do not import orders before this order id | Keeps old orders out of ShipHero. ShipHero does not import any WooCommerce order with an ID lower than this number, even when WooCommerce sends a webhook for it. |
| Start inventory as Zero | When selected, inventory for imported products starts at 0 in ShipHero. |
| If the weight or dimensions for a product changes in WooCommerce, update that product in ShipHero to that weight or dimensions | When selected, ShipHero updates a product's weight and dimensions to match WooCommerce. |
| Add Tracking Number to Customer Notes | When selected, WooCommerce emails the tracking note to your customer. When cleared, ShipHero saves the note as an internal admin note. This setting is on by default. |
| Handle Shipments Off ShipHero | Sets how ShipHero handles orders that are fulfilled outside ShipHero. The options are Ignore, Create, and Create and Remove Stock. |
| Inventory Warehouse | Leave this set to All unless you want ShipHero to use only one warehouse for this store. |
| Allocate Orders to Warehouse | Sets the warehouse ShipHero allocates this store's orders to. The default is Let ShipHero Decide. |
| Create Products Only In This Warehouse | Sets one warehouse to create new products in. The default, All Warehouses, copies new products to all of your warehouses. |
| After Fulfilled Set Status | By default, ShipHero sets the WooCommerce order status to "completed" when an order is fulfilled. Select a different status here to use it instead. |
How to Map Statuses Between WooCommerce & ShipHero
WooCommerce has different order statuses, such as Processing, On hold, and Completed. Status mapping tells ShipHero what each WooCommerce status means and how to handle orders in that status. ShipHero creates default mappings when you connect, and you can change them at any time. For the defaults, see Overview: How the WooCommerce Store Integration Works in ShipHero.
- Go to the Stores page in ShipHero.
- Select Map Statuses for your WooCommerce store. The Map Your Woocommerce Statuses window opens with a row for each WooCommerce order status.
- For each WooCommerce status, choose an Order Status and an Order Hold. The Order Hold choices are Not Applicable, Fraud Hold, Address Hold, Shipping Method Hold, Payment Hold, and Operator Hold.
- Select Save.
WooCommerce Status Mapping Examples
- Set the status Pending to "Do Not Import" so that orders that are awaiting fulfillment in WooCommerce won't be imported into ShipHero until the status changes to something you want to be imported.
- Set the status Awaiting Payment to "Import" into ShipHero, but under the Order Hold option choose "Payment Hold" so that the order is not fulfilled until the payment clears.
- You can also map any WooCommerce status to a custom status that you created in ShipHero.
How to Disconnect a WooCommerce Store from ShipHero
Disconnecting a WooCommerce store removes the ShipHero webhooks from your WooCommerce store, then removes the store connection from ShipHero. If ShipHero cannot remove the webhooks, the disconnect stops and ShipHero shows an error.
- Go to the Stores page in ShipHero.
- Select Disconnect in the row for the WooCommerce store.
If ShipHero shows an error about removing webhooks, see Troubleshooting Guide: WooCommerce and ShipHero.