Connecteur e-commerce
ShopiMind se connecte à votre boutique pour synchroniser en continu les clients, commandes, produits, paniers et catalogues. Deux options selon votre plateforme : un module officiel prêt à installer, ou une intégration sur mesure construite avec l'API.
Plateformes compatibles via un module officiel
Pour les principales plateformes e-commerce, ShopiMind propose un module qui s'installe depuis votre back-office boutique en quelques minutes — aucune ligne de code à écrire.
PrestaShop
Module officielWooCommerce
Module officielShopify
Module officielMagento 1 (OpenMage)
Module officielMagento 2
Module officielSi votre boutique tourne sur l'une de ces plateformes, l'installation du module est la voie la plus rapide : la synchronisation initiale et les flux incrémentaux sont gérés automatiquement, sans configuration manuelle de l'API.
Construire un connecteur sur mesure
Si votre boutique utilise une plateforme non couverte par les modules officiels — solution propriétaire, CMS interne, marketplace privée, ou plateforme exotique — vous pouvez bâtir votre propre intégration via les endpoints REST de l'API ShopiMind.
Customers, pas Contacts
Votre intégration pousse des customers. Les contacts ShopiMind (profils unifiés) sont dérivés automatiquement à partir des customers — voir Customers et contacts.
Les ressources à synchroniser
| Catégorie | Ressources | Utilité côté ShopiMind |
|---|---|---|
| Référentiels | Customers groups, Orders statuses, Orders carriers, Products categories, Products manufacturers | Données structurelles utilisées par les ressources principales. |
| Clients | Customers, Customer addresses | Profils e-commerce qui dérivent les contacts ShopiMind. |
| Commandes | Orders | Historique d'achat (RFM, scoring, déclencheurs post-achat). |
| Paniers | Carts | Lecture des paniers actifs (relance d'abandon). Les paniers sont alimentés côté serveur à partir des évènements de la boutique — l'API publique n'expose que la lecture. |
| Catalogue | Products | Produits référencés pour la personnalisation et les recommandations. |
| Promotions | Vouchers | Codes de réduction utilisables dans les scénarios. |
Architecture recommandée
Phase 1 — Import initial
Pour un premier déploiement, importez les ressources dans l'ordre des dépendances :
- Référentiels d'abord : customers groups, orders statuses, orders carriers, products categories, products manufacturers.
- Catalogue : products.
- Clients : customers, puis customer addresses.
- Transactions : orders, vouchers.
Chaque endpoint bulkCreate* accepte 50 ou 100 enregistrements par appel selon la ressource — un import volumineux se traite en lots successifs côté votre code.
Phase 2 — Synchronisation incrémentale
Une fois le rattrapage effectué, branchez les écritures sur les événements métier de votre boutique :
| Événement boutique | Endpoint ShopiMind |
|---|---|
| Customer créé / modifié | bulkCreateCustomers |
| Adresse client modifiée | bulkCreateCustomerAddresses |
| Commande passée / changement de statut | bulkCreateOrders |
| Produit créé / modifié / désactivé | bulkCreateProducts |
| Bon de réduction créé | bulkCreateVouchers |
Tous les endpoints bulkCreate* font de l'upsert : pas besoin de différencier création et mise à jour côté votre code. La clé d'upsert est l'identifiant fourni (customer_id, order_id, product_id, etc.).
Patterns à suivre
Idempotence
Les endpoints sont conçus pour être appelés en toute sécurité plusieurs fois avec la même charge utile :
bulkCreate*upsert sur l'identifiant fourni — un retry après timeout réseau ne crée pas de doublon.bulkDelete*ignore silencieusement les identifiants déjà supprimés ou inconnus.
Validation par item
Les bulks acceptent partiellement : un item invalide n'interrompt pas le batch. La réponse renvoie sent_count, rejected_count et le détail des items rejetés dans rejected_items (avec leur position d'origine et les erreurs de validation). Rejouez uniquement les items rejetés après correction.
Reprise sur erreur
Si votre connecteur tombe au milieu d'un import, il peut reprendre où il s'est arrêté en se basant sur les timestamps locaux : envoyez tous les enregistrements modifiés depuis la dernière synchronisation réussie. L'upsert les fusionnera proprement, sans duplication.
Traitement asynchrone
Une réponse 200 confirme la prise en compte de la requête, pas la visibilité immédiate sur les lectures suivantes. La latence typique de prise en compte est de quelques secondes. Évitez de faire un GET immédiatement après un POST pour vérifier la donnée — c'est un anti-pattern qui provoque des faux négatifs.
Performance & monitoring
- Préférez les bulks — un appel à
bulkCreateCustomersavec 50 customers consomme bien moins de quota que 50 appels unitaires. - Parallélisez les ressources indépendantes (ex. orders et products côte à côte). Sérialiser les chunks d'une même ressource n'apporte rien — la file de traitement côté ShopiMind les gère ordonnés.
- Quota — 600 requêtes par minute par clé API. Une rampe d'import à 10 req/s laisse une marge confortable.
- Surveillez le
sent_countretourné, lesrejected_items(à logger en phase d'intégration), et les codes HTTP :5XX= retenter avec backoff exponentiel,4XX= corriger les données avant retry.
Pour aller plus loin
- Référence API — détail de chaque endpoint.
- Données personnalisées — étendre le modèle ShopiMind avec vos propres champs et objets.
- Intégration ShopiMind — faire valider votre connecteur pour la marketplace ShopiMind.