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
- Click "Add Site" button
- 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)
- Click "Test Connection"
- If successful, click "Save"
WooCommerce Site
- Click "Add Site" button
- 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)
- Click "Test Connection"
- 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
-
Order Sync
- Enable/disable order synchronization
- Health check URL for monitoring
- Platform-specific order settings
-
Inventory Sync
- Enable/disable inventory synchronization
- Health check URL for monitoring
- Webhook secret (BigCommerce) for real-time updates
- Stock buffer and threshold settings
-
Tracking Sync
- Enable/disable tracking synchronization
- Health check URL for monitoring
- Carrier mapping configurations
-
BazaarVoice
- Enable/disable BazaarVoice product export
- Health check URL for monitoring
- SFTP credentials (shown when enabled)
-
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:
- Create a monitor in your monitoring service
- Copy the ping URL (e.g.,
https://healthchecks.io/ping/abc-123-xyz) - Paste into the relevant sync tab
- The sync operation will ping this URL on successful completion
- 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:
- Navigate to Inventory Sync tab
- Enter the webhook secret from your BigCommerce webhook configuration
- Secret is encrypted and stored securely
- Used to verify webhook signatures (HMAC-SHA256)
- Ensures only authentic webhooks are processed
Setting up webhooks:
- See Inventory Sync Webhooks for detailed setup guide
BigCommerce Settings
Getting API Credentials
- Log in to BigCommerce store
- Go to Settings → API Accounts
- Click "Create API Account"
- Select "V3 API Token"
- Name:
GSM Middleware - OAuth Scopes required:
- Orders: Read & Modify
- Products: Read & Modify
- Customers: Read-only
- Information: Read-only
- Click "Save"
- 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
- Log in to WooCommerce site
- Go to WooCommerce → Settings → Advanced → REST API
- Click "Add Key"
- Fill in:
- Description:
GSM Middleware - User: Select admin user
- Permissions:
Read/Write
- Description:
- Click "Generate API Key"
- 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
- Find site in Control Panel list
- Click "Edit" button
- Modify settings
- Click "Test Connection" to verify
- Click "Save"
Enable/Disable Site
Disable a site (temporarily stop all syncs):
- Find site in list
- Toggle switch to OFF (gray)
- Confirm action
- Site status changes to "Inactive"
Re-enable:
- Toggle switch to ON (green)
- Site resumes syncing on next cron run
Delete Site
⚠️ Warning: Deleting a site does not delete orders or data!
- Click "Delete" button
- Confirm deletion
- Site removed from configuration
- 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:
- Click "Clone" next to site
- New site created with same settings
- Modify name and credentials
- 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):
- Name, Host, User, Password
- Review URL, Brand ID
- See BazaarVoice Configuration for details
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
| Icon | Status | Meaning |
|---|---|---|
| 🟢 | Active | Syncing normally |
| 🟡 | Warning | Connection issues |
| 🔴 | Error | Sync failing |
| ⚪ | Inactive | Manually 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
- Go to Site Groups tab
- Click "Add Group"
- Name:
BigCommerce Production Sites - Select sites to include
- 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
- Configure a site completely
- Click "Save as Template"
- Name:
BigCommerce Standard Config - Template saved
Use Template
- Click "Add Site"
- Click "Load Template"
- Select template
- Modify site-specific fields (name, credentials)
- Save
Import/Export Sites
Export Configuration
Export single site:
- Click "Export" next to site
- JSON file downloads
- Store securely
Export all sites:
- Go to Tools tab
- Click "Export All Sites"
- Complete configuration downloads
Import Configuration
- Click "Import Sites"
- Select JSON file
- Review import preview
- Click "Import"
- 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:
- Find site in list
- Click "View Logs"
- Filter by operation type
- Export logs for analysis
Best Practices
Naming Conventions
Good names:
BigCommerce - Main Store - ProductionWooCommerce - Outlet Site - StagingBC - 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:
- Test connection
- Run test order sync (single order)
- Verify data in database
- Check BC export works
- 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
- Control Panel - Using the dashboard
- Test Order - Test order import
- BC Export - Order export to Business Central