# Mode d'emploi — Simple Connection for ChronoFresh

Référence claire pour l'usage quotidien.
Si vous comprenez ce document, vous pouvez expédier du frais, du surgelé et de l'ambiant avec Chronopost/Chronofresh sans toucher au PHP.

English version: [USER-GUIDE.md](USER-GUIDE.md)

---

## 1. C'est quoi ce plugin ?

**Simple Connection for ChronoFresh** connecte WooCommerce à l'API d'expédition Chronopost/Chronofresh :

1. le client choisit une **méthode de livraison ChronoFresh** au checkout (domicile, agence ou point relais) ;
2. pour les méthodes point relais, il sélectionne son point sur une **carte interactive** avec les horaires d'ouverture ;
3. vous générez l'**étiquette d'expédition (PDF)** depuis la page de commande, en un clic ou en masse ;
4. le client reçoit automatiquement un **email de suivi**, et vous pouvez suivre ou annuler le colis depuis la commande.

Les trois plages de température du réseau Chronofresh sont couvertes : **Ambiant**, **Frais (0°C – 8°C)** et **Surgelé (< −18°C)**.

---

## 2. Prérequis

- Un **contrat Chronofresh** actif (contactez votre commercial Chronopost).
  Pour les tests, utilisez le compte officiel `19869502` / mot de passe `255562`.
- L'extension **PHP SOAP** activée sur votre serveur (vérifiable dans WooCommerce → État).
- **WooCommerce** actif, avec une adresse de boutique complète (Réglages → Général) — elle est imprimée sur l'étiquette comme expéditeur.

---

## 3. Installation rapide

1. Activez **WooCommerce**.
2. Activez **Simple Connection for ChronoFresh**.
3. WooCommerce → **ChronoFresh** → renseignez numéro de compte, mot de passe et téléphone expéditeur.
4. Cliquez sur **Tester la connexion API** pour valider vos identifiants.
5. WooCommerce → Réglages → **Expédition** → ajoutez les méthodes ChronoFresh à vos zones d'expédition.

---

## 4. Méthodes de livraison et codes produit

Ajoutez ces méthodes dans WooCommerce → Réglages → Expédition → votre zone :

| Méthode | Code Chronopost | Usage | Point relais ? |
|---------|-----------------|-------|----------------|
| Chrono Ambient 13h | `5M` | Ambiant, livraison à domicile | Non |
| Chrono Ambient Instance | `5N` | Ambiant, retrait en agence | Non |
| Chrono Ambient Relais 13h | `5Q` | Ambiant, point relais | Oui |
| Chrono Fresh 13h | `2R` | Frais (0°C – 8°C), à domicile | Non |
| **Chrono Fresh Relais 13h** | `6S` | **Frais (0°C – 8°C), point relais** | Oui |
| Chrono Freeze 13h | `2S` | Surgelé (< −18°C), à domicile | Non |
| Chrono Relais 13h | `86` | Standard, point relais | Oui |
| Chrono Instance 13h | `1S` | Standard, retrait en agence | Non |

> **Nouveau en 1.2.0** — *Chrono Fresh Relais 13h* (`6S`) : Chronofresh propose la livraison en frais en point relais depuis début 2026. Le service doit être activé sur votre contrat Chronofresh.

Pour chaque méthode, vous réglez le **titre**, le **coût** et le **statut de taxe** directement dans la zone d'expédition.

---

## 5. Configuration des produits

Dans chaque fiche produit, onglet **Expédition** :

| Champ | Signification |
|-------|---------------|
| **Type de température** | `Ambiant`, `Frais` ou `Surgelé` — détermine le code produit Chronopost sur l'étiquette |
| **DLC (jours avant expiration)** | Frais/Surgelé uniquement. Si vide, la DLC globale est utilisée |

À savoir :

- Les produits **sans** type de température sont traités comme **Ambiant** pour la génération d'étiquettes.
- La **DLC est obligatoire** pour Chronofresh : *« tout colis dont la date limite de consommation n'est pas indiquée ou dépassée ne sera pas livré »*. Le plugin l'envoie toujours, en prenant la **DLC minimum** parmi les produits du colis.
- La DLC globale par défaut se règle dans WooCommerce → ChronoFresh (45 jours par défaut). Valeurs typiques : charcuterie 5 jours, surgelés 90 jours.

---

## 6. Checkout — sélection du point relais

Pour les méthodes point relais (`86`, `5Q`, `6S`) :

1. le client saisit son adresse de livraison ;
2. la carte apparaît sous la méthode de livraison avec les **10 points les plus proches** ;
3. un clic sur un point (carte ou liste) affiche ses **horaires d'ouverture** et le sélectionne ;
4. la commande ne peut pas être validée tant qu'aucun point n'est sélectionné.

La recherche de points utilise le code produit de la méthode choisie : une recherche **Fresh Relais (6S)** ne renvoie que des points acceptant les colis frais.

---

## 7. Workflow quotidien

1. Une commande arrive avec une méthode ChronoFresh.
2. Ouvrez la commande → bloc **ChronoFresh Labels** (colonne droite) → **Générer les étiquettes**.
   Ou sélectionnez plusieurs commandes dans la liste → Actions groupées → **Générer les étiquettes ChronoFresh**.
3. Les étiquettes PDF sont générées et stockées ; le client reçoit un **email de suivi**.
4. Si configuré, le statut de commande change automatiquement (WooCommerce → ChronoFresh → statut auto).
5. Imprimez l'étiquette, collez-la sur le colis, déposez-le chez Chronopost avant l'heure limite.
6. **Suivez** le colis en temps réel depuis la commande (bouton Détails — aucun identifiant supplémentaire requis).
7. Une erreur ? **Annulez** l'étiquette depuis la commande (disponible ~10 minutes après génération, et tant que le colis n'a pas été scanné par Chronopost).

Les commandes mixtes (ambiant + frais + surgelé) sont scindées automatiquement : **une étiquette par groupe de température**, et par limite de poids (20 kg par colis par défaut, configurable).

---

## 8. Dépannage

| Symptôme | Solution |
|----------|----------|
| Notice « extension PHP SOAP manquante » | Demandez à votre hébergeur d'activer `php-soap` |
| Erreur 30 « Invalid contract number » | Vérifiez numéro de compte / mot de passe dans les réglages |
| Erreur 33 / code produit rejeté | Le service (ex. `6S`, `2R`) n'est pas activé sur votre contrat Chronopost — contactez votre commercial |
| Erreur 35 « Code Service GeoPost not found » | Code produit incompatible avec la destination — vérifiez que l'adresse est en France métropolitaine |
| Aucun point relais trouvé | Vérifiez code postal + ville ; testez la méthode Relais standard pour isoler un problème de contrat |
| Étiquette sans numéro de suivi | Activez le mode debug et lisez les fichiers XML dans `/wp-content/uploads/simple-connection-for-chronofresh-woocommerce/` |
| Erreur d'annulation code 3 | Le colis a déjà été scanné par Chronopost — l'annulation n'est plus possible |

Logs de debug : `/wp-content/uploads/simple-connection-for-chronofresh-woocommerce/scc-debug.log` (mode debug à activer dans les réglages).

---

## 9. Support

- Guide intégré : WooCommerce → ChronoFresh → onglet **Guide de démarrage**.
- Forum de support WordPress.org.
- Contacts techniques Chronopost : [clients.dv@chronopost.fr](mailto:clients.dv@chronopost.fr) / [clients.dcs@chronopost.fr](mailto:clients.dcs@chronopost.fr).
- Support premium : [tlloancy@deter-mi.net](mailto:tlloancy@deter-mi.net).
