Skip to main content

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โ€‹

How The System Worksโ€‹

Complete Data Flowโ€‹

  1. Order Placed โ†’ Customer orders on BigCommerce or WooCommerce
  2. Order Sync โ†’ Hourly cron imports orders to middleware database
  3. Data Storage โ†’ Orders stored in rm_order, rm_lineitems, rm_address tables
  4. BC Insert โ†’ Every 10 minutes, pending orders pushed to Business Central
  5. BC Processing โ†’ Business Central creates Sales Orders
  6. BC Verify โ†’ Every 10 minutes, retrieves Sales Order numbers
  7. Complete โ†’ Order fully processed, SO# stored in middleware

Typical Timelineโ€‹

TimeActionLocation
00:00Customer places orderE-Commerce Site
00:30Order Sync runsMiddleware
00:40BC Insert pushes orderBusiness Central
00:45BC creates Sales OrderBusiness Central
00:50BC Verify retrieves SO#Middleware
00:50โœ… CompleteAll 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

View full changelog โ†’

What's Next?โ€‹

Choose your path:


Need Help?โ€‹

Licenseโ€‹

Proprietary - ยฉ 2026 Rhino Group. All rights reserved.