Principales caractéristiques et fonctionnalités du module
- Données de l’API de la Banque nationale de Pologne : récupération des tables de taux via HTTPS, avec contrôle de la validité des réponses et des dates de publication.
- Quatre variantes de source des taux : table A, tables A et B combinées, taux d’achat de la table C ou taux de vente de la table C.
- Sélection des devises concernées par la mise à jour : indication des devises étrangères existantes et actives associées à la boutique sélectionnée dans PrestaShop.
- Buffer de prix pour chaque devise : valeur en pourcentage distincte de 0 à 50 %, prise en compte lors du calcul du taux de la boutique.
- Prise en charge de différentes devises de base : conversion via les valeurs de référence en PLN, à condition que la devise de base et les devises sélectionnées soient disponibles dans la source utilisée.
- Aperçu avant validation manuelle : comparaison du taux actuel avec le taux proposé, de l’écart en pourcentage, de la date et du numéro de la table NBP, ainsi que de la conversion de 100 unités de la devise de base.
- Validité de l’aperçu pendant 10 minutes : validation par l’employé qui l’a créé, après une nouvelle vérification des taux, des paramètres et de la devise de base.
- Variation maximale autorisée du taux : le dépassement du seuil défini par l’une des devises sélectionnées bloque l’enregistrement de l’ensemble du lot.
- Ignorer les petites variations : seuil de variation minimale de 0 à 5 %, permettant de laisser le taux inchangé sans enregistrement en cas d’écarts plus faibles.
- Contrôle de l’ancienneté de la publication : limite de 1 à 30 jours calendaires, tenant compte des dates des données utilisées pour la conversion.
- Enregistrement commun des taux et de l’historique : une transaction de base de données ainsi qu’un verrouillage des opérations de ce module pour une boutique donnée réduisent le risque d’enregistrement partiel et de mises à jour parallèles.
- Historique avec accès aux détails : date de l’opération, mode manuel ou CRON, statut, motif du blocage ou de l’erreur enregistrée, ainsi que détails de l’aperçu ou de la modification créée.
- Restauration des taux précédents : l’annulation d’une mise à jour enregistrée est disponible si les taux qu’elle couvre correspondent toujours au résultat de cette opération.
- Automatisation via CRON : adresse privée pour la boutique, intervalle minimal entre les tentatives de 15 à 1440 minutes et possibilité de modifier la clé d’accès.
- Simulation de tâche automatique : le paramètre
dry_run=1vérifie le plan de mise à jour sans modifier les taux de la boutique. - Mise à jour d’un sous-ensemble de devises via CRON : le paramètre
currencieslimite l’appel aux devises indiquées parmi celles précédemment activées dans le module. - Information de conversion pour le client : un message optionnel sur la page produit et dans le panier affiche le taux réel de la boutique pour la devise étrangère sélectionnée.
- Configuration séparée pour les boutiques : en multiboutique, les paramètres, l’historique, la clé CRON et les enregistrements des taux concernent une boutique précise.
- Panneau avec six onglets : Aperçu, Devises, Paramètres, Automatisation, Historique et Aide organisent la configuration et la gestion des mises à jour.
- Période de conservation de l’historique : réglage de 7 à 365 jours, avec nettoyage des entrées plus anciennes après des mises à jour CRON correctement traitées ; la simulation ne lance pas le nettoyage.
Quels taux NBP peuvent être utilisés dans la boutique ?
| Source | Type de données | Utilisation dans le module |
|---|---|---|
| Table A | Taux moyens | Conversion des devises disponibles dans la table A. |
| Tables A et B | Taux moyens des deux tables | Prise en compte également des devises publiées dans la table B, avec contrôle des dates des deux sources. |
| Table C — achat | Taux d’achat | Calcul des taux de la boutique sur la base des valeurs d’achat de la table C. |
| Table C — vente | Taux de vente | Calcul des taux de la boutique sur la base des valeurs de vente de la table C. |
La source sélectionnée doit contenir la devise de base de la boutique ainsi que les devises mises à jour. Le PLN constitue la référence avec une valeur de 1. Les tables A et B peuvent avoir des dates de publication différentes, c’est pourquoi le module vérifie l’ancienneté des données nécessaires à une conversion donnée.
Comment fonctionnent la conversion des taux et le buffer de prix ?
PrestaShop enregistre le nombre d’unités de la devise cible correspondant à une unité de la devise de base de la boutique. Le module calcule ce taux comme suit : valeur de la devise de base en PLN ÷ valeur de la devise cible en PLN × (1 + buffer en pourcentage ÷ 100). Le résultat est enregistré avec une précision de six décimales.
Exemple : avec le PLN comme devise de base et une cotation de 1 EUR = 4 PLN, le taux de la boutique est de 0,25 EUR pour 1 PLN. Un buffer de 2 % le porte à 0,255, donc un montant de 100 PLN converti selon ce taux donne 25,50 EUR. Le buffer influence la conversion standard des prix, mais il ne constitue ni des frais bancaires ni une garantie de marge.
Que gagne l’équipe de la boutique ?
- Moins de saisie manuelle des taux : les données proviennent de la source NBP sélectionnée et, après ajout d’une planification, les mises à jour peuvent être exécutées par CRON.
- Contrôle avant la modification des prix en devises étrangères : l’aperçu permet d’évaluer la conversion proposée, et les buffers ainsi que les seuils de variation peuvent être adaptés aux règles de la boutique.
- Accès aux valeurs précédentes : les détails de la mise à jour enregistrée facilitent la vérification de l’écart et, le cas échéant, la restauration des taux.
- Gestion multiboutique distincte : il est possible d’utiliser différentes sources, différents buffers et différentes règles d’automatisation pour chaque boutique.
Quelle information le client reçoit-il ?
Après activation du message, le client utilisant une devise étrangère peut voir sur la fiche produit et dans le panier une conversion sous la forme « 1 unité de la devise de base = taux dans la devise du client ». Le message indique également que les prix utilisent le taux de la boutique, qui peut inclure un buffer de prix. L’heure de la mise à jour enregistrée et la date de publication NBP apparaissent lorsque l’entrée lue dans le dernier historique correspond à la devise de base actuelle et au taux du client ; après restauration des taux, aucune nouvelle date NBP n’est ajoutée.
Le message est masqué pour la devise de base et peut être désactivé dans les paramètres. L’affichage exige que le thème fournisse les emplacements pris en charge sur la page produit et dans le panier. Lors de l’affichage de ces pages, le module lit le taux enregistré de la boutique, sans récupérer les tables NBP.
Comment lancer la mise à jour des taux NBP dans PrestaShop ?
- Sélectionnez la boutique, puis dans l’onglet Devises cochez les devises étrangères actives et définissez leurs buffers.
- Dans Paramètres, sélectionnez la source NBP, la variation maximale et minimale du taux ainsi que l’ancienneté de publication autorisée.
- Récupérez l’aperçu dans Aperçu et comparez les valeurs proposées. L’aperçu seul ne modifie pas les taux.
- Validez l’aperçu correct et vérifiez le résultat dans l’historique.
- Si vous avez besoin d’automatisation, activez-la dans l’onglet Automatisation et ajoutez sur le serveur une tâche appelant l’adresse CRON générée. La simulation disponible permet de vérifier le résultat à l’avance sans enregistrer les taux.
Conditions de fonctionnement et portée de la mise à jour
Le module est destiné à PrestaShop 1.7.x, 8.x et 9.x. Il nécessite une version de PHP prise en charge par l’édition concernée de la boutique, l’extension cURL, une gestion correcte des certificats HTTPS et l’accès du serveur à l’API NBP. Les tables stockant les taux de change de la boutique et l’historique du module doivent utiliser le moteur InnoDB. La devise de base doit être active et avoir un taux égal à 1 ; le module ne la remplace pas par une autre.
Ce sont les taux de change des devises de la boutique concernée qui sont mis à jour, et non les enregistrements des prix des produits ni les commandes antérieures. Les prix spécifiques, les montants fixes en devises étrangères, les coupons et les arrondis conservent le fonctionnement natif de PrestaShop. Dans une même boutique, il convient d’utiliser un seul mécanisme de mise à jour automatique des taux.
L’installation ne modifie pas les taux actuels et laisse CRON désactivé. Par défaut, le buffer est de 0 %, la variation maximale de 10 %, la variation minimale de 0,05 %, l’ancienneté de publication autorisée de 10 jours, l’intervalle minimal entre les tentatives automatiques de 60 minutes et la période d’historique de 90 jours. La restauration nécessite une entrée d’historique conservée, des taux toujours conformes et la même devise de base ; elle ne sert pas à écraser des modifications ultérieures.