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.
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
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.
Upload to WordPress
Navigate to Plugins → Add New → Upload Plugin in your WordPress admin.
Activate Plugin
After upload completes, click "Activate Plugin". The WooCommerce to Spoke integration will automatically create necessary database tables for logging.
Activate License
Go to WooCommerce → FleetConnector Spoke → License section and enter your license key to activate the integration.
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
- Log in to your Spoke (Circuit) dashboard
- Navigate to Settings → API
- Click "Generate API Key" or copy your existing key
- Copy the generated API key
Step 2: Configure in WooCommerce
- In WordPress admin, go to WooCommerce → FleetConnector Spoke
- Find the "Spoke API Settings" section
- Paste your Spoke API key in the "Spoke API Key" field
- Click "Test Connection" to verify (should show your organization name)
- Click "Save Changes" at the bottom of the page
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
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.
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.
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
Format: HH:MM (24-hour)
Complete Before (End Time)
Latest time a delivery can take place
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
2.7 Webhook settings
Webhook URL
Copy this URL to configure webhooks in your Spoke dashboard:
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.
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.
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
- Go to WooCommerce → Orders
- Hover over an order in the list
- Click on "Create Spoke Stop" from the row actions
- The stop will be created immediately and you'll see a success message
From Order Edit Screen
- Open any WooCommerce order
- Look for the "Spoke Delivery" meta box on the right side
- Click the "Create Spoke Stop" button
- 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
- Go to WooCommerce → Orders
- Check the boxes next to the orders you want to process
- Select "Create Spoke Stops" from the Bulk Actions dropdown at the top
- Click "Apply"
- 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
Order has been sent to Spoke
Order has not been sent to Spoke
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
- In WordPress admin, go to WooCommerce → FleetConnector Spoke
- Scroll to the "Webhook Settings" section
- Copy the webhook URL displayed (it will look like https://yoursite.com/wp-json/fleetconnector-spoke/v1/webhook)
Step 2: Configure in Spoke
- Log in to your Spoke dashboard
- Go to Settings → Webhooks
- Click "Add Webhook"
- Paste your webhook URL in the URL field
- Select which events you want to receive (see section 4.2)
- Click "Create Webhook"
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
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:
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
- Apply any filters you want (date range, status, etc.)
- Click the "Export to CSV" button at the top of the dashboard
- 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
- Filter the log to show only "Error" status events
- Find the failed stop you want to retry
- Click "Retry" to attempt creation again
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
Order reaches a trigger status (e.g., Processing)
FleetConnector hooks into woocommerce_order_status_changed
Delivery date is detected and a daily plan is found or created
Stop data is formatted for Spoke API
API request is sent to POST /plans/{plan_id}/stops
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
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