=== Boostlab Sellermania for WooCommerce ===
Contributors: boostlab
Tags: woocommerce, sellermania, inventory, orders
Requires at least: 6.5
Requires PHP: 8.1
Stable tag: 0.1.2
License: GPL-2.0-or-later

Connecteur REST v4 modulaire développé par Boostlab. Version pilote.

== Description ==
Réglages dans WooCommerce > Boostlab Sellermania.
Chaque module s’active séparément : stock entrant, transmission des ventes, boîte de commandes Sellermania, changements de statut, import de catalogue, création de produits et création d’offres.
Tous les modules sont désactivés à l’installation ; connexion sandbox sélectionnée. Un compte sandbox doit être fourni par Sellermania.

Les commandes sont consultées dans une boîte dédiée, sans générer de seconde facture WooCommerce ni déclencher de nouveaux emails aux acheteurs. Le filtre de date limite la récupération historique. La pagination parcourt toutes les pages renvoyées par l’API.

Stocks : correspondance SKU exacte. Un SKU Sellermania explicite peut être renseigné sur la fiche produit pour associer une référence différente. Les produits franchisés Bibliopolis et les exclusions explicites sont ignorés. Aucun rapprochement EAN ambigu n’est automatique.

Pour plusieurs boutiques utilisant le même compte Sellermania, désigner UN SEUL coordinateur et appairer les autres boutiques avec la même clé aléatoire. L’identité API doit être identique sur les installations. La transmission des ventes ne dépend pas de l’import des commandes marketplace. Les requêtes d’appairage sont signées et horodatées ; les événements sont idempotents.

Catalogue : fichier TXT tabulé Sellermania, analysé par lots. Le traitement attend la validation complète. Création en brouillon par défaut, prix Amazon.fr configuré s’il existe, sinon prix général. Les quantités sont relues dans l’API au moment de l’application. Catégorie et classe TVA doivent être choisies explicitement. Les titres, prix et descriptions existants ne sont modifiés que si les options correspondantes sont activées. Pas d’import d’images dans cette version.

Publication : création manuelle d’une offre pour un produit WooCommerce disposant d’un SKU, EAN13, état, prix et quantité. Mode add_modify exclusivement, SKU existant refusé pour éviter de remplacer son stock. Le suivi d’import est consultable. L’acceptation du fichier ne garantit pas la mise en ligne sur chaque marketplace ; les exigences de chacune restent applicables.

== Limites de la version pilote ==
L’API Sellermania expose une quantité absolue, sans décrément atomique ni version conditionnelle documentée. Le coordinateur sérialise les écritures des boutiques appairées mais ne verrouille pas les ventes natives Sellermania. Le contrôle après écriture détecte certaines divergences, pas toutes les courses possibles. Une validation de cette stratégie avec Sellermania reste nécessaire avant diffusion commerciale ou usage sans surveillance.

Les offres chaînées connues dans le catalogue sont bloquées en écriture. Les chaînes non présentes dans un export importé ne peuvent pas être détectées par la réponse de quantités REST ; elles doivent être exclues avant activation.

Les annulations, remboursements et retours ne remettent pas automatiquement des quantités en stock distant. Le rapprochement physique reste manuel. Après une remise en stock WooCommerce, les produits concernés sont exclus de la synchronisation avec un avis de contrôle. Rapprocher les quantités dans Sellermania puis retirer l’exclusion sur leur fiche. Une nouvelle réduction de la même commande reçoit une nouvelle révision.

Un résultat distant incertain n’est jamais réenvoyé automatiquement. Il reste « review ». Le coordinateur propose un contrôle des quantités et une confirmation de rapprochement manuel, sans nouveau décrément.

Le quota de requêtes est limité localement. Plusieurs installations et autres intégrations partagent le quota du compte Sellermania : régler les intervalles en conséquence. Un HTTP 429 suspend le traitement au lieu de multiplier les requêtes.

Stock et commandes sont actualisés par tâches planifiées ; la propagation n’est pas instantanée et dépend du nombre de produits, du cron et de l’hébergement. Les lots sont reprenables ; l’onglet du navigateur peut être fermé.

Les tests locaux utilisent WordPress Playground et des réponses API simulées. Aucune certification Sellermania, aucun audit de sécurité indépendant et aucun essai réel d’écriture sur Sellermania ne sont revendiqués.

== Exigences techniques ==
WooCommerce actif, Action Scheduler, PHP OpenSSL, WordPress avec MySQL/MariaDB prenant en charge GET_LOCK. Un cron serveur est recommandé.
Les clés sont chiffrées avec les salts WordPress. Leur rotation nécessite de reconfigurer les secrets. Le secret API peut aussi être fourni par la constante serveur BOOSTLAB_SELLERMANIA_SECRET.
Les commandes conservées en base sont chiffrées. Les administrateurs autorisés peuvent les consulter. Prévoir les durées de conservation et sauvegardes adaptées à la boutique.
La désactivation suspend les tâches. La désinstallation conserve les données par défaut.
Activation multisite réseau non prise en charge : activer et configurer par boutique.

== Changelog ==
= 0.1.0 =
Première version pilote Boostlab : API REST, configuration sécurisée, modules indépendants, catalogue par lots, commandes, statuts, publication et coordinateur de stocks avec journal durable.

== Version 0.1.1 ==
Interface français/anglais selon le profil WordPress. Appairage entre applications distinctes du même compte SellerMania. Rapprochement EAN par fichier TSV ean, sku, condition, tag pour les offres Bibliopolis neuves ou comme neuves, sans changer prix ni quantités.

== Version 0.1.2 ==
Option stock limité aux produits associés et suspension disponible même pendant un lot actif.
