Skip to main content
WooCommerce Spoke WooCommerce to Spoke

FleetConnector Spoke Documentation

Complete guide to installing, configuring, and using the WooCommerce to Spoke integration plugin

Ready to automate your WooCommerce deliveries with Spoke?

Purchase the WordPress plugin for just €199/year. Unlimited orders, premium support included.

1

Installation

1.1 System requirements

Before installing the WooCommerce to Spoke plugin, ensure your system meets these requirements:

  • WordPress 5.8 or higher - The FleetConnector Spoke plugin requires modern WordPress features
  • WooCommerce 5.0 or higher - Must be installed and activated before FleetConnector Spoke
  • PHP 7.4 or higher - Required for modern PHP features
  • An active Spoke (Circuit) account with API access - Get your API key from Spoke dashboard
  • HTTPS enabled (recommended) - Required for Spoke webhooks to work properly

1.2 Installation steps

1

Purchase and Download

Purchase the WooCommerce to Spoke plugin from our website for €199/year. You'll receive a download link and license key via email.

After purchase → Check email → Download fleetconnector-spoke.zip
2

Upload to WordPress

Navigate to Plugins → Add New → Upload Plugin in your WordPress admin.

WordPress Admin → Plugins → Add New → Upload Plugin → Choose fleetconnector-spoke.zip
3

Activate Plugin

After upload completes, click "Activate Plugin". The WooCommerce to Spoke integration will automatically create necessary database tables for logging.

Important: WooCommerce must be installed and activated before activating FleetConnector Spoke. The plugin will not activate without WooCommerce.
4

Activate License

Go to WooCommerce → FleetConnector Spoke → License section and enter your license key to activate the integration.

WooCommerce → FleetConnector Spoke → License → Enter key → Activate License
2

Configuration

Configure the WooCommerce to Spoke connection and customize how orders are synchronized to delivery stops.

2.1 Connect WooCommerce to Spoke

Step 1: Get Your Spoke API Key

  1. Log in to your Spoke (Circuit) dashboard
  2. Navigate to Settings → API
  3. Click "Generate API Key" or copy your existing key
  4. Copy the generated API key

Step 2: Configure in WooCommerce

  1. In WordPress admin, go to WooCommerce → FleetConnector Spoke
  2. Find the "Spoke API Settings" section
  3. Paste your Spoke API key in the "Spoke API Key" field
  4. Click "Test Connection" to verify (should show your organization name)
  5. Click "Save Changes" at the bottom of the page
Success Indicator: When the WooCommerce to Spoke connection is successful, you'll see your organization name displayed.

2.2 Understanding Plans and Stops

Spoke organizes deliveries differently than other platforms. Understanding this structure is key to using FleetConnector Spoke effectively.

How Spoke Works

  • Plans: Daily containers for organizing deliveries (like a delivery schedule for a specific day)
  • Stops: Individual delivery points within a plan (your WooCommerce orders become stops)

Automatic Plan Management

FleetConnector Spoke automatically manages plans for you:

  • • When an order is created, the plugin checks the delivery date
  • • If a plan exists for that date, the stop is added to it
  • • If no plan exists, a new daily plan is automatically created
  • • Plan IDs are cached to minimize API calls
Benefit: You don't need to manually create plans. FleetConnector handles all plan management automatically based on delivery dates.

2.3 Automatic stop creation

Enable Auto-Create

Check the "Automatically create Spoke stops" checkbox to enable automatic stop creation when WooCommerce orders reach specific statuses.

Default: Enabled

When enabled, stops are created automatically. When disabled, you must create stops manually for each order.

Select Trigger Statuses

Choose which WooCommerce order statuses should trigger Spoke stop creation:

✓ Processing (Recommended)

Stop created as soon as payment is confirmed. Best for immediate dispatch.

✓ Completed (Recommended)

Stop created after order is fulfilled. Best for scheduled dispatch.

Tip: Most businesses use "Processing" to dispatch orders immediately after payment confirmation.

2.4 Synchronization settings

Auto-Sync Updates

When enabled, any changes to a WooCommerce order automatically update the corresponding Spoke stop.

What gets synchronized:

  • • Customer name and contact details
  • • Delivery address
  • • Order items and quantities
  • • Customer notes

Delete on Cancel

When enabled, cancelling a WooCommerce order automatically deletes the stop in Spoke.

Warning: This action cannot be undone. The stop will be permanently deleted from Spoke.

2.5 Default delivery windows

Set your default delivery time window. These times are used when no specific delivery date is provided by a delivery date plugin.

Complete After (Start Time)

Earliest time a delivery can take place

Default: 09:00
Format: HH:MM (24-hour)

Complete Before (End Time)

Latest time a delivery can take place

Default: 18:00
Format: HH:MM (24-hour)

2.6 Delivery date plugin integration

FleetConnector Spoke can automatically detect delivery dates from popular WooCommerce plugins and use them to organize stops into the correct daily plans.

Supported Delivery Date Plugins

Auto-detect (Recommended)

Automatically detects delivery dates from all supported plugins

Order Delivery Date for WooCommerce

Popular delivery date picker plugin

Iconic WooCommerce Delivery Slots

Advanced delivery slot management

Custom Field

Use your own custom delivery date field

How it works: The delivery date determines which daily plan the stop is added to. Orders with the same delivery date are grouped into the same plan for efficient route optimization.

2.7 Webhook settings

Webhook URL

Copy this URL to configure webhooks in your Spoke dashboard:

https://yoursite.com/wp-json/fleetconnector-spoke/v1/webhook

You'll configure this in Chapter 4 (Webhooks).

Order Status Mappings

Configure what happens to WooCommerce orders when Spoke stops change status:

Stop Completed Status

Select which order status to set when a delivery stop is completed in Spoke.

Common choice: Completed

Stop Failed Status

Select which order status to set when a delivery stop fails in Spoke.

Common choice: Failed or leave empty to keep current status

Save Driver Information

When enabled, FleetConnector Spoke saves driver name and ID to the order when a stop is assigned.

Recommended: Keep this enabled to track which driver delivered each order.

2.8 Display settings

Customize how FleetConnector Spoke displays information in your WooCommerce admin.

Show Spoke Status Column

Control whether the Spoke status column appears in your WooCommerce orders list.

Default: Enabled

When enabled, a "Spoke" column shows in the orders list with a checkmark for orders sent to Spoke and a dash for orders not sent.

Only Create Stops for Shipping Orders

When enabled, automatic stop creation only triggers for orders that require shipping. Virtual products, downloadable products, and local pickup orders will be skipped.

When to enable: Enable this if you sell both physical and digital products and only want to create delivery stops for physical orders that need shipping.
3

Features

FleetConnector Spoke provides multiple ways to create and manage Spoke stops from your WooCommerce orders.

3.1 Manual stop creation

Even with automatic stop creation enabled, you can manually create Spoke stops for individual orders.

From Order Actions Dropdown

  1. Go to WooCommerce → Orders
  2. Hover over an order in the list
  3. Click on "Create Spoke Stop" from the row actions
  4. The stop will be created immediately and you'll see a success message

From Order Edit Screen

  1. Open any WooCommerce order
  2. Look for the "Spoke Delivery" meta box on the right side
  3. Click the "Create Spoke Stop" button
  4. The stop will be created and the meta box will update with stop details

3.2 Bulk stop creation

Create Spoke stops for multiple orders at once using WooCommerce bulk actions.

How to Use Bulk Actions

  1. Go to WooCommerce → Orders
  2. Check the boxes next to the orders you want to process
  3. Select "Create Spoke Stops" from the Bulk Actions dropdown at the top
  4. Click "Apply"
  5. Wait for the processing to complete - you'll see a success message with the count

What happens during bulk creation:

  • • FleetConnector Spoke processes each order individually
  • • Orders that already have stops are skipped
  • • Invalid orders (missing address, etc.) are skipped with a warning
  • • Stops are automatically organized into daily plans by delivery date
  • • All actions are logged in the FleetConnector Dashboard

3.3 Spoke delivery information meta box

When editing any WooCommerce order, you'll see a "Spoke Delivery" meta box that shows the current status of the stop.

Information Displayed

  • Stop ID: Unique Spoke stop identifier
  • Plan ID: The daily plan this stop belongs to
  • Status: Current stop status (Pending, Allocated, Out for Delivery, Completed, Failed)
  • Assigned Driver: Name of the driver assigned to this delivery (if assigned)
  • Created: Date and time the stop was created

Available Actions

Create Spoke Stop

Available if no stop exists yet

Sync to Spoke

Manually push order updates to Spoke

3.4 Spoke status column

FleetConnector Spoke adds a "Spoke" column to your WooCommerce orders list for quick visibility of which orders have been sent to Spoke.

Status Indicators

Green checkmark

Order has been sent to Spoke

Gray dash

Order has not been sent to Spoke

4

Webhooks

Webhooks enable real-time synchronization from Spoke to WooCommerce. When drivers update stop status in Spoke, your WooCommerce orders automatically update.

4.1 Webhook setup

Step 1: Get Your Webhook URL

  1. In WordPress admin, go to WooCommerce → FleetConnector Spoke
  2. Scroll to the "Webhook Settings" section
  3. Copy the webhook URL displayed (it will look like https://yoursite.com/wp-json/fleetconnector-spoke/v1/webhook)
Important: Your site MUST use HTTPS for webhooks to work. Spoke requires secure connections for webhook endpoints.

Step 2: Configure in Spoke

  1. Log in to your Spoke dashboard
  2. Go to Settings → Webhooks
  3. Click "Add Webhook"
  4. Paste your webhook URL in the URL field
  5. Select which events you want to receive (see section 4.2)
  6. Click "Create Webhook"
Success: Once configured, the webhook will start sending notifications for stop status changes.

4.2 Supported webhook events

FleetConnector Spoke supports the following Spoke webhook events:

1 stop.attempted_delivery (Success)

When triggered: Driver marks a delivery as successfully completed in Spoke.

What happens:

  • WooCommerce order status updates to your configured "Completed" status
  • Completion time and driver information are saved to order meta
  • Event is logged in FleetConnector Dashboard

2 stop.attempted_delivery (Failed)

When triggered: Driver marks a delivery as failed in Spoke.

What happens:

  • WooCommerce order status updates to your configured "Failed" status (if set)
  • Failure reason is saved to order notes
  • Event is logged in FleetConnector Dashboard

3 stop.out_for_delivery

When triggered: Driver starts the delivery route and is en route to stop.

What happens:

  • Order note is added with start time
  • Event is logged in FleetConnector Dashboard

4 stop.allocated

When triggered: A stop is assigned to a driver in Spoke.

What happens:

  • Driver name and ID are saved to order meta (if "Save driver info" is enabled)
  • Order note is added with driver name
  • Event is logged in FleetConnector Dashboard

5 stop.unallocated

When triggered: A stop is removed from a driver's route in Spoke.

What happens:

  • Order note is added indicating unassignment
  • Event is logged in FleetConnector Dashboard

6 stop.deleted

When triggered: A stop is permanently deleted from Spoke.

What happens:

  • Stop ID is removed from order meta
  • Order note is added indicating deletion
  • Event is logged in FleetConnector Dashboard
Recommendation: Enable all webhook events in Spoke for complete synchronization.
5

Dashboard

The FleetConnector Spoke Dashboard provides complete visibility into all WooCommerce to Spoke synchronization activity.

5.1 Accessing the dashboard

Access the dashboard by navigating to:

WordPress Admin → WooCommerce → FleetConnector Spoke → Dashboard

5.2 Statistics overview

At the top of the dashboard, you'll see key statistics cards:

Total Synced Stops

Total number of stops successfully created in Spoke

Failed Stops

Stops that failed to sync due to errors

Webhooks Received

Total webhook events received from Spoke

Last 24 Hours

Stops synced in the last 24 hours

5.3 Activity log

The activity log shows a detailed record of all synchronization events between WooCommerce and Spoke.

Log Columns

  • Date/Time: When the event occurred
  • Order ID: WooCommerce order number (clickable link to order)
  • Action: What happened (Stop Created, Stop Updated, Webhook Received, etc.)
  • Status: Success or Error indicator
  • Message: Detailed information about the event
  • Details: View full technical details and API responses

5.4 Export to CSV

Export your activity log to CSV format for analysis, reporting, or record-keeping.

How to Export

  1. Apply any filters you want (date range, status, etc.)
  2. Click the "Export to CSV" button at the top of the dashboard
  3. The filtered results will download as a CSV file

5.5 Retry failed stops

If stops fail to sync due to temporary issues, you can retry them directly from the dashboard.

How to Retry

  1. Filter the log to show only "Error" status events
  2. Find the failed stop you want to retry
  3. Click "Retry" to attempt creation again
6

Technical Details

Understanding how FleetConnector Spoke works behind the scenes.

6.1 How the integration works

FleetConnector Spoke bridges WooCommerce and Spoke using WordPress hooks and direct HTTP API calls.

WooCommerce → Spoke Flow

1

Order reaches a trigger status (e.g., Processing)

2

FleetConnector hooks into woocommerce_order_status_changed

3

Delivery date is detected and a daily plan is found or created

4

Stop data is formatted for Spoke API

5

API request is sent to POST /plans/{plan_id}/stops

6

Stop ID and Plan ID are saved to order meta

6.2 Data sent to Spoke

When creating a stop, FleetConnector Spoke sends the following data:

Stop Data Structure

{
    "address": {
        "unparsed": "Full shipping address"
    },
    "recipient": {
        "name": "Customer Name",
        "phone": "+31612345678",
        "email": "customer@example.com",
        "externalId": "order_id"
    },
    "notes": "Order items and customer notes",
    "activity": "delivery",
    "packageCount": 2,
    "orderInfo": {
        "sellerOrderId": "WC-1234"
    }
}

6.3 Developer hooks and filters

Developers can customize FleetConnector Spoke behavior using WordPress hooks and filters.

Available Filters

fcs_stop_data_before_create

Modify stop data before creating in Spoke

add_filter('fcs_stop_data_before_create', function($stop_data, $order) {
    $stop_data['notes'] .= "\nCustom info: " . $order->get_meta('_custom_field');
    return $stop_data;
}, 10, 2);

fcs_phone_country_code

Customize default phone country code

add_filter('fcs_phone_country_code', function($code) {
    return '+1'; // US country code
});

Available Actions

fcs_stop_created

Runs after stop is successfully created in Spoke

add_action('fcs_stop_created', function($stop_id, $order, $result) {
    error_log('Stop created: ' . $stop_id . ' for order #' . $order->get_id());
}, 10, 3);

fcs_webhook_stop_completed

Runs when Spoke webhook indicates stop is completed

add_action('fcs_webhook_stop_completed', function($order, $data) {
    $order->add_order_note('Delivery completed via Spoke');
}, 10, 2);

6.4 Database structure

FleetConnector Spoke creates a custom database table to store synchronization logs.

Table: wp_fcs_stop_logs

Column Type Description
id BIGINT Primary key
order_id BIGINT WooCommerce order ID
action VARCHAR(50) Action type (stop_created, webhook_received, etc.)
status VARCHAR(20) success or error
message TEXT Human-readable message
details LONGTEXT JSON-encoded detailed data
created_at DATETIME Timestamp

Order Meta Keys

  • _spoke_stop_id - Unique Spoke stop identifier
  • _spoke_plan_id - Daily plan the stop belongs to
  • _spoke_stop_created - Timestamp when stop was created
  • _spoke_driver_name - Assigned driver name
  • _spoke_driver_id - Assigned driver ID
7

Troubleshooting

Common issues and their solutions when using the WooCommerce to Spoke integration.

7.1 Common issues

Stops Not Creating Automatically

Solutions:

  • Verify "Automatically create Spoke stops" is checked in settings
  • Check that the order status matches your configured trigger statuses
  • Ensure your Spoke API key is valid (test connection in settings)
  • Check FleetConnector Dashboard for error messages
  • Verify order has valid shipping address and phone number

Invalid Phone Number Error

Solutions:

  • Check the order's billing phone field is not empty
  • Ensure phone number contains at least 9 digits
  • For international orders, phone must include country code
  • Remove any letters or invalid characters from phone number

Webhooks Not Updating Orders

Solutions:

  • Verify your site uses HTTPS (required for webhooks)
  • Check webhook is configured correctly in Spoke dashboard
  • Test webhook URL is reachable from external services
  • Check FleetConnector Dashboard for incoming webhook logs
  • Verify permalink settings in WordPress (Settings → Permalinks → Save)

Address Geocoding Failures

Solutions:

  • Check shipping address is complete (street, city, postal code, country)
  • Verify address format is valid
  • Avoid using P.O. boxes (Spoke requires physical delivery addresses)
  • Check for typos or special characters in address fields

7.2 Getting support

If you can't resolve an issue using this documentation, we're here to help.

Before Contacting Support

Please gather the following information:

  • WordPress version and WooCommerce version
  • PHP version (visible in WooCommerce → Status)
  • FleetConnector Spoke plugin version
  • Screenshot of error message or unexpected behavior
  • Relevant log entries from FleetConnector Dashboard
  • Order ID of affected order (if applicable)

How to Contact Us

Email Support

Send an email to support@fleetconnector.app

Response time: Within 24 hours on business days

Premium Support Included

Your FleetConnector Spoke license includes priority email support and updates for one year.

7.3 Additional resources

Spoke (Circuit) API Documentation

developer.getcircuit.com - Official Spoke API reference

WooCommerce Documentation

woocommerce.com/documentation - WooCommerce guides and tutorials

FleetConnector Changelog

View version history - Track all updates and improvements