=== Yima Connector for WooCommerce === Contributors: yimalabs Tags: woocommerce, pos, sync, inventory, yima Requires at least: 6.0 Tested up to: 6.6 Requires PHP: 7.4 Stable tag: 1.0.0 License: GPLv2 or later Connecte une boutique WooCommerce au POS yima : synchronise le catalogue (produits, prix, stock) depuis yima et remonte les commandes du site vers yima. Accès piloté par une clé de licence. == Description == Ce plugin relie votre site WooCommerce au système de point de vente **yima**. Le POS yima reste la **source de vérité** : il pousse le catalogue vers votre boutique en ligne et reçoit les commandes. Fonctionnalités : * **Activation par licence** : saisissez l'URL de votre serveur yima et votre clé de licence, puis cliquez sur « Activer ». Le plugin récupère un secret et signe ensuite chaque appel (HMAC). * **Synchronisation du catalogue** (yima → WooCommerce) : les produits sont créés/mis à jour **par SKU** (nom, prix, stock). Exécutée automatiquement toutes les heures (WP-Cron) et à la demande. * **Remontée des commandes** (WooCommerce → yima) : dès qu'une commande est payée (processing/completed), elle est envoyée à yima comme vente en ligne. L'appel est **idempotent** (aucun doublon en cas de renvoi). * **Licence** : si la licence est suspendue ou expirée côté yima, les appels sont refusés et la synchronisation s'arrête. * **Rupture = masquage** : un produit dont le stock tombe à **0** est **masqué** du catalogue du site (jamais supprimé) et **réapparaît** dès qu'il est réapprovisionné. * **Discussion WhatsApp** : bouton « Discuter sur WhatsApp » (flottant sur tout le site, et contextualisé au produit sur une fiche produit) + shortcode `[yima_whatsapp]`. Le **numéro** et les **messages** sont activés/personnalisés par le manager dans les réglages. Aucune passerelle de paiement n'est intégrée : yima ne fait que **consigner** les opérations. == Installation == 1. Copier le dossier `yima-wc-connector/` dans `wp-content/plugins/` (ou téléverser l'archive). 2. Activer « Yima Connector for WooCommerce » dans l'administration WordPress. 3. Aller dans **WooCommerce → Yima Connector**, saisir l'URL du serveur yima et la clé de licence (fournie par l'administrateur yima), enregistrer, puis cliquer sur **Activer**. 4. Cliquer sur **Synchroniser maintenant** pour importer le catalogue. == Prérequis == * WooCommerce 6.0+ actif. * Les produits doivent avoir un **SKU** correspondant à celui du catalogue yima. * Le serveur yima doit exposer l'API `/api/connector` (backend portail-manager). == Sécurité == * Chaque requête (hors activation) est signée en **HMAC-SHA256** avec un secret partagé obtenu à l'activation ; le serveur vérifie la signature et un horodatage (anti-rejeu). * La clé de licence et le secret sont stockés dans les options WordPress du site. == Changelog == = 1.5.0 = * Produits à variations : un produit variable yima est synchronisé comme produit variable WooCommerce (attributs + variations avec SKU/prix/stock). Les commandes en ligne d'une variante décrémentent le stock de la bonne variante. = 1.4.0 = * Champs de publication / SEO : description courte et longue, titre et méta-description SEO (Yoast / Rank Math), slug personnalisable — définis dans yima et appliqués au produit du site. = 1.3.0 = * Synchronisation des catégories : la catégorie d'un produit (avec sa hiérarchie) est créée dans WooCommerce (taxonomie produit) et assignée au produit lors de la synchro. = 1.2.0 = * Publication par produit : un produit « non visible en ligne » (défini dans yima) est masqué du catalogue, comme une rupture de stock. * Propagation instantanée des réglages WhatsApp depuis l'application yima (route REST dédiée). = 1.1.0 = * Synchro produits bidirectionnelle (par SKU, yima autoritaire) + stock temps réel. * Rupture de stock → produit masqué du catalogue (réapparaît au réappro). * Bouton WhatsApp (flottant + contextualisé produit + shortcode [yima_whatsapp]), numéro et messages personnalisables par le manager. = 1.0.0 = * Version initiale : activation par licence, synchro catalogue (pull par SKU), remontée des commandes (push idempotent), heartbeat.