GSM Middleware Documentation
Welcome to the complete documentation for GSM Middleware - your centralized solution for managing multiple e-commerce platforms with Business Central integration.
What is GSM Middleware?โ
GSM Middleware is a WordPress plugin that connects your BigCommerce and WooCommerce stores to Microsoft Dynamics 365 Business Central, providing:
- ๐๏ธ Centralized Control Panel - Manage all sites and operations from one dashboard
- ๐ช Multi-Site Management - Handle unlimited BigCommerce and WooCommerce stores
- ๐ Automated Synchronization - Hourly order imports, inventory updates, tracking sync
- ๐ฆ Business Central Integration - Seamless ERP export and verification
- ๏ฟฝ Data Analytics - 10 interactive reports with KPI dashboard and CSV export
- โญ BazaarVoice Integration - Automated review sync and Schema.org markup generation
- ๐ Flexible Configuration - Multiple database environments, API connections
- ๐งช Testing Tools - Safe order testing without affecting production
- ๐ญ Order Generator - Create realistic test orders for pipeline testing
- โ Automated Quality - PHPUnit tests, PHPStan, PHPCS via CI/CD pipeline
- ๐ Request Tracking - Standardized User-Agent headers for better API debugging and support
Complete System Overviewโ
graph TB
subgraph "Your E-Commerce Stores"
BC1[BigCommerce Store 1]
BC2[BigCommerce Store 2]
WC1[WooCommerce Store 1]
WC2[WooCommerce Store 2]
end
subgraph "GSM Middleware Plugin"
CP[Control Panel<br/>Main Dashboard]
SITES[Site Management<br/>Store Configuration]
DBENV[DB Environments<br/>Database Config]
APICONN[API Connections<br/>External APIs]
TEST[Test Order<br/>Safe Testing]
SETTINGS[Settings<br/>Global Config]
end
subgraph "Automated Operations"
ORDERSYNC[Order Sync<br/>Hourly]
INVSYNC[Inventory Sync<br/>Hourly]
TRACKSYNC[Tracking Sync<br/>Nightly]
BCINSERT[BC Insert<br/>Every 10 min]
BCVERIFY[BC Verify<br/>Every 10 min]
end
subgraph "Middleware Database"
RMORDER[(rm_order<br/>rm_lineitems<br/>rm_address)]
end
subgraph "Business Central ERP"
BCSOAP[SOAP API<br/>Order Export]
BCODATA[OData API<br/>Inventory]
end
BC1 --> ORDERSYNC
BC2 --> ORDERSYNC
WC1 --> ORDERSYNC
WC2 --> ORDERSYNC
ORDERSYNC --> RMORDER
RMORDER --> BCINSERT
BCINSERT --> BCSOAP
BCSOAP --> BCVERIFY
BCVERIFY --> RMORDER
BCODATA --> ORDERSYNC
CP -.-> SITES
CP -.-> DBENV
CP -.-> APICONN
CP -.-> TEST
SITES -.-> ORDERSYNC
DBENV -.-> RMORDER
APICONN -.-> BCSOAP
APICONN -.-> BCODATA
Core Componentsโ
1. Control Panelโ
Your central dashboard for everything
- Monitor all site statuses
- View pending order counts
- Manually trigger any operation
- Access all configuration areas
- Real-time statistics
- Quick links to common tasks
2. Site Managementโ
Configure your e-commerce stores
- Add BigCommerce sites
- Add WooCommerce sites
- Store API credentials securely
- Enable/disable sync per site
- Test connections
- View per-site activity
3. DB Environmentsโ
Manage database connections
- Multiple environment support (Live, Test, Dev)
- Store different database credentials
- Switch environments without code changes
- Test connections before activating
- Encrypted credential storage
4. API Connectionsโ
External API management
- SOAP connections (Business Central export)
- OData connections (Inventory queries)
- OAuth connections (Future use)
- Live/Test environment support
- Connection testing
5. Order Syncโ
Import orders from all platforms
- BigCommerce - Full REST API v3 integration
- WooCommerce - REST API with OAuth 1.0a
- Automated hourly synchronization
- Kit expansion and normalization
- SKU validation via Business Central
- Address formatting
6. Business Central Exportโ
Push orders to your ERP
- Automated export every 10 minutes
- Insert orders via SOAP
- Verify processing status
- Retrieve Sales Order numbers
- Error tracking and retry logic
7. Test Orderโ
Safe testing environment
- Import individual orders for testing
- Validate site connections
- Test without affecting live data
- Debug order import issues
8. Order Generatorโ
Bulk test order creation
- Generate 1โ100 realistic test orders per batch
- Uses real products from the site's inventory
- Multiple address modes (random, specific state, CSV upload)
- Configurable coupon, shipping, and tax line items
10. Settingsโ
Global plugin configuration
- Sync intervals
- Timeout values
- Debug logging
- Email notifications
- Performance tuning
11. Data Analyticsโ
Interactive e-commerce reporting
- KPI dashboard with date range selection
- 10 built-in reports (sales, shipping, chargebacks, geographic, queue health)
- Interactive Recharts visualizations (bar, line, pie, area)
- Sortable tables with CSV export
- Multi-site filtering
- Deep-linkable report URLs
12. BazaarVoiceโ
Product review synchronization
- Authentic Discovery API integration
- SFTP Standard Client Feed import
- Schema.org JSON-LD markup generation
- Automated sync to BigCommerce custom fields
- Individual review storage with deduplication
Quick Navigationโ
๐ Getting Started
๐ง Reference
How The System Worksโ
Complete Data Flowโ
- Order Placed โ Customer orders on BigCommerce or WooCommerce
- Order Sync โ Hourly cron imports orders to middleware database
- Data Storage โ Orders stored in
rm_order,rm_lineitems,rm_addresstables - BC Insert โ Every 10 minutes, pending orders pushed to Business Central
- BC Processing โ Business Central creates Sales Orders
- BC Verify โ Every 10 minutes, retrieves Sales Order numbers
- Complete โ Order fully processed, SO# stored in middleware
Typical Timelineโ
| Time | Action | Location |
|---|---|---|
| 00:00 | Customer places order | E-Commerce Site |
| 00:30 | Order Sync runs | Middleware |
| 00:40 | BC Insert pushes order | Business Central |
| 00:45 | BC creates Sales Order | Business Central |
| 00:50 | BC Verify retrieves SO# | Middleware |
| 00:50 | โ Complete | All Systems |
Technology Stackโ
- Backend: PHP 8.2+ with strict types, PSR-4 autoloading
- Frontend: React 18 + TypeScript, shadcn/ui components
- Styling: Tailwind CSS
- Database: MySQL/MariaDB
- APIs: REST, SOAP, OData
- Authentication: NTLM, OAuth 1.0a, OAuth 2.0
- Build: Webpack, Babel, PostCSS, Composer
Requirementsโ
Minimum Requirementsโ
- WordPress 6.0+
- PHP 8.2+ with extensions: SOAP, cURL, OpenSSL, MySQLi
- MySQL 5.7+ or MariaDB 10.3+
- SSL/HTTPS recommended
Development Requirementsโ
- Node.js 18+
- Composer
- npm or yarn
What's New in v1.18.45โ
๐ Standardized User-Agent Headersโ
All HTTP requests now include User-Agent: GSM Middleware/{version} for better:
- Request Tracking - API providers can identify and filter middleware requests in their logs
- Debugging Support - Support teams can quickly diagnose rate limiting, connection issues, and API changes
- Version Identification - External services know which version is making requests
Applies to all integrations:
- BigCommerce & WooCommerce APIs
- Business Central (SOAP & OData)
- External services (Signifyd, NMI, BazaarVoice)
Learn more about User-Agent debugging โ
โ Enhanced Test Coverageโ
- 37.4% code coverage (40/107 classes tested)
- 396 tests with 827+ assertions
- New test files for critical business logic components
What's Next?โ
Choose your path:
Need Help?โ
- ๐ง Email: [email protected]
- ๐ Website: rhinogroup.com
- ๐ Docs: You're here!
Licenseโ
Proprietary - ยฉ 2026 Rhino Group. All rights reserved.