Articles in this section

Connecting a WooCommerce Store to ShipHero

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

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

  1. Log in to your WordPress Admin Panel and go to Settings > Permalinks.
  2. Select Post name.

    Permalink Settings page in the WordPress Admin Panel with Post name selected
  3. Save your changes.

Generate a WooCommerce REST API Key for ShipHero

  1. Log in to your WordPress Admin Panel.
  2. Go to WooCommerce > Settings > Advanced > REST API.
  3. Select Add Key. The Key Details screen opens.

    REST API page in WooCommerce Settings with the Add Key button
  4. Enter a Description.
  5. Select the User you want to generate the key for.
  6. Set Permissions to Read/Write.
  7. Select Generate API Key.

    Key Details screen in WooCommerce with Description, User, and Permissions fields and the Generate API Key button
  8. 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.

  1. Log in to app.shiphero.com and go to My Account > Stores.
  2. Select Add a New Store, then select WooCommerce.

     

    Add a New Store menu on the Stores page in ShipHero with WooCommerce highlighted in the list of store types
  3. Complete the fields in the Connect Your WooCommerce Store window. See the WooCommerce Connection Form Fields table below.
  4. Select Connect.
Connection details User Agent and inventory options
Connect Your WooCommerce Store window in ShipHero showing the connection steps and the empty Shop Name, Consumer Key, Consumer Secret, and URL fields
Connect Your WooCommerce Store window in ShipHero scrolled to the URL and User Agent fields, with the User Agent field highlighted, and the inventory and download checkboxes

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.

  1. Ask your hosting provider or security tool which User Agent values your firewall allows.
  2. Go to My Account > Stores in ShipHero, select Add a New Store, and select WooCommerce.
  3. Enter the value in the User Agent field.
  4. 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.
Stores page in ShipHero showing a connected WooCommerce store with the Download Orders, Map Statuses, Settings, Check Connection, and Disconnect buttons

WooCommerce Store Settings

Go to the Stores page, select Settings for your WooCommerce store, change the settings you need, and select Save.

WooCommerce Settings window, shown at three scroll positions (top, middle, bottom)
WooCommerce Settings window in ShipHero showing the Active, Push inventory numbers from ShipHero to WooCommerce, Do not import orders before this order id, and Start inventory as Zero settings
WooCommerce Settings window in ShipHero scrolled to the Update line item from store, weight and dimensions, Add Tracking Number to Customer Notes, and Handle Shipments Off ShipHero settings
WooCommerce Settings window in ShipHero scrolled to the Allocate Orders to Warehouse, Create Products Only In This Warehouse, and After Fulfilled Set Status settings
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.

  1. Go to the Stores page in ShipHero.
  2. Select Map Statuses for your WooCommerce store. The Map Your Woocommerce Statuses window opens with a row for each WooCommerce order status.
  3. 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.
  4. Select Save.
Map Your Woocommerce Statuses window in ShipHero listing WooCommerce order statuses with an Order Status and an Order Hold for each. The mapping shown is an example.

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.

  1. Go to the Stores page in ShipHero.
  2. Select Disconnect in the row for the WooCommerce store.

If ShipHero shows an error about removing webhooks, see Troubleshooting Guide: WooCommerce and ShipHero.

More Resources

  • ShipHero Public API

    Connect your tools and AI agents directly to ShipHero with the Public API. Build powerful integrations, automate workflows, and tap into real-time data using the AI tools you prefer, with the option for secure, read-only access for AI-driven insights without added risk.

  • ShipHero Academy

    Explore ShipHero Academy for certifications, deep-dive training, and expert-led courses on WMS and fulfillment. Build your expertise and help your team operate at a higher level.

  • Change Log

    Stay up to date with the latest improvements across ShipHero. The Change Log gives you a clear view of new features, enhancements, and fixes as they roll out—so you always know what’s new and what’s better.