ShipHero is a warehouse and fulfillment platform that exposes shipment, inventory, and order data through its API. This guide walks you through connecting your ShipHero account, selecting the right configuration, and choosing a mapping template to exchange data reliably. You’ll also find practical tips and FAQs for validating results, scheduling runs, and resolving common issues. Use it as a step-by-step reference whether you’re setting things up for the first time or making updates later.
How To Connect
Choose the right Source Type
- ShipHero stores and ships your owned inventory.
- You replenish inventory to the 3PL.
- You send POs/FRs to be fulfilled by a supplier operating on ShipHero.
- Yes (Recommended): Orders can route here.
- No: Routing/Shipping steps won’t apply.
- Auto Processing (Use Global / Auto Process / Do NOT Auto Process)
- Commit Stock & Inventory options
- Allow Backorders / Cancel Unacknowledged Items
- Connection Name
- Access Token
- Refresh Token
-
Option A — Provided by ShipHero
Ask your ShipHero account manager or ShipHero Support for API Access Token and Refresh Token for your organization. They will generate and share the tokens securely. -
Option B — Generate from ShipHero Admin (Public API)
In your ShipHero admin, navigate to Settings (or Account) → Developers / Public API (wording may vary). Create/authorize an app for your organization and copy the issued access_token and refresh_token.
- The Access Token is short-lived. Flxpoint uses the Refresh Token to obtain new access automatically.
- Scope/permissions should include access to the data you plan to sync (orders, inventory, shipments).
- Keep both tokens secret. If you rotate tokens in ShipHero, update this connection accordingly.
- Re-paste the Access/Refresh tokens (ensure they haven’t expired or been rotated).
- Confirm the ShipHero user/app has required API scopes.
- Try again after a few minutes in case of temporary rate limiting.
Product Operations
Get Inventory (Primary)
ShipHero — Get Inventory (Primary)
Get Inventory (Primary) imports available/on‑hand quantities and pricing from ShipHero via API and updates your inventory records in Flxpoint using a Mapping Template (e.g., ShipHero – Get Source Products 1). Use this to keep product availability and costs in sync with your ShipHero warehouse(s).
-
1Create/Select Connection:
Choose ShipHero in the connector list → Create New Connection (or select an existing one) and enter your API credentials.
Access Token — ShipHero API access token
Refresh Token — ShipHero API refresh token
Click Test Connection and then Save Connection. -
2Configure Settings:
Set your import options, then save.
Warehouse ID (Optional) Blank: Imports inventory by summing all ShipHero warehouses.
Available and On‑Hand are summed; Price/Value use the lowest non‑zero found.Specified: Imports inventory only from the given warehouse ID.Archive / Un‑Archive Inventory Optional. If enabled, items missing from the feed are archived (qty set to 0) and later un‑archived if they reappear. Tip: If you also use Get Inventory (Secondary) on this source, enable Archive/Un‑Archive on only one of the two to avoid double‑archiving. - 3Define a Mapping Template: Select your template (e.g., ShipHero – Get Source Products 1) → Save and Complete.
- 4Run or Schedule: From the summary screen, you can run on demand and optionally enable Scheduled runs.
- Three steps marked complete: Connected → Configured → Mapped.
- “Automate” section with a Scheduled toggle.
| Template | Use Case | What it Covers | Availability |
|---|---|---|---|
| ShipHero – Get Source Products 1 | Primary ShipHero inventory via API | SKU, Available, On‑Hand, Cost/Price (as mapped) | Available |
Matches what you’ll see under Mapping Templates → ShipHero – Get Source Products 1.
| ShipHero Field | Flxpoint Inventory Variant Field | Required? | Notes |
|---|---|---|---|
| SKU | SKU | Yes | Primary identifier for the variant. |
| Available | Quantity | Yes | Usable stock for sale. |
| On Hand | Quantity (alt) / Reference | Optional | Can be used for logic or validation. |
| Price / Value | Cost | Optional | Maps to your cost/price field as configured. |
| Utility / Rule | Type | When it Helps | What it Does |
|---|---|---|---|
| Trim/Normalize SKU | Rule | Incoming SKUs have spaces/case differences | Uppercases and trims to match your catalog keys. |
| Zero‑out Missing Items | Rule or Archive toggle | Feed doesn’t include OOS items | Set qty to 0 or use Archive/Un‑Archive behavior. |
| Mapping Sets & Lists | Utility | Conditional quantity or vendor notes | Reference lists (e.g., exclusions) or assemble values. |
| Source | ShipHero API | Connect using Access/Refresh tokens. |
|---|---|---|
| Warehouse Scope | All warehouses (default) or Single warehouse (ID specified) | See Warehouse ID behavior above. |
| Scheduling | Supported | Enable the Scheduled toggle on the summary screen. |
| Notifications | Supported | You’ll receive a notification each time the job runs. |
- ShipHero API connection saved and passing Test Connection.
- Warehouse ID left blank if you want to aggregate across all warehouses.
- Mapping template selected and saved.
- Scheduling enabled if you want automatic updates.
Do I need to set a Warehouse ID?
No. Leave it blank to aggregate all warehouses.
My 3PL doesn’t assign a warehouse to all items.
Leave Warehouse ID blank to avoid errors and still import complete quantities.
Can I switch between “all warehouses” and “single warehouse” later?
Yes. Enter or remove the Warehouse ID at any time and re‑run Get Inventory.
Quantities aren’t changing after a run.
Make sure SKU and Available are mapped correctly and data exists in ShipHero.
Order Operation
Send Fulfillment Requests
ShipHero — Send Fulfillment Requests
Send Fulfillment Requests places orders to ShipHero using your selected mapping template. You’ll (1) connect ShipHero, (2) set a few order options (warehouse targeting, holds, business-hours window), and (3) choose a mapping template to format the header and line items.
- 1Connect ShipHero: Select your existing ShipHero connection → Save and Proceed.
- 2Configure Settings:
-
Warehouse ID (optional):
- Blank: Sends FRs without forcing a single warehouse; ShipHero will route per your account logic.
- Specified: Directs FRs to the given warehouse.
- Advanced → Hold for X Hours: Pause sending for X hours.
- Send During Business Hours: Only transmit during business hours.
-
Warehouse ID (optional):
- 3Select a Mapping Template: Choose your Send Fulfillment Requests template → Save and Complete.
• Leave blank if you want ShipHero to choose routing across sites.
• Provide a Warehouse ID to lock routing to a single facility.
| Template | Use Case | What it Sends | Availability |
|---|---|---|---|
| Send Fulfillment Requests | Place order (SFR) to ShipHero | Order header + lines (FR/PO, Ship-to, optional Warehouse ID, Title, SKU/Qty, notes) | Available |
Overview
Flxpoint builds a ShipHero Purchase Order with your mapping selections. Title is required by ShipHero; map it from Supplier → Shipping Methods (Name or Carrier + Method) or another appropriate product/line description field your team uses consistently.
Recommended minimum mapping
- Fulfillment Request Number → PO/Reference
- Ship-To Address → recipient name, street, city, region, postal code, country, phone, email
- Order Items → SKU and Quantity
- Title (required) → map from Source Shipping Method → Name (or combine Carrier + Method)
- Warehouse ID (optional) → static value when you must target a specific warehouse
| From (Source) | To (ShipHero / Request) | Type | Required? | Notes |
|---|---|---|---|---|
| Fulfillment Request Number | PO / Reference | Text | Yes | Unique per order. |
| Shipping Address (name, address, phone, email) | Ship-To | Group | Yes | Standard destination details. |
| Order Items → SKU | Line SKU | Text | Yes | Item identifier. |
| Order Items → Quantity | Line Qty | Number | Yes | Units requested. |
| Source Shipping Method → Name (or Carrier/Method) | Order Item → Title | Text | Yes | ShipHero requires Title; use Shipping Methods to supply it. |
| Static or Step Setting | Warehouse ID | Text | No | Blank = ShipHero routes per account logic; specified = target that warehouse. |
| Rule Name | Type | Input | Status | What it Does |
|---|---|---|---|---|
| If Carrier missing, set default | Conditional | String | Example | Uses a fallback (e.g., UPS Ground) when Shipping Method is not provided. |
| Normalize method names | Transform | String | Example | Maps synonyms (e.g., "2-Day" → "2 Day"). |
Note: After creation, a rule’s type and input can’t be changed.
| Utility | Availability | How You Might Use It |
|---|---|---|
| Mapping Sets | Optional — None created yet | Compose reusable shipping names/titles. |
| Lists | Optional — None created yet | Allow/deny lists for carrier selection conditions. |
| Product Builders | Available (default) | Default builder matches on Master SKU. |
| Carrier | Method | Name (suggested Title) | Notes |
|---|---|---|---|
| UPS | Ground | UPS Ground | General ground service. |
| UPS | 2nd Day Air | UPS 2 Day | Expedited air (2-day). |
| FedEx | Standard Overnight | FedEx Standard Overnight | Next-day delivery. |
| USPS | Priority Mail | USPS Priority | Lightweight or PO boxes. |
Example 1 — Always request UPS Ground
In your SFR template, map Order Item → Title to Source Shipping Method → Name and set the supplier’s Shipping Method Name to UPS Ground.
Example 2 — Choose by weight
Add a Conditional Rule:
- If Total Weight < 1 lb → Title =
USPS Priority. - Else → Title =
UPS Ground.
If you do not wish to send a specific service, still provide a descriptive Title (e.g., "Standard Shipping").
• Leave blank if you want ShipHero to choose routing across sites.
• Provide a Warehouse ID to lock routing to a single facility.
- ShipHero connection selected in Step 1.
- Warehouse ID left blank or set intentionally in Step 2.
- Template selected in Step 3; Title, SKU, and Quantity mapped.
- Supplier → Shipping Methods include Carrier + Method (and Name).
- Missing Title: Ensure Order Item → Title is mapped from a reliable source (e.g., Shipping Method Name). The request will fail without it.
- Unknown warehouse: If a specific Warehouse ID is provided, verify it exists in ShipHero. Leave blank to avoid restriction.
- Address checks: Provide full Ship-To details (recipient name, phone, email where required).
| Capability | Status | Notes |
|---|---|---|
| Fulfillment Request Number | Supported | Sent as PO/Reference. |
| Customer Association | Not Used | Not required for SFR. |
| FR Item Association | Supported | Line SKU and Qty are sent. |
| Warehouse Targeting | Optional | Provide Warehouse ID only when you must restrict fulfillment. |
| Attachments | Not Supported | Files aren’t sent. |
| Limitations | — | Title is required; ensure Shipping Methods are configured. |
- Check 1 – Title mapping: Order Item → Title mapped from Shipping Method Name (or Carrier + Method).
- Check 2 – Warehouse ID: Remove it if you do not need to restrict to a specific warehouse.
- Check 3 – Addresses: Complete Ship-To information including contact phone/email.
Get Shipments
ShipHero — Get Shipments
Get Shipments retrieves shipment updates from ShipHero for your recent Fulfillment Requests (FRs) and writes results to Flxpoint (carrier, method, cost, tracking, and dates) using your chosen Mapping Template. You’ll (1) connect ShipHero, (2) choose a Lookback window, and (3) select a template.
- 1Connect ShipHero: Select the existing ShipHero API connection (or create a new one with Access Token and Refresh Token) → Test Connection → Save.
-
2Configure Settings:
Click Save and Proceed.FR Lookback Period for Get Shipments Limits which FRs are checked for shipments. Options like 30/60/90 days (default 90). Choose a window that covers your typical shipping times. Advanced Settings No additional configuration is required for standard setups. - 3Select a Mapping Template: Choose your template (e.g., Get Shipments 2) → Save and Complete. From the summary page you can Run Integration on demand or enable Scheduled runs.
- Three steps marked complete: Connected → Configured → Mapped.
- “Automate” section with a Scheduled toggle and run notifications.
| Template | Use Case | What it Records | Availability |
|---|---|---|---|
| Get Shipments 2 | Pull shipments for recent FRs from ShipHero | Carrier, Method, Shipped At, Shipping Cost, Tracking Number/URL, Notes | Available |
Example mappings you’ll find in Mapping Templates → Get Shipments 2.
| From (ShipHero) | To (Shipment Field) | Type | Required? | Notes |
|---|---|---|---|---|
| Shipping Carrier | Carrier | Text | Recommended | e.g., UPS, FedEx, USPS. |
| Shipping Carrier Method | Method | Text | Optional | e.g., Ground, 2 Day. |
| Label/Shipping Cost | Shipping Cost | Number | Optional | Captured if provided by ShipHero. |
| Tracking Number | Tracking Number | Text | Yes | Used to update FR shipment record. |
| (Derived/URL) | Tracking URL | Text | Optional | Provide a carrier link if available. |
| Shipment Date | Shipped At | Date | Recommended | Sets the shipped timestamp. |
| Notes / Comments | Note | Text | Optional | Optional extra detail from ShipHero. |
| Utility / Rule | Type | When it Helps | What it Does |
|---|---|---|---|
| Normalize Carrier/Method | Rule | Carrier names vary (e.g., “UPS®” vs “UPS”) | Maps variants to a consistent label for reporting. |
| Build Tracking URL | Rule | URL not provided | Constructs a link from carrier + tracking number. |
| Mapping Sets & Lists | Utility | Special-casing accounts or carriers | Reference allow/deny lists or static lookups. |
| Inbound | ShipHero API | Reads shipments for FRs within your lookback period. |
|---|---|---|
| Scheduling | Supported | Enable the Scheduled toggle on the summary screen. |
| Notifications | Supported | You’ll receive a notification each time the job runs. |
- ShipHero API connection saved and passing Test Connection.
- Lookback period covers the FRs you expect to update.
- Correct mapping template selected and saved.
- Scheduling enabled if you want automatic updates.
No shipments are returning.
Expand the lookback window (e.g., 90 days) and confirm the FRs were created within that period.
Tracking is missing or blank.
Verify that the carrier generated a label and that Tracking Number is mapped in your template.
Carrier/Method look inconsistent.
Add a Normalize Carrier/Method rule to standardize values for reporting.