· Documentation administrateur CRM

Import contacts

Présentation

Le module Import contacts injecte dans le CRM Dolibarr les contacts issus d'exports CSV LinkedIn (format Waalaxy). Chaque ligne du CSV est rapprochée d'un tiers déjà présent dans Dolibarr via le nom de société (company_name), puis poussée sur ce tiers sous forme de fiche contact.

Le module ne crée jamais de nouveau tiers. Seuls les contacts dont la société est déjà connue du CRM sont injectés. Les autres restent en attente d'un rapprochement manuel ou d'un import préalable (Import collectivités, Import entreprises).

Public visé : administrateur Dolibarr qui prépare le CRM avant l'usage du module (création des champs complémentaires, ouverture des droits API, lecture du cadre RGPD applicable).

Ce que le module fait

  • Lecture d'exports CSV Waalaxy en UTF-8 (BOM accepté), tolérance sur l'ordre et la casse des colonnes.
  • Rapprochement contact → tiers Dolibarr par scoring de recouvrement du nom de société (0 à 100).
  • Classement de chaque ligne en trois phases : automatique (score ≥ 70), à vérifier (30 ≤ score < 70), non trouvé (score < 30).
  • Création ou mise à jour idempotente du contact, identifié par le couple (tiers, nom, prénom).
  • Enrichissement automatique du poste : si la personne figure dans le Répertoire National des Élus (RNE) et que son tiers est une collectivité, le suffixe « Fonction (mandat AAAA → AAAA+6) » est ajouté.
  • Journalisation des opérations sans donnée nominative (compteurs seulement).

Ce que le module ne fait pas

  • Aucune création de tiers à partir d'un CSV. Le champ company_name sert uniquement à rapprocher d'un tiers existant.
  • Aucune suppression de contact. Le module est exclusivement en mode « créer ou mettre à jour ».
  • Aucune fusion ni déduplication entre tiers existants.
  • Aucune écriture sur la fiche du tiers (seuls les contacts sont touchés).
  • Aucune transmission de données vers un service externe.

Prérequis Dolibarr

Élément Détail
Modules activés Tiers (Société), Contacts
Utilisateur API Compte dédié recommandé, droits de lecture sur Tiers et de lecture/écriture sur Contacts
Champs complémentaires Trois champs array_options à créer sur la fiche Contact (cf. ci-dessous)

Données lues depuis le CRM

Endpoint Champs utilisés Usage
GET /thirdparties id, name Recherche du tiers candidat par token significatif du nom de société
GET /thirdparties?sqlfilters=… id, name, idprof1 Lookup exact par nom ou par SIREN
GET /contacts?sqlfilters=(t.fk_soc:=:N) id, lastname, firstname Anti-doublon avant écriture

Aucun autre champ du CRM n'est lu par le module.

Données écrites dans le CRM

Champs standard de la fiche Contact

Champ Type Exemple Finalité
socid / fk_soc entier 1234 Tiers de rattachement
lastname texte DUPONT Nom, en majuscules
firstname texte Marie Prénom, capitalisé
poste texte (240 c.) Directrice générale — Maire (mandat 2020 → 2026) Poste source du CSV, suffixé avec la fonction d'élu et la période de mandat si applicable
email texte m.dupont@ville.fr E-mail professionnel (priorité au champ proEmail du CSV)
phone_pro texte 05 49 12 34 56 Téléphone professionnel
socialnetworks_linkedin texte https://linkedin.com/in/marie-dupont URL du profil LinkedIn
note_public texte multilignes (cf. exemple ci-après) Résumé lisible regroupant poste, localisation, LinkedIn, e-mail personnel, téléphone et source
statut entier 1 Contact actif

Exemple de note_public générée :

Poste : Directrice générale
Localisation : Poitiers
LinkedIn : https://linkedin.com/in/marie-dupont
E-mail (perso) : marie.dupont@gmail.com
Téléphone : 05 49 12 34 56
Source : Waalaxy (LinkedIn)

Champs complémentaires à créer sur la fiche Contact

Code extrafield Type Exemple Finalité
urllinkedin Texte https://linkedin.com/in/marie-dupont URL LinkedIn (doublon volontaire de socialnetworks_linkedin pour les vues qui exploitent les array_options)
linkedin Booléen 1 Indicateur de présence LinkedIn, utile pour les filtres de liste
emailperso Texte marie.dupont@gmail.com E-mail personnel, distinct de l'e-mail professionnel

Les codes sont préfixés options_ côté API Dolibarr (options_urllinkedin, options_linkedin, options_emailperso). Si l'un de ces champs n'est pas créé, la valeur correspondante est silencieusement ignorée par Dolibarr et l'import se poursuit sans erreur.

Endpoints appelés

Méthode URL Quand Idempotent
GET /api/index.php/thirdparties Recherche floue d'un tiers candidat Oui
GET /api/index.php/thirdparties?sqlfilters=… Recherche exacte par nom ou SIREN Oui
GET /api/index.php/contacts?sqlfilters=(t.fk_soc:=:N) Anti-doublon avant écriture Oui
POST /api/index.php/contacts Création d'un contact inconnu Oui (clé tier + nom + prénom)
PUT /api/index.php/contacts/{id} Mise à jour d'un contact existant Oui

Aucun autre endpoint n'est appelé par le module.

Limitations

  • Un contact dont la société n'est pas reconnue dans Dolibarr reste en phase « non trouvé » et n'est pas poussé. L'opérateur peut le rattacher manuellement à un tiers depuis l'interface, ou attendre un import collectivités / entreprises préalable.
  • Le rapprochement repose sur le champ company_name du CSV. Une orthographe trop éloignée du nom Dolibarr ramène un score faible et fait basculer la ligne en phase « à vérifier ».
  • L'enrichissement « mandat élu » repose sur le référentiel RNE (Répertoire National des Élus) ingéré dans Z1, la base locale Oraklic. Z1 ne quitte jamais le poste de l'opérateur : seuls les champs documentés plus haut sont écrits dans le CRM client. Si Z1 n'est pas peuplé, le poste est conservé tel quel.
  • Le module ne lit jamais le CRM en arrière-plan : toute requête API est déclenchée par un import explicite lancé depuis l'interface.
  • La taille maximale d'un import dépend du quota REST de l'utilisateur API Dolibarr. Aucun plafond applicatif n'est imposé côté Oraklic.

Conformité RGPD

Oraklic agit en qualité de sous-traitant au sens de l'article 28 du RGPD pour le compte du client, responsable de traitement, qui détient et opère le CRM Dolibarr.

Données traitées par ce module

Catégorie Champs concernés Origine
Identification nom, prénom CSV opérateur
Coordonnées professionnelles e-mail pro, téléphone pro, URL LinkedIn CSV opérateur
Coordonnée personnelle e-mail personnel (si présent dans l'export) CSV opérateur
Activité professionnelle poste, employeur (nom de société) CSV opérateur
Mandat électif (le cas échéant) fonction, date de début de mandat Z1 (référentiel RNE public)

Aucune autre catégorie de donnée n'est manipulée. En particulier : aucune donnée sensible au sens de l'article 9 du RGPD (santé, opinions politiques, etc.) n'est lue, ni écrite.

Finalité

Injection de contacts professionnels existants (export LinkedIn / Waalaxy de l'opérateur) dans le CRM du client, en vue d'opérations de prospection commerciale B2B menées par le client lui-même.

Sous-traitants ultérieurs

Aucun. Le module fonctionne intégralement sur le poste de l'opérateur. Aucun service tiers, aucune API externe, aucun stockage cloud n'est sollicité.

Flux de données

CSV opérateur ──► RAM Oraklic ──► API REST Dolibarr (HTTPS) ──► CRM client
                     │
                     └──► (optionnel) lookup Z1 local pour enrichissement mandat

Z1 est une base de référence publique locale (RNE, BANATIC, INSEE, etc.). Elle n'est jamais transmise au CRM ; seuls les champs documentés plus haut sont écrits.

Conservation des données côté Oraklic

Donnée Persistée par Oraklic Durée
Contenu du CSV importé Non Lecture RAM uniquement
Résultat du matching Non RAM, purgé en fin d'import
Données du CRM lues Non RAM, purgé en fin d'import
Journaux applicatifs Compteurs uniquement Selon politique de logs du poste

Aucune donnée nominative n'est conservée par Oraklic au-delà de la durée de l'import. Le CRM client reste l'unique référentiel durable.

Logs

Les journaux applicatifs ne contiennent ni nom, ni prénom, ni e-mail, ni téléphone, ni contenu d'export. Sont consignés :

  • nombre de lignes lues, créées, mises à jour, en erreur ;
  • identifiant numérique du tiers de rattachement ;
  • classe d'erreur en cas d'échec (TimeoutError, HTTPError, etc.) sans payload.

Exercice des droits des personnes concernées

Les droits d'accès, de rectification, d'effacement, d'opposition et de portabilité s'exercent intégralement via le CRM du client, qui détient seul les données après import. Oraklic n'est pas en mesure de répondre à une demande d'exercice de droit puisque le module ne conserve aucune donnée après import.

Base légale (à confirmer avec le DPO du client)

Selon la nature de la relation entre le client et la personne concernée :

  • intérêt légitime de prospection B2B (art. 6.1.f RGPD) lorsque la personne est contactée dans un cadre strictement professionnel, sur des coordonnées professionnelles, pour une offre en lien avec son activité ;
  • consentement préalable (art. 6.1.a RGPD) dans les autres cas, notamment lorsque l'e-mail personnel est utilisé.

Le client (responsable de traitement) est seul habilité à arrêter ce choix et à documenter sa base légale dans son registre des traitements.