Connecteur WooCommerce
Statut du connecteur: En cours En construction. Pas encore vérifié.
Illustration · données d’exemple
Exemple de synchronisation
Source
WooCommerce
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 WooCommerce à Brevo via Tajo pour une synchronisation complète des données e-commerce. Exploitez la REST API WooCommerce pour synchroniser clients, commandes, produits et données de coupons afin d’alimenter des campagnes marketing ciblées et des workflows automatisés.
Vue d’ensemble
| Propriété | Valeur |
|---|---|
| Plateforme | WooCommerce (WordPress) |
| Catégorie | E-commerce |
| Complexité d’installation | Moyenne |
| Intégration officielle | Non |
| Données synchronisées | Clients, commandes, produits, coupons |
| Skills disponibles | 10 |
Fonctionnalités
- Synchronisation des clients, Synchronisation en temps réel des données client vers les contacts Brevo
- Suivi des commandes, Suivi complet du cycle de vie des commandes pour les workflows post-achat
- Synchronisation du catalogue produits, Synchronisez produits et variations pour les recommandations e-mail
- Gestion des coupons, Synchronisez les codes coupons pour les campagnes promotionnelles
- Prise en charge des webhooks, Mises à jour en temps réel via les webhooks WooCommerce
- Abandon de panier, Suivez et récupérez les paniers abandonnés
- Prise en charge multi-sites, Connectez les installations WooCommerce WordPress multisite
- Champs meta personnalisés, Mappez les métadonnées personnalisées WooCommerce vers des attributs Brevo
Prérequis
Avant de commencer, assurez-vous de disposer de :
- Un site WordPress avec le plugin WooCommerce installé et activé
- La REST API WooCommerce activée (Settings > Advanced > REST API)
- Une paire Consumer Key et Consumer Secret API générée
- Votre site doit utiliser HTTPS pour l’authentification API
- Un compte Brevo avec accès API
- Un compte Tajo avec des identifiants API
Authentification
Clés REST API
WooCommerce utilise des paires Consumer Key et Consumer Secret pour l’authentification. Générez-les dans WooCommerce > Settings > Advanced > REST API.
OAuth 1.0a (sites HTTPS)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Authentification par query string (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"Niveaux de permission
| Permission | Accès |
|---|---|
| Read | Consultation des ressources uniquement |
| Write | Création et édition de ressources |
| Read/Write | Accès CRUD complet |
Configuration
Configuration de base
connectors: woocommerce: enabled: true store_url: "https://yourstore.com" consumer_key: "ck_your_consumer_key" consumer_secret: "cs_your_consumer_secret" api_version: "wc/v3" verify_ssl: true
# Data sync options sync: customers: true orders: true products: true coupons: true
# Brevo list assignment lists: all_customers: 50 buyers: 51 abandoned_cart: 52Mappage des champs client
Mappez les champs client WooCommerce vers les attributs Brevo :
customer_mapping: email: email first_name: FIRSTNAME last_name: LASTNAME billing.phone: SMS billing.company: COMPANY billing.city: CITY billing.state: STATE billing.country: COUNTRY billing.postcode: ZIP
# E-commerce metrics (computed) orders_count: ORDER_COUNT total_spent: TOTAL_SPENT date_created: SIGNUP_DATE
# Meta fields meta_data.loyalty_points: LOYALTY_POINTS meta_data.preferred_category: PREF_CATEGORYConfiguration des webhooks
Enregistrez les webhooks dans WooCommerce > Settings > Advanced > Webhooks :
webhooks: - topic: "customer.created" event: "customer_created" - topic: "customer.updated" event: "customer_updated" - topic: "order.created" event: "order_placed" - topic: "order.updated" event: "order_updated" - topic: "order.completed" event: "order_fulfilled" - topic: "order.refunded" event: "order_refunded" - topic: "coupon.created" event: "coupon_created" - topic: "product.created" event: "product_added" - topic: "product.updated" event: "product_updated"Endpoints API
| Méthode | Endpoint | Description |
|---|---|---|
GET | /wc/v3/customers | Lister les clients |
POST | /wc/v3/customers | Créer un client |
GET | /wc/v3/customers/{id} | Récupérer un client |
PUT | /wc/v3/customers/{id} | Mettre à jour un client |
GET | /wc/v3/orders | Lister les commandes |
POST | /wc/v3/orders | Créer une commande |
GET | /wc/v3/orders/{id} | Récupérer une commande |
GET | /wc/v3/products | Lister les produits |
GET | /wc/v3/products/{id} | Récupérer un produit |
GET | /wc/v3/products/{id}/variations | Lister les variations d’un produit |
GET | /wc/v3/coupons | Lister les coupons |
GET | /wc/v3/reports/sales | Obtenir les rapports de ventes |
GET | /wc/v3/reports/top_sellers | Obtenir les meilleures ventes |
POST | /wc/v3/webhooks | Créer un webhook |
Exemples de code
Initialiser le connecteur WooCommerce
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect WooCommerce storeawait tajo.connectors.connect('woocommerce', { storeUrl: 'https://yourstore.com', consumerKey: process.env.WC_CONSUMER_KEY, consumerSecret: process.env.WC_CONSUMER_SECRET});Récupérer et synchroniser les clients
// Fetch customers using WooCommerce REST APIconst WooCommerce = require('@woocommerce/woocommerce-rest-api').default;
const api = new WooCommerce({ url: 'https://yourstore.com', consumerKey: process.env.WC_CONSUMER_KEY, consumerSecret: process.env.WC_CONSUMER_SECRET, version: 'wc/v3'});
// List customers with paginationconst response = await api.get('customers', { per_page: 100, page: 1, orderby: 'registered_date', order: 'desc'});
const customers = response.data;// [{ id, email, first_name, last_name, billing, shipping, ... }]
// Pagination info from headersconst totalPages = response.headers['x-wp-totalpages'];const totalItems = response.headers['x-wp-total'];Gérer les événements webhook
// WooCommerce webhook handlerapp.post('/webhooks/woocommerce', async (req, res) => { const topic = req.headers['x-wc-webhook-topic']; const signature = req.headers['x-wc-webhook-signature'];
// Verify webhook signature const expectedSignature = crypto .createHmac('sha256', WEBHOOK_SECRET) .update(JSON.stringify(req.body)) .digest('base64');
if (signature !== expectedSignature) { return res.status(401).send('Invalid signature'); }
// Forward to Tajo await tajo.connectors.handleWebhook('woocommerce', { topic, payload: req.body });
res.status(200).send('OK');});Opérations par lot
// Batch create, update, and delete productsconst batchResponse = await api.post('products/batch', { create: [ { name: 'New Product', type: 'simple', regular_price: '19.99' } ], update: [ { id: 123, regular_price: '24.99' } ], delete: [456]});Limites de débit
WooCommerce lui-même n’applique pas de limites de débit API, mais le serveur WordPress sous-jacent et l’hébergeur peuvent imposer des limites :
| Facteur | Limite typique | Détails |
|---|---|---|
| Hébergement mutualisé | 50-100 req/min | Varie selon l’hébergeur |
| Hébergement WP managé | 200-500 req/min | WP Engine, Kinsta, etc. |
| Auto-hébergé | Pas de limite dure | Limité par les ressources serveur |
| Par page | 100 enregistrements max | Par défaut : 10 |
| Opérations par lot | 100 éléments/lot | Création, mise à jour ou suppression |
Performance du serveur
Les grandes boutiques WooCommerce peuvent connaître des réponses API lentes. Utilisez la pagination, limitez les champs avec le paramètre _fields et planifiez les synchronisations volumineuses en heures creuses.
Dépannage
| Problème | Cause | Solution |
|---|---|---|
401 Unauthorized | Clés API invalides | Régénérez Consumer Key/Secret dans les paramètres WooCommerce |
403 Forbidden | Permissions insuffisantes | Réglez la clé API sur l’accès Read/Write |
| Erreurs de certificat SSL | SSL invalide sur le site | Assurez-vous d’un certificat SSL valide ; définissez verify_ssl: false pour les tests uniquement |
| Webhooks non déclenchés | WP-Cron désactivé | Activez WP-Cron ou configurez un cron au niveau serveur |
| Réponses API lentes | Base de données volumineuse | Optimisez la base WordPress, utilisez le paramètre _fields |
| Champs personnalisés manquants | Métadonnées non exposées | Utilisez le champ meta_data pour accéder aux métas personnalisées |
| Problèmes de pagination | Taille de page par défaut | Définissez explicitement le paramètre per_page (max 100) |
Bonnes pratiques
- Utilisez les webhooks pour la synchronisation en temps réel, Configurez les webhooks WooCommerce plutôt que du polling API
- Vérifiez les signatures de webhook, Validez toujours l’en-tête
X-WC-Webhook-Signature - Paginez toutes les requêtes de liste, Utilisez les paramètres
pageetper_page; vérifiez l’en-têteX-WP-TotalPages - Utilisez le paramètre
_fields, Ne demandez que les champs nécessaires pour réduire la taille de la réponse et améliorer les performances - Opérations par lot, Utilisez les endpoints batch pour les opérations de création/mise à jour/suppression en masse (jusqu’à 100 éléments)
- Planifiez les synchronisations volumineuses, Exécutez les synchronisations initiales complètes en heures creuses pour éviter la surcharge serveur
- Activez HTTPS, L’API WooCommerce requiert HTTPS pour l’authentification OAuth
Sécurité
- OAuth 1.0a, Authentification sécurisée via des paires Consumer Key/Secret
- Signatures de webhook HMAC, Vérification de signature SHA-256 pour les webhooks entrants
- HTTPS requis, L’API nécessite un chiffrement TLS pour l’authentification
- Portée des permissions, Les clés API peuvent être définies en Read, Write ou Read/Write
- Sécurité WordPress, Bénéficie des mises à jour de sécurité du cœur WordPress
- Considérations PCI, Les données de paiement sont gérées par les passerelles de paiement WooCommerce, non exposées via l’API