Plugins WordPress / PrestaShop — Stormeo Connector
Documentation pour développer ou maintenir un plugin StormeoOS communiquant avec le backend.
Deux surfaces API distinctes
StormeoOS expose deux ensembles d'endpoints pour les plugins, hérités de phases successives. Les nouveaux développements ciblent /api/plugin/v2/* (HMAC obligatoire au-delà des seuils version).
Surface 1 — /v1/* (legacy, plugin Stormeo Connector)
Auth : Authorization: Bearer <clientSecret> + X-Stormeo-Client-Id: <clientId>. Source : server/routes/stormeoConnector.ts.
Endpoints :
| Path | Auth | Description |
|---|---|---|
POST /v1/ping | Bearer | Heartbeat — met à jour lastPing côté serveur |
POST /v1/sync | Bearer | Sync générique (avec chiffrement AES-256-CBC optionnel sur payload) |
GET /v1/sync/status | Bearer | État de la sync et logs |
POST /v1/gdpr/delete | Bearer | Suppression RGPD |
POST /v1/webhooks | Bearer | Émission d'un webhook signé HMAC-SHA256 vers une targetUrl |
POST /v1/site-contents | Bearer | Inventaire de contenu du site |
POST /v1/cms-extensions | Bearer | Inventaire des extensions/plugins/modules + alertes outdated |
GET /v1/public/config | (public) | Config plateforme publique (heures support, version plugin latest) |
POST /v1/support/tickets | (public) | Création d'un ticket de support |
PUT /v1/admin/platform-config | Bearer + admin | Mise à jour config plateforme |
Surface 2 — /api/plugin/* (v3.x, recommandé)
Auth : validatePluginApiKey (header X-Stormeo-API-Key) + signature HMAC obligatoire au-delà du seuil. Source : server/routes/siteConnectors/ + server/middleware/pluginSignatureValidator.ts.
Endpoints clés :
| Path | Description |
|---|---|
POST /api/plugin/pair | Échange d'un token de pairing → apiKey + apiSecret |
POST /api/plugin/sync-content | Push de contenu (posts, pages, produits, etc.) |
GET /api/plugin/commands | Pull des commandes en attente (queue StormeoOS → plugin) |
POST /api/plugin/command-result | Push du résultat d'exécution d'une commande |
POST /api/plugin/v2/heartbeat | Heartbeat périodique (versions, politique de MAJ, rapport abilities/MCP) |
POST /api/plugin/v2/disk-usage | Métriques d'usage disque |
POST /api/plugin/v2/security-event | Push d'event de sécurité (login attempt, etc.) |
POST /api/plugin/v2/file-integrity | Hash/checksum des fichiers core |
POST /api/plugin/v2/time-credit | Tracking temps consommé |
GET /api/plugin/v2/site-info | Métadonnées du site |
POST /api/plugin/v2/sync | Sync générique v2 |
POST /api/plugin/v2/sso-validate | Validation d'un jeton SSO wp-admin |
POST /api/plugin/v2/maintenance-report | Rapport de maintenance |
GET /api/plugin/v2/commands · POST /api/plugin/v2/commands/:id/result | Queue de commandes v2 |
POST /api/plugin/v2/custom-sync | Sync de types de contenus personnalisés |
POST /api/plugin/v2/sync-content-extended | Sync de contenu enrichie (métadonnées SEO, auteurs…) |
POST /api/plugin/v2/activity · /activity-batch | Journal d'activité du site (unitaire / batch) |
POST /api/plugin/v2/db-health | Santé base de données |
POST /api/plugin/v2/seo-data | Données SEO |
POST /api/plugin/v2/sitemap · /traffic-stats | Sitemap et statistiques de trafic |
⚠️ Les anciennes routes
/api/plugin/auto-register,/register,/heartbeat,/sync,/ping,/error,/data-request(sansv2) sont des stubs de compatibilité : elles répondent immédiatement sans rien traiter. Utilisez les équivalentsv2.
Sommaire
| Document | Contenu |
|---|---|
| hmac-signature.md | Algo HMAC-SHA256, timestamp tolerance, exemple PHP/Node |
| lifecycle.md | Pairing → heartbeat → sync → kill-switch HMAC required |
| wordpress.md | Spécifique plugin Stormeo Connector for WordPress (v3.x) |
| prestashop.md | Spécifique plugin Stormeo Connector for PrestaShop (v2.6+) |
| events.md | Catalogue des events push (post_save, woocommerce_*, etc.) |
| MCP & Abilities | Serveur MCP natif WP, abilities exposées, workflow d'approbation HITL |
« Connect » vs « Connector » : le Stormeo Connector (ce chapitre) est le plugin WP/PS. Un ancien projet distinct nommé « Stormeo Connect API » (clés
sci_*, routes/api/connect/) a été retiré — il n'existe plus dans le produit.
Versions des plugins
| Plugin | Version courante | Seuil HMAC obligatoire |
|---|---|---|
| Stormeo Connector for WordPress | 3.13.4 | >= 3.1.0 |
| Stormeo Connector for PrestaShop | 2.6.0 | >= 2.6.0 |
ZIP de distribution :
- WP :
https://beta.stormeo.io/plugins/wordpress/stormeo-connector.zip - PS :
https://beta.stormeo.io/plugins/prestashop/stormeoconnector.zip
Vérifier le SHA-256 publié avant install : curl -sI https://beta.stormeo.io/plugins/wordpress/stormeo-connector.zip | grep -i etag.
Sécurité
- Tous les endpoints sont en HTTPS (TLS obligatoire, redirect 301 depuis HTTP)
- Secrets chiffrés at-rest :
apiSecretcôté DB stocké enenc:salt:iv:tag:cipher(AES-256-GCM, dérivation PBKDF2 600k) - Multi-tenant : chaque connector a un
agencyId, accès cross-tenant refusé en403 - Timing-safe comparisons sur tous les comparatifs de secrets (
crypto.timingSafeEqual) - Anti-replay : timestamp HMAC tolérance ±5 min (
TIMESTAMP_TOLERANCE_SEC=300) - Kill-switch global :
HMAC_REQUIRED=1(env) force HMAC sur toutes les routes plugin
Voir hmac-signature.md pour les détails.