---
title: "Administration -- Modèles d'extraction"
weight: 24
description: "Détection automatique du type d'email (Contact Form 7, Wix, etc.) et extraction de données structurées."
---

# Administration -- Modèles d'extraction

Les modèles d'extraction (`admin/inputtemplate_list.php`) permettent à Capmail de reconnaître automatiquement les emails issus de formulaires web (Contact Form 7, Wix, Typeform, custom...) et d'en extraire les données structurées (nom, email, téléphone, message, etc.) pour pré-remplir la fiche tiers.

## Principe

Quand un email arrive, Capmail teste les modèles actifs **dans l'ordre de priorité décroissante**. Le premier dont les règles de détection correspondent est utilisé pour extraire les données. Si aucun modèle ne correspond, le module utilise un parser générique (téléphones et SIREN par regex).

## Liste des modèles

`admin/inputtemplate_list.php` affiche tous les modèles configurés. Colonnes :

- **Référence** -- identifiant `TPL0001`.
- **Libellé** -- nom métier (ex. " Contact Form 7 -- site corporate ").
- **Priorité** -- ordre de test (plus haut = testé en premier).
- **Statut** -- actif/inactif.

## Fiche d'un modèle (`admin/inputtemplate_card.php`)

La fiche est organisée en 5 onglets.

### Onglet " Général "

| Champ | Description |
|-------|-------------|
| **Libellé** | Nom du modèle (obligatoire). |
| **Description** | Description libre, pour documentation interne. |
| **Priorité** | Entier. Les modèles avec priorité haute sont testés avant les autres. Permet de gérer les conflits quand plusieurs modèles peuvent matcher. |
| **Actif** | Si décoché, le modèle est ignoré à la collecte. |
| **Liaison automatique au tiers** | Si activé, le tiers est lié automatiquement quand un mail correspond, sans confirmation. |
| **Champ de liaison** | Champ tiers utilisé pour le rapprochement (email, téléphone, etc.). |

### Onglet " Détection "

Définit **quand** le modèle s'applique. Liste de règles évaluées en ET logique : toutes doivent matcher pour que le modèle s'applique.

Chaque règle a :

- **Champ source** -- `subject` (sujet), `from` (expéditeur), `body_text` (corps texte), `headers`.
- **Opérateur** -- `contains` (chaîne contenue) ou `regex` (expression régulière).
- **Valeur** -- chaîne ou regex à comparer.

Exemple : pour Contact Form 7, une règle `subject contains "Demande de contact"`.

### Onglet " Extraction "

Définit **quoi** extraire. Liste de règles regex appliquées au mail. Chaque règle remplit un champ cible.

| Paramètre | Description |
|-----------|-------------|
| **Nom du champ** | Champ Capmail à remplir : `email`, `phone`, `firstname`, `lastname`, `name`, `company`, `address`, `zip`, `town`, `country_code`, `siren`, `siret`, `tva_intra`, `message`, `project_title`, `website`. |
| **Regex** | Expression régulière avec un groupe de capture (le contenu de `()` devient la valeur extraite). |
| **Source** | Où chercher : `subject`, `from`, `body_text`, `body_html`. |
| **Flags** | Modificateurs regex : `i` (insensible à la casse), `s` (dot matche \\n), `m` (multilignes). |

Exemple : `Email\s*:\s*([\w.-]+@[\w.-]+)` sur `body_text` pour extraire l'adresse depuis un texte " Email : contact@example.com ".

Quand la source est `body_html`, les valeurs extraites sont nettoyées automatiquement (suppression des balises HTML, décodage des entités).

### Onglet " Étiquettes par défaut "

Catégories Dolibarr appliquées automatiquement aux objets créés depuis un email matching ce modèle.

- **Étiquettes tiers** -- appliquées au nouveau tiers (catégories de type `customer`).
- **Étiquettes contact** -- appliquées au contact (catégories de type `contact`).
- **Étiquettes projet** -- appliquées au projet auto-créé (catégories de type `project`).

Permet de classer rapidement les leads par origine (" Site web ", " Salon X 2026 ", etc.).

### Onglet " Test "

Champ de saisie où coller un email exemple. Le bouton " Tester " exécute les règles de détection puis d'extraction et affiche le résultat. Indispensable pour valider une regex avant d'activer le modèle en production.

## Conseils

- Commencer simple : une règle de détection sur le sujet suffit souvent.
- Tester chaque modèle avec au moins 3 emails réels avant de l'activer.
- Un modèle = une source de leads (un formulaire, un partenaire). Évitez les modèles trop génériques qui matchent trop large.
- Si plusieurs modèles peuvent matcher (ex. plusieurs formulaires sur un même site), utilisez la priorité pour les départager.
