Skip to main content

Site Management

Manage multiple e-commerce sites (BigCommerce and WooCommerce) from a single dashboard.

Overview

Site Management allows you to:

  • Add and configure e-commerce sites
  • Enable/disable sync operations per site
  • Test API connections
  • Monitor sync status
  • Manage site-specific settings

Location: WordPress Admin → GSM Middleware → Control Panel

Adding a Site

BigCommerce Site

  1. Click "Add Site" button
  2. Fill in the form:

Basic Information:

  • Site Name: Main BigCommerce Store
  • Platform: Select "BigCommerce"
  • Site URL: https://mainstore.com
  • Store Hash: abc123xyz (from BC API Path)

API Credentials:

  • Client ID: From BigCommerce API Account
  • Access Token: From BigCommerce API Account
  • Client Secret: From BigCommerce API Account (optional)

Sync Settings:

  • Enable Order Sync: ✅
  • Enable Inventory Sync: ✅
  • Enable Tracking Sync: ✅

Advanced:

  • Min Date Modified: 2026-01-01 (optional - only sync orders after this date)
  • Store ID: Internal identifier (auto-generated if blank)
  1. Click "Test Connection"
  2. If successful, click "Save"

WooCommerce Site

  1. Click "Add Site" button
  2. Fill in the form:

Basic Information:

  • Site Name: WooCommerce Store
  • Platform: Select "WooCommerce"
  • Site URL: https://woostore.com

API Credentials:

  • Consumer Key: ck_abc123...
  • Consumer Secret: cs_xyz789...

Sync Settings:

  • Enable Order Sync: ✅
  • Enable Inventory Sync: ✅
  • Enable Tracking Sync: ✅

Advanced:

  • API Version: wc/v3 (default)
  • Verify SSL: ✅ (uncheck for self-signed certs)
  1. Click "Test Connection"
  2. If successful, click "Save"

Site Configuration

Sync Configuration Tabs

The site edit modal now features a tabbed interface for organizing sync settings. Each sync type has its own dedicated tab with specific configuration options.

Available Tabs

  1. Order Sync

    • Enable/disable order synchronization
    • Health check URL for monitoring
    • Platform-specific order settings
  2. Inventory Sync

    • Enable/disable inventory synchronization
    • Health check URL for monitoring
    • Webhook secret (BigCommerce) for real-time updates
    • Stock buffer and threshold settings
  3. Tracking Sync

    • Enable/disable tracking synchronization
    • Health check URL for monitoring
    • Carrier mapping configurations
  4. BazaarVoice

    • Enable/disable BazaarVoice product export
    • Health check URL for monitoring
    • SFTP credentials (shown when enabled)
  5. Kit Builder (BigCommerce only)

    • Enable/disable kit builder synchronization
    • Health check URL for monitoring
    • Kit-specific configurations

Health Check URLs

Each sync type supports an optional health check URL for external monitoring (e.g., healthchecks.io, Better Uptime).

How it works:

  1. Create a monitor in your monitoring service
  2. Copy the ping URL (e.g., https://healthchecks.io/ping/abc-123-xyz)
  3. Paste into the relevant sync tab
  4. The sync operation will ping this URL on successful completion
  5. Monitor gets alerted if sync doesn't complete on schedule

Benefits:

  • Independent monitoring per sync type
  • Know immediately when a specific sync fails
  • Track sync frequency and reliability
  • Historical uptime data

Webhook Secret (Inventory Sync - BigCommerce)

For real-time product tracking via webhooks:

  1. Navigate to Inventory Sync tab
  2. Enter the webhook secret from your BigCommerce webhook configuration
  3. Secret is encrypted and stored securely
  4. Used to verify webhook signatures (HMAC-SHA256)
  5. Ensures only authentic webhooks are processed

Setting up webhooks:

BigCommerce Settings

Getting API Credentials

  1. Log in to BigCommerce store
  2. Go to Settings → API Accounts
  3. Click "Create API Account"
  4. Select "V3 API Token"
  5. Name: GSM Middleware
  6. OAuth Scopes required:
    • Orders: Read & Modify
    • Products: Read & Modify
    • Customers: Read-only
    • Information: Read-only
  7. Click "Save"
  8. Copy credentials (shown only once!)

Store Hash

Found in API Path:

https://api.bigcommerce.com/stores/{store_hash}/v3/

Example: If path is https://api.bigcommerce.com/stores/abc123xyz/v3/, store hash is abc123xyz

WooCommerce Settings

Generating API Keys

  1. Log in to WooCommerce site
  2. Go to WooCommerce → Settings → Advanced → REST API
  3. Click "Add Key"
  4. Fill in:
    • Description: GSM Middleware
    • User: Select admin user
    • Permissions: Read/Write
  5. Click "Generate API Key"
  6. Copy Consumer Key and Consumer Secret

API Version

Default: wc/v3 (WooCommerce 3.0+) Older sites: wc/v2 (WooCommerce 2.6+)

Managing Sites

Edit Site

  1. Find site in Control Panel list
  2. Click "Edit" button
  3. Modify settings
  4. Click "Test Connection" to verify
  5. Click "Save"

Enable/Disable Site

Disable a site (temporarily stop all syncs):

  1. Find site in list
  2. Toggle switch to OFF (gray)
  3. Confirm action
  4. Site status changes to "Inactive"

Re-enable:

  1. Toggle switch to ON (green)
  2. Site resumes syncing on next cron run

Delete Site

⚠️ Warning: Deleting a site does not delete orders or data!

  1. Click "Delete" button
  2. Confirm deletion
  3. Site removed from configuration
  4. Historical orders remain in database

To completely remove site data:

DELETE FROM rm_order WHERE site_id = 5;
DELETE FROM rm_lineitems WHERE site_id = 5;
DELETE FROM rm_address WHERE site_id = 5;

Clone Site

Duplicate a site configuration:

  1. Click "Clone" next to site
  2. New site created with same settings
  3. Modify name and credentials
  4. Save

Use cases:

  • Setting up production and staging sites
  • Migrating from test to live
  • Managing multiple stores with similar config

Sync Settings

Each sync type can be configured independently through the tabbed interface in the site edit modal.

Order Sync Tab

Enable/Disable:

  • Toggle "Enable Order Sync" to start/stop order synchronization
  • When disabled, orders are not fetched from the platform
  • Existing orders in the database remain unaffected

Health Check URL:

  • Optional external monitoring endpoint
  • Pinged on successful order sync completion
  • Format: https://healthchecks.io/ping/your-unique-id

Additional Settings:

  • Min Date Modified: Only sync orders after this date (format: YYYY-MM-DD)
  • Max Orders Per Run: Limit orders fetched per cron run (default: 100)
  • Skip Test Orders: Automatically skip orders under $1.00

Inventory Sync Tab

Enable/Disable:

  • Toggle "Enable Inventory Sync" to start/stop inventory updates
  • When disabled, inventory is not pushed to the platform
  • Item data is still synced from Business Central to local database

Health Check URL:

  • Optional external monitoring endpoint
  • Pinged on successful inventory sync completion
  • Useful for tracking sync reliability

Webhook Secret (BigCommerce):

  • Required for webhook signature verification
  • Obtain from BigCommerce webhook configuration
  • Stored encrypted in database
  • Enables real-time product tracking

Additional Settings:

  • Stock Buffer: Reserve quantity to prevent overselling (e.g., 5 units)
  • Out of Stock Threshold: Mark unavailable below this quantity (default: 0)
  • Update Frequency: How often to push inventory updates

Tracking Sync Tab

Enable/Disable:

  • Toggle "Enable Tracking Sync" to start/stop tracking number updates
  • When disabled, tracking numbers are not posted to the platform
  • Tracking data is still stored in the database for order records

Health Check URL:

  • Optional external monitoring endpoint
  • Pinged on successful tracking sync completion
  • Monitor shipment notification reliability

Additional Settings:

  • Auto-Complete Orders: Automatically mark orders as "Completed" when tracking is posted
  • Email Customer: Trigger the platform's shipment notification email
  • Carrier Mapping: Map Business Central carrier codes to platform carriers

BazaarVoice Tab

Enable/Disable:

  • Toggle "Enable BazaarVoice Sync" to start/stop product exports
  • Conditional panel appears when enabled for SFTP credentials

Health Check URL:

  • Monitor BazaarVoice export operations
  • Track successful SFTP uploads

SFTP Configuration (appears when enabled):

Kit Builder Tab (BigCommerce Only)

Enable/Disable:

  • Toggle "Enable Kit Builder Sync"
  • Only available for BigCommerce sites
  • Syncs kit builder product configurations

Health Check URL:

  • Monitor kit synchronization operations
  • Track configuration updates

Testing Connections

Test Connection Button

Verifies:

  • API credentials are valid
  • Site URL is accessible
  • Required API scopes/permissions exist
  • Network connectivity

Success indicators:

  • ✅ Green checkmark
  • "Connection successful" message
  • Store info displayed (name, version)

Failure indicators:

  • ❌ Red X
  • Error message with details
  • Troubleshooting suggestions

Common Connection Errors

BigCommerce

401 Unauthorized:

  • Invalid access token
  • Expired credentials
  • Wrong store hash

403 Forbidden:

  • Missing required OAuth scopes
  • API account disabled

404 Not Found:

  • Wrong store hash
  • Store suspended/deleted
  • Incorrect API path

429 Too Many Requests:

  • Rate limit exceeded
  • Wait and retry
  • Adjust sync frequency

WooCommerce

401 Unauthorized:

  • Invalid consumer key/secret
  • API keys revoked

404 Not Found:

  • REST API disabled
  • Permalink settings incorrect
  • Wrong site URL

SSL Certificate Error:

  • Self-signed certificate
  • Expired SSL
  • Hostname mismatch

Site Status

Status Indicators

IconStatusMeaning
🟢ActiveSyncing normally
🟡WarningConnection issues
🔴ErrorSync failing
InactiveManually disabled

Last Sync Times

Order Last Run:

  • When order sync last completed
  • Updates hourly (default)
  • Click to see detailed log

Inventory Last Run:

  • When inventory last pushed
  • Updates every 30 minutes (default)

Tracking Last Run:

  • When tracking last synced
  • Updates every 30 minutes (default)

Pending Counts

  • Pending Orders: New orders not yet synced
  • Pending Export: Orders ready for BC export
  • Pending Verify: Orders waiting for BC confirmation

Site Groups

Organize sites into groups for easier management:

Create Group

  1. Go to Site Groups tab
  2. Click "Add Group"
  3. Name: BigCommerce Production Sites
  4. Select sites to include
  5. Save

Group Actions

Bulk operations:

  • Enable/disable all sites in group
  • Test connections for all
  • View combined statistics
  • Export group configuration

Site Templates

Save common configurations as templates:

Create Template

  1. Configure a site completely
  2. Click "Save as Template"
  3. Name: BigCommerce Standard Config
  4. Template saved

Use Template

  1. Click "Add Site"
  2. Click "Load Template"
  3. Select template
  4. Modify site-specific fields (name, credentials)
  5. Save

Import/Export Sites

Export Configuration

Export single site:

  1. Click "Export" next to site
  2. JSON file downloads
  3. Store securely

Export all sites:

  1. Go to Tools tab
  2. Click "Export All Sites"
  3. Complete configuration downloads

Import Configuration

  1. Click "Import Sites"
  2. Select JSON file
  3. Review import preview
  4. Click "Import"
  5. Sites added to system

Use cases:

  • Migrating to new server
  • Backup/restore configuration
  • Sharing config between environments

Site-Specific Overrides

Override global settings per site:

Order Sync Overrides

  • Blocked SKUs: Additional SKUs to block for this site
  • Shipping Methods: Custom shipping method mapping
  • Payment Methods: Custom payment method mapping

Inventory Sync Overrides

  • Stock Buffer: Site-specific reserve quantity
  • Price Rules: Custom pricing for this site
  • Category Filters: Only sync certain categories

Advanced Overrides

  • Custom Fields: Map custom order fields
  • Webhooks: Site-specific webhook URLs
  • Rate Limits: Custom rate limiting

Monitoring

Site Dashboard

View per-site statistics:

  • Orders synced (today, week, month)
  • Success rate
  • Average sync time
  • Error count

Alerts

Set up alerts for:

  • Sync failures
  • Connection errors
  • High pending counts
  • Slow sync operations

Logs

Access site-specific logs:

  1. Find site in list
  2. Click "View Logs"
  3. Filter by operation type
  4. Export logs for analysis

Best Practices

Naming Conventions

Good names:

  • BigCommerce - Main Store - Production
  • WooCommerce - Outlet Site - Staging
  • BC - Wholesale Portal - Live

Include:

  • Platform
  • Purpose/location
  • Environment

Credentials Management

  • Store credentials securely (password manager)
  • Rotate API keys quarterly
  • Use read/write permissions only (not full access)
  • Monitor API usage in platform

Testing

Before enabling a site:

  1. Test connection
  2. Run test order sync (single order)
  3. Verify data in database
  4. Check BC export works
  5. Enable full sync

Maintenance

Regular tasks:

  • Weekly: Review sync status
  • Monthly: Test all connections
  • Quarterly: Rotate API credentials
  • Annually: Archive inactive sites

Troubleshooting

Site Won't Save

Check:

  • All required fields filled
  • API credentials valid
  • No duplicate site names
  • Database connection working

Sync Not Running

Check:

  • Site is Active (toggle ON)
  • Sync type enabled (Order/Inventory/Tracking)
  • Cron jobs running
  • No errors in logs

Orders Missing

Check:

  • Min Date Modified setting
  • Order status in platform
  • Max Orders Per Run limit
  • Skip Test Orders setting

Next Steps