====== Synchronisation avec WooCommerce ====== //:!: **Note** : pour connaitre les pré-requis ou en cas de message d'erreur, rendez-vous dans la partie [[tutoriel:web:install-extension-woocommerce#depannage|Dépannage]], en bas de cet article.// ===== Clé API REST ===== La communication entre KinTPV et l'extension KinTPV-WooConnect pour WooCommerce s'effectue à travers la méthode REST de WooCommerce.\\ Il faut donc activer ce dispositif.\\ Dans les "Réglages" WooCommerce, rendez vous dans l'onglet "Avancé" puis le menu "API REST" : {{ :tutoriel:woocommerce_01.png?direct&600 |}} Cliquez sur "Ajouter une clé" et choisissez votre utilisateur pour générer votre clé API : {{ :tutoriel:woocommerce_02.png?direct&600 |}} {{ :tutoriel:woocommerce_03.png?direct&600 |}} Maintenant que votre clé API est générée, copiez la "Clé client" et la "Secure Client", collez ces informations dans un document bloc-note (sous Windows) ou TextEdit (sous Mac) par exemple, vous en aurez besoin dans KinTPV et dans l'extension KinTPV-WooConnect dans peu de temps.\\ Conservez bien ces 2 codes car ils sont irrécupérables ultérieurement, en cas de perte, vous devrier alors révoquer la clé API puis recommencer la procédure. {{ :tutoriel:woocommerce_04.png?direct&600 |}} ===== Installation manuelle de l'extension KinTPV-WooConnect ===== //Ce paragraphe concerne la mise en place manuelle de l'extension sur votre site par téléversement du fichier zip de WooConnect, transmis par email par exemple.\\ Il est possible de récupérer l'extension directement depuis le site WordPress.org.// Les copies d'écran se suffisent à elles-même normalement pour comprendre le process à suivre ;-) {{ :tutoriel:woocommerce_11.png?direct&600 |}} {{ :tutoriel:woocommerce_12.png?direct&600 |}} {{ :tutoriel:woocommerce_13.png?direct&600 |}} {{ :tutoriel:woocommerce_14.png?direct&600 |}} {{ :tutoriel:woocommerce_15.png?direct&600 |}} ===== Pré-configuration de l'extension ===== Maintenant que l'extension est installée et activitée, il faut renseigner les codes de l'API REST créées dans la première partie de ce tutoriel (d'où l'importance d'avoir sauvegarder par ailleurs ces longues chaines de caractères). {{ :tutoriel:woocommerce_16.png?direct&600 |}} {{ :tutoriel:woocommerce_17.png?direct&600 |}} Arrivée sur l'écran de configuration (vierge) de l'extension KinTPV-WooConnect : {{ :tutoriel:woocommerce_18.png?direct&600 |}} ===== Paramétrage de KinTPV ===== ==== Transporteurs / Frais de port ==== Dans un premier temps, nous allons "gérer" les frais de port dans KinTPV.\\ En réalité, les transporteur/frais de port sont une notion inconnue pour un logiciel de caisse.\\ Nous considérons cela comme un article standard. 2 "philosophies" principales existent : * dans KinTPV, vous souhaitez avoir un suivi précis des choix de transporteurs sélectionnés sous WooCommerce lors des ventes, créez alors autant d'articles qu'il y a de transporteurs dans votre site. Pour une clarté de lecture, nommez-les comme ceux du site * vous ne ferez aucune statistique dans KinTPV des transporteurs choisis dans les commandes internet, ne créez alors qu'un seul article L'important est que cet article, ou ces articles, ait (aient) un Type Article qui lui (leur) soit propre.\\ Dans l'exemple ci-dessous, le type article est "FRAIS DE PORT" (Lapalissade...). Attribuez à votre/vos frais de port un prix de vente de 0 (le vrai prix est défini par le site, pas par KinTPV). {{ :tutoriel:woocommerce_21.png?direct&600 |}} ==== Configuration de la communication KinTPV / KinTPV-WooConnect ==== Rendez vous dans les préférences de KinTPV, partie "Gestion", menu "Site WEB".\\ Choisissez bien en haut à droite de la fenêtre l'extension adéquate.\\ Renseignez l'url de l'extension (__comme dans l'exemple présent en dessous de la zone de saisie__), et collez les 2 codes de l'API REST que vous avez conservé par ailleurs. {{ :tutoriel:install-extension-woocommerce:img_install-extension-woocommerce_20221020-185253.png?direct&600 }} :!: Important : l'url doit être "**%%http[s]://%%le-nom-de-votre-site/wp-json/kintpvconnect**" ! Si le site est en https mais que la synchronisation ne se fait pas, décochez alors "//Utiliser request 4D//", indiquez **443** en numéro de port de connexion et\\ **connect-timeout=30 select-timeout=0.2 send-timeout=0.1 receive-timeout=0.1 ssl=true**\\ en options du port.\\ Ajoutez éventuellement **ssl-method=SSLv23** si la communication (étape suivante) ne se fait toujours pas. ==== Envoi des préférences à l'extension ==== Depuis l'écran précédent, cliquez sur le bouton "Configuration..." de la zone "Envoi des articles" pour ouvrir l'écran suivant.\\ Après avoir renseigné les informations du haut de la fenêtre, "**Envoyez les préférences au site web**". {{ :tutoriel:woocommerce_24.png?direct&600 |}} Le processus de communication s'effectue {{ :tutoriel:woocommerce_25.png?direct |}} et vous indique lorsqu'il est terminé. {{ :tutoriel:woocommerce_26.png?direct |}} ===== Configuration complète de l'extension ===== En retournant dans l'écran de configuration de l'extension dans le backoffice WooCommerce, vous pourrez alors terminer la configuration de l'extension : {{ :tutoriel:woocommerce_27.png?direct&600 |}} Il est important de bien faire le lien entre les données KinTPV (taxes, transporteurs et paiements) et leur équivalent WooCommerce. Le tableau de couleur vous permet de mettre à jour dans la base WooCommerce les informations souhaitées.\\ __Rappel__ : KinTPV envoie à l'extension **l'ensemble de ses données**, et c'est l'extension qui gère l'insertion de ces données dans la base du site, en fonction des choix du tableau de couleur.\\ Selon si l'information existe (colonne "Modification") ou pas (colonne "Création") dans WooCommerce, l'extension écrasera ou insérera les données qu'il reçoit de KinTPV. Vous pouvez décidez qu'à la création du produit dans WooCommerce par KinTPV, telle donnée soit celle du logiciel de caisse (donc à la "Création"), mais lors du renvoi de la même fiche article KinTPV, cette même donnée ne soit pas modifiée sur le site alors même qu'elle ait été changé dans le logiciel de caisse... ===== Synchronisation d'un article ===== Ci-dessous, un exemple de processus de synchronisation d'une fiche article KinTPV vers le site web.\\ Le catalogue produits WooCommerce est initialement vide : {{ :tutoriel:woocommerce_31.png?direct&600 |}} Dans KinTPV, une fiche article est saisie et prête à être envoyée sur le site : {{ :tutoriel:woocommerce_32.png?direct&600 |}} {{ :tutoriel:woocommerce_33.png?direct&600 |}} La synchronisation est en cours. {{ :tutoriel:woocommerce_34.png?direct |}} Le catalogue produits WooCommerce comporte maintenant la copie des données de la fiche article KinTPV. {{ :tutoriel:woocommerce_35.png?direct&600 |}} Dans le détail, on voit que les descriptifs, les photos, les stocks et déclinaison entre autre sont présents. {{ :tutoriel:woocommerce_36.png?direct&600 |}} Résultat du frontoffice (thème graphique par défaut) : {{ :tutoriel:woocommerce_37.png?direct&600 |}} ===== Synchronisation de l'ensemble des articles ===== Une fois que vous avez validé le processus et que la synchronisation d'un article test est validée, alors vous pouvez forcer l'envoi d'une liste d'articles sur le site.\\ Rendez-vous sur la page "[[manuel:bloc-synchronisation:synchro-articles-vers-site-web|Envoi des articles vers le site web]]" expliquant les différentes méthodes. ===== Dépannage ===== ** Prérequis WooCommerce pour le bon fonctionnement de l'API REST **\\ Vous ne devez pas utiliser la configuration par défaut des permaliens (vous auriez alors une erreur "API non disponible").\\ Rendez-vous dans les Réglages > Permaliens, et cochez une __option autre que "**Simple**"__ {{ :tutoriel:install-extension-woocommerce:img_install-extension-woocommerce_20221019-144951.png?direct&400 }} ---- ** Prérequis WordPress **\\ Dans la même veine que le précédent point, il semblerait qu'il y ait un problème avec l'API REST si les urls "Adresse web de WordPress" et "Adresse web du site" sont différentes.\\ Rendez-vous dans les Réglages > Général, renseignez la même url dans les 2 champs adéquats. {{ :tutoriel:install-extension-woocommerce:img_install-extension-woocommerce_20230302-122835.png?400 }} ---- Attention aux valeurs des déclinaisons, WooCommerce ne semble pas apprécier les valeurs numériques avec le caractère virgule comme séparateur de décimale, préférez-lui le point.\\ Exemple, dans KinTPV, l'article "Assiette à dessert" doit être décliné en "Diamètre (pouce)" de "7.25" et "8.5" (et non "7,25" et "8,5").