SmartCRM — Synchronisation Bidirectionnelle ERP
Modules impliqués : SmartCRM · Leads · Clients · Factures · Projets · Tickets · Produits · Entrepôt
Qui l'utilise : Administrateur · IT · Opérations
Durée typique : Sync manuelle = minutes · Sync automatique = toutes les 1/2/4/12/24 heures (configurable)
Vue d'ensemble
SmartCRM est un connecteur bidirectionnel entre CRMConnect et un système ERP/CRM externe. Il synchronise dans les deux sens : importe des données depuis le système externe dans le CRM et exporte les enregistrements CRM vers le système externe.
Entités synchronisées
| Entité | Import (externe → CRM) | Export (CRM → externe) |
|---|---|---|
| Produits + prix | ✓ | ✗ |
| Groupes de produits | ✓ | ✗ |
| Clients + contacts | ✓ | ✓ |
| Commandes / Proformas | ✓ (comme Commandes de Vente) | ✗ |
| Stock par entrepôt | ✓ | ✗ |
| Remises par groupe | ✓ | ✗ |
| Leads | ✓ | ✓ |
| Projets | ✓ | ✓ |
| Tickets | ✓ | ✓ |
| Factures | ✓ | ✓ |
Diagramme de flux
[CONFIGURATION — admin, requise avant la première sync]
│
├── SmartCRM → Paramètres :
│ ├── smartcrm_api_url (URL système externe + /index.php/api/)
│ ├── smartcrm_auth_token (Bearer token REST API)
│ ├── smartcrm_client_token (token séparé pour sync entités avancées — REQUIS)
│ ├── smartcrm_currency_mapping (JSON mapping devises externe → locale)
│ └── Tester la Connexion → vérification de connectivité
│
├── Configuration Cron (optionnel) :
│ ├── smartcrm_cron = 'yes'
│ └── smartcrm_interval : 1/2/4/12/24 heures
│
└── Paramètres de lot :
smartcrm_batch_size (défaut 50)
smartcrm_api_timeout (défaut 30s)
smartcrm_max_retries (défaut 3, avec backoff exponentiel)
│
↓
════════════════════════════════════
IMPORT — DONNÉES EXTERNE VERS CRM
════════════════════════════════════
│ Manuel : SmartCRM → Sync → bouton par entité
│ Automatique (cron) : toutes les 5 entités principales si intervalle écoulé
│
├── Flux import par entité :
│ ├── GET /api/{entite} depuis le système externe
│ ├── Déduplication : vérifie external_id + external_channel='smartcrm'
│ └── INSERT ou UPDATE dans les tables CRM
│
└── Log : chaque opération → tbl_smartcrm_logs
│
↓
════════════════════════════════════
EXPORT — DONNÉES CRM VERS EXTERNE
════════════════════════════════════
│ Identifier nouveaux enregistrements : WHERE external_channel IS NULL
│ POST /api/{entite} vers le système externe
│ En cas de succès : marquer avec external_id + external_channel='smartcrm'
└── En cas d'échec : réessai avec backoff exponentiel
│
↓
[SURVEILLANCE]
│ SmartCRM → Tableau de bord : statistiques sync (inséré/mis à jour/échoué)
│ SmartCRM → Logs : détails par opération
└── SmartCRM → Aperçu Erreurs : erreurs groupées
│
[SYNC COMPLÈTE ✓ · DONNÉES BIDIRECTIONNELLES ✓]
Modules impliqués
SmartCRM · Leads · Clients · Factures · Entrepôt · Intégration Merlin ERP