Connecteur Shopify

Connecteur Shopify

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
PlateformeShopify
CatégorieE-commerce
Complexité d’installationFacile
Intégration officielleOui
Données synchroniséesClients, commandes, produits, paniers, événements
Skills disponibles12

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 :

  1. Une boutique Shopify avec accès administrateur
  2. Un compte Brevo avec accès API
  3. Un compte Tajo

Installation

Option 1 : Shopify App Store (recommandé)

  1. Rendez-vous sur l’application Tajo dans le Shopify App Store
  2. Cliquez sur « Add app »
  3. Accordez les autorisations demandées
  4. Connectez votre compte Brevo

Option 2 : Installation manuelle

Étape 1 : Créer une application Shopify

  1. Accédez à votre admin Shopify → Settings → Apps and sales channels
  2. Cliquez sur « Develop apps » → « Create an app »
  3. Nommez-la « Tajo Integration »

Étape 2 : Configurer les scopes API

Activez ces scopes :

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Étape 3 : Installer l’application

Terminal window
# Using Tajo CLI
tajo 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 :

WebhookObjectif
customers/createSynchronisation d’un nouveau client
customers/updateChangements de données client
customers/deleteSuppression de client
orders/createÉvénements de commande passée
orders/updatedChangements de statut de commande
checkouts/createPanier créé
checkouts/updatePanier 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: 7

Mappage 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: RECENCY

Synchronisation 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énementDéclencheurCas d’usage
customer_createdInscription d’un nouveau clientSérie de bienvenue
customer_updatedChangements de profilSynchronisation des données
customer_tags_addedTags attribuésMises à jour de segments

Événements de commande

ÉvénementDéclencheurCas d’usage
order_placedPaiement finaliséConfirmation de commande
order_fulfilledCommande expédiéeNotification d’expédition
order_cancelledCommande annuléeE-mail d’annulation
order_refundedRemboursement traitéConfirmation de remboursement

Événements de panier

ÉvénementDéclencheurCas d’usage
cart_createdArticles ajoutés au panierSuivi de navigation
cart_updatedPanier modifiéSuivi de la valeur du panier
cart_abandonedAucun paiement en 30 minE-mails de récupération

Skills activés

Le connecteur Shopify active ces skills :

SkillDescription
Customer SyncSynchronisation client en temps réel
Order EventsSuivi du cycle de vie des commandes
Abandoned CartE-mails de récupération de panier
Welcome SeriesOnboarding des nouveaux clients
Post-PurchaseSuivi post-commande
Win-BackRéengagement des clients inactifs
Browse AbandonmentSuivi d’intérêt produit
ReplenishmentRappels 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 store
await 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 sync
await tajo.connectors.sync('shopify', {
type: 'full',
resources: ['customers', 'orders', 'products'],
since: '2023-01-01'
});
// Check sync status
const 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.tajo.io/shopify.js"></script>

Gestionnaire de webhook personnalisé

// Handle Shopify webhooks manually
app.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 :

Terminal window
tajo connectors logs shopify --type webhook --last 24h

Historique des synchronisations

Consultez les opérations de synchronisation passées :

Terminal window
tajo connectors history shopify --limit 10

Dé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èmeCauseSolution
Webhook non reçuPermissions de l’applicationRéinstallez l’application avec les bons scopes
Client non synchroniséE-mail manquantShopify exige un e-mail pour les clients
Produits manquantsStatut du produitVérifiez que le produit a le statut « active »
Panier non suiviScript 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: true

Tester la connexion

Terminal window
tajo connectors test shopify
# ✓ API connection successful
# ✓ Webhooks registered
# ✓ Products accessible
# ✓ Customers readable
# ✓ Orders readable

Bonnes pratiques

  1. Commencez avec une boutique de test, Utilisez d’abord une boutique de développement
  2. Lancez la synchronisation initiale en heures creuses, Les synchronisations volumineuses peuvent être lentes
  3. Mappez les attributs personnalisés, Ne vous limitez pas aux mappages par défaut
  4. Activez le suivi de panier, Essentiel pour la récupération de paniers abandonnés
  5. Surveillez la santé des webhooks, Configurez des alertes pour les livraisons échouées
  6. 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

Ressources associées

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Commencez gratuitement avec Brevo