Introduction
WooChrono intègre l'ensemble des services de livraison du groupe Chronopost directement dans votre boutique WooCommerce : Express, ChronoFresh, ChronoFreeze et Chrono Ambient.
Chrono 10, 13, 18, Classic, Express, Same Day, Relais national et international
ChronoFresh et ChronoFreeze avec split automatique des commandes
Ambient 10, 13, 18, Relais, Precise, SameDay pour produits non thermosensibles
Prérequis
| Composant | Minimum | Recommandé |
|---|---|---|
| WordPress | 5.9 | 6.4+ |
| WooCommerce | 6.0 | 8.0+ |
| PHP | 7.4 | 8.1+ |
| Extensions PHP | soap, curl, json (actives sur le serveur) | |
| Poids produits | Chaque produit doit avoir un poids défini (en kg) | |
| Contrat Chronopost | N° de compte + mot de passe API requis | |
Installation
chronofood-by-woochrono.zip depuis votre espace client sur woochrono.comWooCommerce → Réglages → Expédition → Chronopost → LicenceLicence
La licence active les mises à jour automatiques et le support. Elle est liée à un domaine de production.
Activer
Chemin : WooCommerce → Réglages → Expédition → Chronopost → Licence
Comptes Chronopost
| Contrat | Services couverts | Identifiants |
|---|---|---|
| Express | Chrono 10/13/18, Classic, Express, Relais, Same Day | N° compte + MDP |
| Fresh | ChronoFresh 10/12/13/18, Classic, SameDay, Precise | N° compte Fresh + MDP |
| Freeze | ChronoFreeze 10/12/13/18, SameDay | N° compte Freeze + MDP |
| Ambient | Ambient 10/13/18, Relais, Precise, SameDay | N° compte Ambient + MDP |
Adresses expéditeur
Adresse de votre entrepôt / magasin d'où partent les colis.
Adresse légale de votre société sur les documents commerciaux.
Adresse de destination des colis retournés (peut différer).
Réglages avancés
| Réglage | Description |
|---|---|
| Clé API Google Maps | Pour la carte des relais colis. Optionnel si vous utilisez Leaflet. |
| Fournisseur de cartes | Google Maps ou Leaflet (open source, gratuit) |
| Assurance Ad Valorem | Couverture d'assurance au-delà du minimum configuré. |
| Livraison BAL | Active la livraison en boîte aux lettres pour les méthodes compatibles. |
| Format étiquette | A4 ou format thermique 10×15 cm. |
| Commandes fractionnées | Active ou désactive le split automatique Fresh/Freeze/Sec. |
Zones & Tarifs d'expédition
Les zones d'expédition WooChrono sont configurées directement dans chaque méthode, depuis la page de réglages de la méthode.
WooChrono → Méthodes de livraison → Chrono 10 (ou toute autre méthode). Les zones sont définies dans le tableau "Tarifs d'expédition en poids" en bas de page.WooChrono → Méthodes de livraison puis cliquez sur la méthode souhaitée (ex : Chrono 10, ChronoFresh 12…)93000, 91000, 92000). Pratique pour créer des tarifs différenciés selon les régions (Île-de-France, Corse, DOM-TOM…).| Min poids | Max poids | Tarif expédition | |
|---|---|---|---|
| Champ | Description |
|---|---|
| Nom zone | Identifiant libre pour différencier vos zones (ex : FR14, EU-Nord, Corse) |
| Pays | Un ou plusieurs pays couverts par cette zone |
| Codes postaux | Optionnel — restriction à des CP précis. Plusieurs codes séparés par des virgules : 93000, 91000, 92000. Laisser vide = tous les CP du pays. Utile pour des tarifs différenciés par région (ex : Corse : 20000, 20200, 20600). |
| Min poids | Poids minimum du colis pour déclencher ce tarif (kg) |
| Max poids | Poids maximum (kg). La dernière tranche couvre l'au-delà. |
| Tarif expédition | Prix en € HT appliqué pour cette tranche de poids dans cette zone |
Vous pouvez créer plusieurs zones dans la même méthode pour appliquer des tarifs différents selon la destination :
| Zone | Pays | Codes postaux | Usage |
|---|---|---|---|
FR-IDF | France | 75, 77, 78, 91, 92, 93, 94, 95 | Tarif spécial Île-de-France |
FR-Corse | France | 20000, 20200, 20600 | Supplément Corse |
FR-National | France | vide = tous les autres CP | Tarif standard |
Méthodes disponibles
Express
Points relais
ChronoFresh — Produits frais
ChronoFreeze — Produits surgelés
Sur rendez-vous (Precise / RDV)
Grilles tarifaires
Récupère automatiquement vos tarifs contractuels Chronopost en temps réel via le webservice QuickCost. Activez l'option dans les réglages de la méthode.
Définissez vos propres tranches de prix selon le poids ou le montant panier. Chaque ligne = une tranche (de / à / prix).
Options communes
| Option | Description |
|---|---|
| Calcul par | Poids total du colis ou montant du panier |
| Frais de gestion | Montant fixe ajouté au tarif final |
| Franco de port | Livraison gratuite au-delà d'un montant de commande |
| Option samedi | Surcoût pour la livraison le samedi (Chrono 10/13/18) |
| Marge Quick Cost | % ou montant fixe ajouté aux tarifs négociés |
Points relais
Livraison sur rendez-vous
ChronoPrecise et les méthodes RDV permettent au client de choisir un créneau horaire de 2h pour sa livraison.
Fonctionnement
Une popup s'ouvre avec les créneaux disponibles (récupérés en temps réel). Le client choisit son créneau et confirme. Le créneau est sauvegardé dans la commande.
Classes d'expédition
WooChrono utilise des classes d'expédition WooCommerce pour identifier le type thermique de chaque produit.
| Classe | Slug | Méthodes associées |
|---|---|---|
| Produits frais | fresh-product | ChronoFresh 10/12/13/18, Fresh Classic, Fresh SameDay, Fresh Precise |
| Produits surgelés | freeze-product | ChronoFreeze 10/12/13/18, Freeze SameDay |
| Produits ambiants | not-fresh-not-freeze | Ambient 10/13/18, Ambient Relais, Ambient Precise, Ambient SameDay |
| Sans classe | — | Toutes les méthodes Express (Chrono 10/13/18, Classic, Relais…) |
Produit → Expédition → Classe d'expédition.Split automatique des commandes
Lorsqu'un client commande des produits de types thermiques différents, WooChrono découpe automatiquement la commande en sous-commandes distinctes après paiement.
Passe en statut "Splitée". Regroupe les informations d'origine, le paiement et le client.
1 sous-commande par type thermique. Chacune a sa propre méthode, son adresse et ses étiquettes.
Routage produits
La page Routage permet d'associer des méthodes de livraison spécifiques à des catégories ou tags de produits, en priorité sur la classe d'expédition.
Accès
WooCommerce → Réglages → Expédition → Chronopost → Routage produits
Associez une catégorie ou tag WooCommerce à une méthode Chronopost.
Section "Produits assignés" dans les réglages de la méthode.
Génération d'étiquettes
Disponible depuis la fiche commande. Un email avec le lien de téléchargement est automatiquement envoyé au client.
Suivi des colis
Un cron WordPress vérifie toutes les heures le statut. Les commandes "Livré" passent automatiquement en "Terminée".
Affiché dans la fiche commande admin et dans l'email de confirmation client avec lien de suivi Chronopost.
Notifications intelligentes (v3.2.6)
Par défaut, Chronopost envoie un email au client dès la création de l'étiquette, avec la mention « expédié » — même si le colis n'est pas encore parti. La v3.2.6 introduit un système piloté par le suivi réel du colis.
Réglages avancés > Étiquettes > « Ne pas envoyer la notification Chronopost au client ». L'email du client n'est plus transmis à Chronopost. Les SMS Chronopost continuent (le mobile reste transmis).
WooCommerce > Réglages > Emails > « Suivi de colis Chronopost » > cocher Expédition réelle. L'email part quand Chronopost scanne réellement le colis (codes officiels PC, PE, DB, DV, EC, SC — doc §4.1).
Cocher Avis point relais : à la mise à disposition (codes MD, IP, AB), le client reçoit un email avec le nom du relais, son adresse 📍 et le tableau des horaires d'ouverture.
Emails = votre site (wp_mail, aux couleurs de la boutique — SMTP conseillé pour la délivrabilité). SMS = Chronopost (immédiats, inchangés). Latence email : jusqu'à 1 h (cron horaire).
Déclencheurs complémentaires : action de commande « Envoyer l'email de suivi Chronopost » (manuel) et envoi au passage en « Terminée » (option). Anti-doublon intégré, sous-commandes fractionnées agrégées. Recette recommandée : notification Chronopost coupée + expédition réelle + avis relais = zéro message trompeur, zéro avis perdu.
Diagnostic destination (v3.2.6)
« Pourquoi cette méthode ne s'affiche pas pour ce pays ? » — l'outil répond sans deviner. Menu WooChrono > Diagnostic destination.
① Les produits autorisés par votre contrat pour la destination (webservice Chronopost, par contrat configuré). ② Le croisement avec vos méthodes actives (✅/❌). ③ La cohérence des listes internes du plugin.
Saisir pays ISO2 (ex. DE), code postal, poids et contrat > Diagnostiquer. Si une méthode est ✅ au contrat mais absente au checkout : vérifier la grille tarifaire de la méthode (pas de tarif pour le pays = méthode masquée).
Assistant IA (v3.2.6)
Menu WooChrono > Assistant IA. Support technique conversationnel qui connaît le plugin et votre site.
Base de connaissance complète (codes erreur Chronopost, impression ZPL, fractionnement, relais fresh, contrats…) + contexte réel de votre site injecté à chaque question : versions, options actives, méthodes, dernières lignes de log.
« Pourquoi mes commandes se fractionnent vers l'Allemagne ? » · « Erreur 33 à la génération d'étiquette » · « L'impression ZPL ne marche pas » — l'IA diagnostique sur l'état réel et donne les étapes.
Confidentialité : seules les informations techniques nécessaires (versions, réglages, logs WooChrono) sont transmises au service IA — jamais de données clients.
Import suivi CSV
Associez des numéros de suivi Chronopost à vos commandes en masse depuis un fichier CSV. Idéal pour les utilisateurs de ChronoShip Office.
Format attendu
N° commande WooCommerce ; N° suivi Chronopost
2941 ; XP123456789FR
2942 ; XP987654321FR
Les colonnes sont configurables. La 1ère ligne est ignorée si elle contient un en-tête non numérique.
Google Maps / Leaflet
Précis, géocodage avancé. Nécessite une clé API (facturation possible au-delà du quota gratuit).
Config : Réglages avancés → Clé API Google Maps
Open source (BSD-2), tuiles OpenStreetMap. Aucune clé API, aucun coût.
Config : Réglages avancés → Fournisseur de cartes → Leaflet
Checkout Blocs WooCommerce 8+
Si votre thème utilise le checkout basé sur les blocs Gutenberg (WooCommerce 8+), WooChrono est entièrement compatible.
woocommerce/checkout, le module s'active sans configuration.Fonctionnalités
Sélection du relais colis · Validation créneau ChronoPrecise · Option samedi · Sauvegarde en session Store API
Chronopost Pro — API REST
Pour les clients ayant souscrit à l'offre digitale Chronopost Pro, WooChrono intègre une authentification OAuth 2.0 et expose une REST API WordPress.
Endpoints disponibles
| Endpoint | Méthode | Description |
|---|---|---|
/auth/connect | POST | Connexion OAuth — obtention du token |
/auth/revoke | POST | Déconnexion / révocation |
/auth/status | GET | Statut de connexion actuel |
/relay-points | GET | Liste des relais par code postal |
/precise-slots | GET | Créneaux ChronoPrecise disponibles |
/orders | GET | Commandes WooCommerce |
/shipment-states | GET | Suivi d'un colis par numéro |
Setup Wizard — Configuration guidée
Lors de la première activation, un assistant en 8 étapes guide la configuration complète du plugin. Il est accessible à tout moment depuis la page Extensions.
| Étape | Contenu | Note |
|---|---|---|
| 1 Bienvenue | Présentation du plugin et prérequis | — |
| 2 Licence | Saisie et validation de la clé de licence | — |
| 3 Comptes | N° de compte + mot de passe Chronopost. Multi-comptes supportés. | — |
| 4 Adresses | Expéditeur, facturation, retour. Toggle "Identique à l'expéditeur". | — |
| 5 Avancé | Google Maps/Leaflet, BAL, format étiquette, zones éloignées, assurance. | — |
| 6 ⚠ Produits | Compteurs produits sans poids et sans DLC. Liens directs vers les produits à corriger. | Étape bloquante si > 0 |
| 7 Méthodes | Assignation des méthodes de livraison (3 modes : classe, catégorie, produit). | Voir §Routage |
| 8 Terminé | Récap + liens rapides vers les zones d'expédition. | — |
Extensions → WooChrono → Setup Wizard ou via le lien en bas de la page d'une méthode.Produits thermiques & DLC
Les méthodes Fresh et Freeze nécessitent deux informations sur chaque produit : la classe thermique et la DLC (durée de vie restante).
Onglet "Date d'expiration du produit"
minimum 5 jours pour les méthodes Fresh et Freeze
Sélectionnez les méthodes auxquelles CE produit peut être expédié. Si vide, la règle par catégorie/tag/classe WooCommerce s'applique.
| Famille thermique | DLC minimale | Exemples de produits |
|---|---|---|
| 🌡️ Fresh | 5 jours minimum | Viande fraîche · Poisson · Fromage · Charcuterie |
| ❄️ Freeze | 5 jours minimum | Glaces · Viande surgelée · Plats cuisinés |
| 📦 Ambiant | Non requis | Épicerie · Boissons · Cosmétiques · Livres |
Assignation des méthodes de livraison
WooChrono propose 3 modes d'assignation pour associer vos produits aux bonnes méthodes Chronopost. Configurables depuis le Setup Wizard (étape 7) ou les Réglages.
Recommandé. Assignez une classe thermique à chaque produit (onglet Expédition).
fresh-product → ChronoFreshfreeze-product → ChronoFreezenot-fresh-not-freeze → AmbientAssociez chaque catégorie WooCommerce à une ou plusieurs méthodes autorisées.
Idéal si vos produits sont déjà bien catégorisés et que vous ne souhaitez pas toucher aux classes.
Assignation unitaire depuis la fiche produit (onglet "Date d'expiration") ou depuis la page d'une méthode ("Produits assignés").
Priorité max — écrase les règles catégorie/classe.
Impression en masse & Bordereau
Accès : WooChrono → Bordereau fin de journée
Liste toutes les commandes Chronopost du jour avec leur statut. Permet d'exporter le bordereau PDF à remettre au transporteur.
Accès : WooChrono → Impression en masse
Générez et téléchargez plusieurs étiquettes en un clic. Gestion du nombre de colis par commande, des dimensions et du contrat.
| ☑ | Statut | Commande | Colis | Poids | Tracking | Étiquettes |
|---|---|---|---|---|---|---|
| En cours | #2992 — Jean D. ChronoFresh 12 |
kg | XY250987321RV |
wc_orders.Annulation différée d'étiquette
Quand Chronopost a déjà pris en charge un colis, l'annulation immédiate est refusée (erreur code 3). WooChrono met alors l'annulation en file d'attente automatique.
| État | Affichage dans la commande |
|---|---|
| Annulation réussie | Bouton "Cancel label" → disparaît, étiquette retirée |
| ⏳ En file d'attente | Badge orange "Annulation en attente" + note dans l'historique commande |
| ✅ Exécuté automatiquement | Note "Annulation exécutée (tentative automatique)" |
| ⚠️ Abandonné (48 tentatives) | Note "Annulation abandonnée après 48 tentatives" (~12 jours) |
Compatibilité HPOS (WooCommerce 8+)
WooChrono est entièrement compatible avec le High Performance Order Storage de WooCommerce 8+, qui stocke les commandes dans des tables dédiées wc_orders au lieu de wp_posts.
- Génération d'étiquettes
- Lecture/écriture des metas de commande
- Bordereau de fin de journée
- Impression en masse
- Annulation différée
- Import CSV tracking
Toutes les lectures/écritures de méta passent par :
woochrono_update_order_meta()
wc_get_order() // remplace new WC_Order()
Sécurité
Le plugin a passé un audit de sécurité complet. Voici les protections en place :
| Vecteur | Protection appliquée |
|---|---|
| Injection SQL | $wpdb->prepare() systématique sur toutes les requêtes à variables |
| XSS | esc_html(), esc_attr(), esc_url(), sanitize_text_field() sur tous les outputs |
| CSRF | Nonce WP sur tous les formulaires et handlers AJAX (wp_verify_nonce) |
| Accès non autorisé | current_user_can('manage_woocommerce') sur tous les handlers AJAX admin |
| Upload de fichiers | Validation MIME réelle, extension whitelist, taille max 10 Mo |
| Désérialisation | Aucun unserialize() sans allowed_classes => false |
| Accès direct PHP | defined('ABSPATH') or exit dans tous les fichiers inclus |
eval(), exec() ni system(). Aucun appel nopriv sur des actions nécessitant manage_woocommerce.Multilingue EN / FR
WooChrono est livré avec des traductions complètes en anglais (langue par défaut) et en français. La langue s'adapte automatiquement.
Utilisateurs → Votre profil → LangueRéglages → Général → Langue du sitechronopost-woocommerce-shipping.pot
chronopost-woocommerce-shipping-fr_FR.po
chronopost-woocommerce-shipping-fr_FR.mo
530 chaînes traduites. Ajouter une langue : créer le .po correspondant et compiler en .mo.
FAQ
Vérifiez : (1) poids des produits renseigné, (2) zone d'expédition couvre l'adresse du client, (3) identifiants Chronopost corrects et testés.
Vérifiez votre clé Google Maps API, ou passez sur Leaflet dans les réglages avancés. Assurez-vous que JavaScript est actif.
Vérifiez : (1) adresse expéditeur complète, (2) mode Production activé, (3) extension PHP SOAP active sur le serveur.
Le split nécessite des produits de classes thermiques différentes ET des méthodes actives pour chaque classe dans la zone.
Désactivez "Commandes fractionnées" dans les Réglages avancés.
Changelog
Import tracking CSV · Checkout Blocs WC 8+ · Leaflet Maps · API REST Chronopost Pro · JWT OAuth 2.0 · Email retour WC_Email · Audit sécurité (nonces AJAX, XSS, SQL) · Optimisation performance
Sauvegarde relais en session WC · Fermeture popup fancybox · Adresse domicile Fresh/Freeze · Google Maps/Leaflet configurable
Compatibilité HPOS WC8+ · Cron tracking automatique · 2Shop Direct/Europe · Routage produits avancé