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/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

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.)

Versions des plugins

PluginVersion couranteSeuil HMAC obligatoire
Stormeo Connector for WordPress3.3.0>= 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