Skip to content

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 :

PathAuthDescription
POST /v1/pingBearerHeartbeat — met à jour lastPing côté serveur
POST /v1/syncBearerSync générique (avec chiffrement AES-256-CBC optionnel sur payload)
GET /v1/sync/statusBearerÉtat de la sync et logs
POST /v1/gdpr/deleteBearerSuppression RGPD
POST /v1/webhooksBearerÉmission d'un webhook signé HMAC-SHA256 vers une targetUrl
POST /v1/site-contentsBearerInventaire de contenu du site
POST /v1/cms-extensionsBearerInventaire 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-configBearer + adminMise à 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 :

PathDescription
POST /api/plugin/pairÉchange d'un token de pairing → apiKey + apiSecret
POST /api/plugin/sync-contentPush de contenu (posts, pages, produits, etc.)
GET /api/plugin/commandsPull des commandes en attente (queue StormeoOS → plugin)
POST /api/plugin/command-resultPush du résultat d'exécution d'une commande
POST /api/plugin/v2/heartbeatHeartbeat périodique (versions, politique de MAJ, rapport abilities/MCP)
POST /api/plugin/v2/disk-usageMétriques d'usage disque
POST /api/plugin/v2/security-eventPush d'event de sécurité (login attempt, etc.)
POST /api/plugin/v2/file-integrityHash/checksum des fichiers core
POST /api/plugin/v2/time-creditTracking temps consommé
GET /api/plugin/v2/site-infoMétadonnées du site
POST /api/plugin/v2/syncSync générique v2
POST /api/plugin/v2/sso-validateValidation d'un jeton SSO wp-admin
POST /api/plugin/v2/maintenance-reportRapport de maintenance
GET /api/plugin/v2/commands · POST /api/plugin/v2/commands/:id/resultQueue de commandes v2
POST /api/plugin/v2/custom-syncSync de types de contenus personnalisés
POST /api/plugin/v2/sync-content-extendedSync de contenu enrichie (métadonnées SEO, auteurs…)
POST /api/plugin/v2/activity · /activity-batchJournal d'activité du site (unitaire / batch)
POST /api/plugin/v2/db-healthSanté base de données
POST /api/plugin/v2/seo-dataDonnées SEO
POST /api/plugin/v2/sitemap · /traffic-statsSitemap et statistiques de trafic

⚠️ Les anciennes routes /api/plugin/auto-register, /register, /heartbeat, /sync, /ping, /error, /data-request (sans v2) sont des stubs de compatibilité : elles répondent immédiatement sans rien traiter. Utilisez les équivalents v2.

Sommaire ​

DocumentContenu
hmac-signature.mdAlgo HMAC-SHA256, timestamp tolerance, exemple PHP/Node
lifecycle.mdPairing → heartbeat → sync → kill-switch HMAC required
wordpress.mdSpécifique plugin Stormeo Connector for WordPress (v3.x)
prestashop.mdSpécifique plugin Stormeo Connector for PrestaShop (v2.6+)
events.mdCatalogue des events push (post_save, woocommerce_*, etc.)
MCP & AbilitiesServeur 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 ​

PluginVersion couranteSeuil HMAC obligatoire
Stormeo Connector for WordPress3.13.4>= 3.1.0
Stormeo Connector for PrestaShop2.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 : apiSecret côté DB stocké en enc:salt:iv:tag:cipher (AES-256-GCM, dérivation PBKDF2 600k)
  • Multi-tenant : chaque connector a un agencyId, accès cross-tenant refusé en 403
  • 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.

StormeoOS API