Download the PHP package solution25/ship-hero-integration without Composer

On this page you can find all versions of the php package solution25/ship-hero-integration. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ship-hero-integration

License: MIT

ShipHero Integration for Shopware 6

Introduction

The ShipHero Integration Plugin creates a real-time, bidirectional sync between your Shopware 6 store and ShipHero — a cloud-based warehouse management and fulfillment platform. Once connected, your products, orders, and inventory levels are kept in sync automatically across both systems via webhooks and a queue-based message bus, with no manual intervention required during normal operation.

The plugin handles the full fulfillment lifecycle: pushing paid orders to ShipHero, updating delivery and tracking information back into Shopware when ShipHero ships them, keeping stock levels accurate in real time via inventory webhooks, and syncing your product catalog to ShipHero when products are created or updated in Shopware. It also includes preorder state management, a continuous inventory backfill safety net, an Admin log viewer, and a full suite of CLI commands for operations, debugging, and recovery.


Key Features

Bidirectional Order Sync

Real-Time Inventory Sync (ShipHero → Shopware)

Continuous Inventory Backfill

Product Sync (Shopware → ShipHero)

Webhook Registration & Verification

Preorder Support

Admin Log Viewer

GraphQL Client with Rate Limiting

Queue-Based Async Processing

CLI Commands

The plugin ships a full suite of console commands for operations, recovery, and debugging:

Command Description
shiphero:ping Verify API connectivity and list configured warehouses
shiphero:sync:orders-from-date Re-sync Shopware orders from a given date
shiphero:sync:sku Sync a single SKU to ShipHero
shiphero:sync:inventory:full Run a full inventory pull from ShipHero
shiphero:sync:products:all Enqueue a full product export to ShipHero
shiphero:webhooks:ensure Register or re-register all ShipHero webhooks
shiphero:webhooks:list List currently registered ShipHero webhooks
shiphero:webhooks:ensure-inventory Re-register inventory webhooks specifically
shiphero:preorder:reconcile Manually trigger preorder reconciliation
shiphero:preorder:force-shipped-done Force preorder orders to done after shipment
shiphero:fulfill:shopware-shipped Fulfill Shopware-shipped orders in ShipHero
shiphero:resync:address-holds Re-sync orders held due to address issues
shiphero:debug:inventory Debug ShipHero inventory for a specific SKU
shiphero:debug:inventory:all Debug full warehouse inventory
shiphero:debug:schema:field Inspect a ShipHero GraphQL schema field
shiphero:debug:schema:query Run a raw GraphQL debug query
shiphero:debug:order-line-item-schema Inspect the ShipHero order line item schema

Compatibility


Get Started

Installation & Activation

GitHub

  1. Clone the plugin into your Shopware plugins directory:

  2. Install the Plugin in Shopware 6

    • Log in to your Shopware 6 Administration panel.
    • Navigate to Extensions > My Extensions.
    • Locate the plugin and click Install.
  3. Activate the Plugin

    • After installation, click Activate to enable the plugin.
    • Run the following commands from your Shopware root:
  4. Build Administration Assets

  5. Verify Installation

    • After activation, you will see ShipHero Integration in the list of installed plugins.
  6. Verify API Connectivity

Plugin Configuration

After installing the plugin, configure your ShipHero credentials and sync preferences through the Shopware Administration panel.

Accessing the Configuration

  1. Go to Settings > System > Plugins > ShipHero Integration > Configure
  2. Set the following fields:

API Credentials

Field Description
ShipHero GraphQL API URL The ShipHero public API endpoint (e.g. https://public-api.shiphero.com/graphql)
Refresh Token Used to automatically renew access tokens
Access Token (Bearer) Preferred authentication method. Leave API Key/Secret empty if using this
API Key Basic auth key — used only if Access Token is empty
API Secret Basic auth secret — used only if Access Token is empty
Warehouse ID Your ShipHero warehouse ID used to filter inventory updates to the correct warehouse
Customer Account ID Your ShipHero customer account ID

Webhook Settings

Field Description
Public Webhook Base URL The public HTTPS base URL of your Shopware store (e.g. https://store.example.com). Used to auto-generate webhook endpoints
Inventory Webhook URL Override Optional: override the full inventory webhook URL
Product Webhook URL Override Optional: override the full product webhook URL
Order Webhook URL Override Optional: override the full order webhook URL
Webhook Secret Used to verify HMAC-SHA256 signatures on all incoming ShipHero webhook payloads

Sync Toggles

Field Default Description
Enable Product Sync Off Push product changes from Shopware to ShipHero automatically
Run Full Product Sync Now Off Toggle on to immediately enqueue a full product export to ShipHero
Product Sync Batch Size 100 Number of products per batch during full sync (1–500)
Send Empty Product Tags Off When on, products with no tags will clear ShipHero tags on update
Send Empty Product Images Off When on, products with no images will clear ShipHero images on update
Create-Only Product Sync Off Creates missing ShipHero products but skips updates for existing ones — use for initial backfill
Create-Only Strategy: Lookup Existing First On When in create-only mode: look up SKU before creating (best when most products already exist in ShipHero)
Enable Order Sync On Bidirectional order sync between Shopware and ShipHero
Enable Inventory Sync On Apply ShipHero inventory webhook events to Shopware stock
Enable Continuous Inventory Backfill Off Periodically pull and correct full warehouse inventory from ShipHero
Inventory Backfill Page Size 200 Rows per ShipHero request during backfill (1–200)

Order Mapping

Field Default Description
Order Create Trigger (transaction state) paid The Shopware transaction state that triggers order creation in ShipHero
Delivery Shipped State shipped Technical name of the Shopware delivery state used to mark orders as shipped
Order Cancelled State cancelled Technical name of the Shopware order state for cancellations
Apply tracking codes to first delivery On Attach ShipHero shipment tracking codes to the first order delivery in Shopware

How It Works

1. Order Created in Shopware → Pushed to ShipHero

When a Shopware order transaction reaches the configured trigger state (default: paid), the plugin enqueues a SyncOrderByNumberMessage. The message handler builds the full ShipHero order payload — including line items, shipping address, and billing details — and creates the order in ShipHero via GraphQL. The ShipHero order ID is stored on the Shopware order as a custom field.

2. ShipHero Ships the Order → Shopware Updated

When ShipHero ships the order, it sends an order webhook to your store. The webhook processor parses the event, matches it to the Shopware order by order number, updates the delivery tracking codes, and transitions the Shopware delivery state to shipped.

3. Inventory Updated in ShipHero → Shopware Stock Corrected

When inventory changes in ShipHero, an inventory webhook is dispatched to Shopware. The plugin filters the payload by your configured warehouse ID and updates the corresponding Shopware product stock levels. Digital products (flagged via a custom field) are automatically skipped.

4. Product Updated in Shopware → Pushed to ShipHero

When a product, its price, translation, tags, or images are updated in Shopware and product sync is enabled, the plugin enqueues a SyncProductBySkuMessage. The message handler classifies the product (standalone, variant, or parent with variants) and pushes the appropriate payload to ShipHero, including dimensions, images, tags, and name.

5. Webhook Registration

On first use (or when re-run via CLI), the plugin registers all required webhooks with ShipHero via the GraphQL API. Webhook IDs and shared secrets are stored in Shopware system config for subsequent signature verification.

6. Preorder Reconciliation

Orders with preorder line items are automatically placed in a Preorder state. A scheduled task runs every 5 minutes to check whether preorder items have been allocated or shipped in ShipHero and transitions the order out of the preorder state when ready.


Admin Sections Added by This Plugin

Section Location Description
ShipHero Logs Admin sidebar Browse daily plugin log files by date directly from the Admin

Uninstallation


License

MIT — see LICENSE for details.


Support

For questions or issues, please open a GitHub Issue or contact Solution25.


All versions of ship-hero-integration with dependencies

PHP Build Version
Package Version
Requires shopware/core Version ~6.6.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package solution25/ship-hero-integration contains the following files

Loading the files please wait ...