Connecteur Shopify
Statut du connecteur: En cours En construction. Pas encore vérifié.
Illustration · données d’exemple
Exemple de synchronisation
Source
Shopify
Statut du connecteur: En cours
Destination
Votre autre outil
Statut du connecteur: Outil personnalisé
Correspondance des champs
| Champ source | Champ de destination | Valeur d’exemple |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Préparer
- Vérifier un enregistrement
- Approuver cette version
Les statuts concernent chaque connecteur et ne garantissent pas que cette synchronisation soit prête. Champs illustratifs. Vérifiez le schéma réel et les autorisations avant toute synchronisation.
Connectez votre boutique Shopify à Brevo pour une synchronisation complète des données clients, la récupération de paniers abandonnés et des campagnes marketing automatisées.
Vue d’ensemble
| Propriété | Valeur |
|---|---|
| Plateforme | Shopify |
| Catégorie | E-commerce |
| Complexité d’installation | Facile |
| Intégration officielle | Non |
| Données synchronisées | Clients, commandes, produits, paniers, événements |
| Skills disponibles | 12 |
Fonctionnalités
- Synchronisation client en temps réel, Données client synchronisées instantanément vers les contacts Brevo
- Suivi des commandes, Événements de commande pour les workflows post-achat
- Synchronisation du catalogue produits, Produits disponibles pour les recommandations
- Abandon de panier, Suivi et récupération des paniers abandonnés
- Comportement de navigation, Suivi des pages vues et de l’intérêt produit
- Prise en charge multi-boutiques, Connectez plusieurs boutiques Shopify
Prérequis
Avant de commencer, assurez-vous de disposer de :
- Une boutique Shopify avec accès administrateur
- Un compte Brevo avec accès API
- Un compte Tajo
Installation
Option 1 : Shopify App Store (recommandé)
- Rendez-vous sur l’application Tajo dans le Shopify App Store
- Cliquez sur « Add app »
- Accordez les autorisations demandées
- Connectez votre compte Brevo
Option 2 : Installation manuelle
Étape 1 : Créer une application Shopify
- Accédez à votre admin Shopify → Settings → Apps and sales channels
- Cliquez sur « Develop apps » → « Create an app »
- Nommez-la « Tajo Integration »
Étape 2 : Configurer les scopes API
Activez ces scopes :
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsÉtape 3 : Installer l’application
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETÉtape 4 : Configurer les webhooks
Tajo enregistre automatiquement ces webhooks :
| Webhook | Objectif |
|---|---|
customers/create | Synchronisation d’un nouveau client |
customers/update | Changements de données client |
customers/delete | Suppression de client |
orders/create | Événements de commande passée |
orders/updated | Changements de statut de commande |
checkouts/create | Panier créé |
checkouts/update | Panier mis à jour |
Configuration
Configuration de base
connectors: shopify: enabled: true shop_url: "your-store.myshopify.com" api_version: "2024-01"
# Data sync options sync: customers: true orders: true products: true carts: true inventory: false # Optional
# List assignment lists: all_customers: 5 buyers: 6 abandoned_cart: 7Mappage des champs
Mappez les champs Shopify vers les attributs de contact Brevo :
Mappages par défaut
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail du client (identifiant unique) |
first_name optional | string | Mappé vers l'attribut FIRSTNAME |
last_name optional | string | Mappé vers l'attribut LASTNAME |
phone optional | string | Mappé vers l'attribut SMS pour WhatsApp/SMS |
accepts_marketing optional | boolean | Contrôle le statut d'abonnement |
orders_count optional | integer | Nombre total de commandes |
total_spent optional | number | Valeur vie client |
tags optional | array | Tags client issus de Shopify |
Mappage d’attributs personnalisés
field_mapping: # Standard fields email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# E-commerce metrics orders_count: ORDER_COUNT total_spent: TOTAL_SPENT last_order_date: LAST_ORDER_DATE
# Custom fields customer_type: CUSTOMER_TYPE preferred_language: LANGUAGE loyalty_tier: VIP_TIER
# Computed fields average_order_value: AOV days_since_last_order: RECENCYSynchronisation des produits
Synchronisez les produits pour les recommandations e-mail :
sync: products: enabled: true include_variants: true include_images: true categories_as_tags: true
# Filter products filter: status: active exclude_tags: ["hidden", "wholesale-only"]Suivi des stocks
Activez la synchronisation des niveaux de stock :
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueÉvénements
Événements client
| Événement | Déclencheur | Cas d’usage |
|---|---|---|
customer_created | Inscription d’un nouveau client | Série de bienvenue |
customer_updated | Changements de profil | Synchronisation des données |
customer_tags_added | Tags attribués | Mises à jour de segments |
Événements de commande
| Événement | Déclencheur | Cas d’usage |
|---|---|---|
order_placed | Paiement finalisé | Confirmation de commande |
order_fulfilled | Commande expédiée | Notification d’expédition |
order_cancelled | Commande annulée | E-mail d’annulation |
order_refunded | Remboursement traité | Confirmation de remboursement |
Événements de panier
| Événement | Déclencheur | Cas d’usage |
|---|---|---|
cart_created | Articles ajoutés au panier | Suivi de navigation |
cart_updated | Panier modifié | Suivi de la valeur du panier |
cart_abandoned | Aucun paiement en 30 min | E-mails de récupération |
Skills activés
Le connecteur Shopify active ces skills :
| Skill | Description |
|---|---|
| Customer Sync | Synchronisation client en temps réel |
| Order Events | Suivi du cycle de vie des commandes |
| Abandoned Cart | E-mails de récupération de panier |
| Welcome Series | Onboarding des nouveaux clients |
| Post-Purchase | Suivi post-commande |
| Win-Back | Réengagement des clients inactifs |
| Browse Abandonment | Suivi d’intérêt produit |
| Replenishment | Rappels de réapprovisionnement |
Exemples de code
Initialiser le connecteur
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Shopify storeawait tajo.connectors.connect('shopify', { shopUrl: 'your-store.myshopify.com', apiKey: process.env.SHOPIFY_API_KEY, apiSecret: process.env.SHOPIFY_API_SECRET});Lancer la synchronisation initiale
// Full historical syncawait tajo.connectors.sync('shopify', { type: 'full', resources: ['customers', 'orders', 'products'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('shopify');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersCount: 15420,// ordersCount: 8234,// productsCount: 342// }Suivre les événements de panier
Ajoutez le script Tajo à votre thème Shopify :
<!-- Add to theme.liquid before </head> -->{% if customer %}<script> window.tajoConfig = { customerId: "{{ customer.id }}", customerEmail: "{{ customer.email }}", customerName: "{{ customer.first_name }}" };</script>{% endif %}<script src="https://cdn.example.com/shopify.js"></script>Caution
L’adresse example.com ci-dessus est un exemple provisoire en attendant que l’endpoint Tajo soit disponible.
Gestionnaire de webhook personnalisé
// Handle Shopify webhooks manuallyapp.post('/webhooks/shopify', async (req, res) => { const hmac = req.get('X-Shopify-Hmac-SHA256');
// Verify webhook signature if (!verifyShopifyWebhook(req.body, hmac)) { return res.status(401).send('Unauthorized'); }
const topic = req.get('X-Shopify-Topic');
// Forward to Tajo await tajo.connectors.handleWebhook('shopify', { topic, payload: req.body });
res.status(200).send('OK');});Surveillance
Métriques du tableau de bord
Surveillez votre connexion Shopify dans le tableau de bord Tajo :
- Statut de synchronisation : santé de la connexion en temps réel
- Clients synchronisés : total de contacts issus de Shopify
- Commandes suivies : événements de commande traités
- Récupération de paniers : performance des paniers abandonnés
- Taux d’erreur : tentatives de synchronisation échouées
Journaux des webhooks
Consultez le statut de livraison des webhooks :
tajo connectors logs shopify --type webhook --last 24hHistorique des synchronisations
Consultez les opérations de synchronisation passées :
tajo connectors history shopify --limit 10Dépannage
Problèmes courants
Limites de débit de l'API
Shopify applique des limites de débit API de 2 requêtes/seconde. Utilisez la synchronisation batch pour les imports historiques volumineux.
| Problème | Cause | Solution |
|---|---|---|
| Webhook non reçu | Permissions de l’application | Réinstallez l’application avec les bons scopes |
| Client non synchronisé | E-mail manquant | Shopify exige un e-mail pour les clients |
| Produits manquants | Statut du produit | Vérifiez que le produit a le statut « active » |
| Panier non suivi | Script non chargé | Vérifiez le script dans theme.liquid |
Mode débogage
Activez la journalisation détaillée :
connectors: shopify: debug: true log_level: verbose log_webhooks: trueTester la connexion
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableBonnes pratiques
- Commencez avec une boutique de test, Utilisez d’abord une boutique de développement
- Lancez la synchronisation initiale en heures creuses, Les synchronisations volumineuses peuvent être lentes
- Mappez les attributs personnalisés, Ne vous limitez pas aux mappages par défaut
- Activez le suivi de panier, Essentiel pour la récupération de paniers abandonnés
- Surveillez la santé des webhooks, Configurez des alertes pour les livraisons échouées
- Utilisez les imports batch, Pour les données historiques de plus de 10 000 enregistrements
Sécurité
- OAuth 2.0, Authentification sécurisée par jeton
- Vérification des webhooks, Validation de signature HMAC
- Stockage chiffré, Identifiants API chiffrés au repos
- Accès délimité, Permissions minimales requises uniquement