Demandez un accès anticipé

Indiquez votre prénom et votre adresse e-mail professionnelle. Nous vous enverrons un lien pour confirmer votre demande d’accès à Tajo.

Guide d’intégration Shopify

Tajo connecte Shopify à Brevo à deux endroits. L’application Shopify de Tajo transforme les webhooks Shopify en écritures dans Brevo dès leur arrivée. Les règles de synchronisation, qu’un agent construit et qu’une personne approuve, transfèrent des enregistrements vers Brevo selon un planning. Cette page couvre les deux, puis les outils Shopify que Tajo fournit via MCP.

Prérequis

Avant de commencer l’intégration, assurez-vous de disposer de :

  • Boutique Shopify sur n’importe quel plan (Basic, Shopify, Advanced ou Plus)
  • Compte Tajo (Tajo est en accès anticipé)
  • Compte Brevo, la destination de la synchronisation
  • Accès administrateur à votre boutique Shopify

Étape 1 : Connecter votre boutique Shopify

Tajo est en accès anticipé. L’application Shopify n’est pas listée dans le Shopify App Store, et il n’existe pas de lien d’installation en libre-service. Contactez l’équipe pour être configuré. Une fois votre espace de travail Tajo prêt :

  1. Dans Tajo, ouvrez Connections.
  2. Saisissez le domaine myshopify.com de votre boutique et choisissez Connect Shopify. Shopify affiche les scopes demandés par Tajo et vous renvoie vers Tajo lorsque vous les approuvez.
  3. Vérifiez à quoi sert chaque scope, et ce que Tajo réécrit dans Shopify, dans les autorisations Shopify expliquées.

Étape 2 : Ce que l’application Shopify de Tajo envoie à Brevo

L’application vérifie chaque webhook Shopify, le stocke, le met en file d’attente et le traite immédiatement. Les sujets clients et produits attendent d’abord environ quatre secondes. Il n’y a pas de fenêtre de traitement par lots. Une tâche en échec est relancée avec un délai progressif.

Sujets de webhook

L’application Shopify de Tajo s’abonne à ces sujets de webhook Shopify :

Sujets de webhookObjectif
customers/create, customers/update, customers/deleteGarder les contacts Brevo à jour
orders/create, orders/updated, orders/fulfilled, orders/cancelledÉvénements de commande et indicateurs de commandes pour Brevo
orders/paid, refunds/createAttribuer et déduire des points de fidélité
checkouts/create, checkouts/updateRécupération des paiements abandonnés dans Brevo
products/create, products/update, products/deleteGarder le catalogue produits à jour dans Brevo
inventory_levels/updateGarder le stock des produits à jour dans Brevo
collections/create, collections/update, collections/deleteGarder les collections à jour
companies/*, company_contacts/*, company_locations/* (create, update, delete)Synchronisation des entreprises B2B
app/uninstalled, app/scopes_update, app_subscriptions/updateCycle de vie de l’application

Les webhooks de confidentialité obligatoires de Shopify (demande de données client, suppression des données client, suppression des données de la boutique) sont également pris en charge. L’application ne s’abonne pas à carts/*. Les paniers abandonnés proviennent des sujets checkouts/*.

Ce qui arrive dans Brevo :

Événement ShopifyDans Brevo
Client créé ou mis à jourLe contact est créé ou mis à jour avec le nom, l’e-mail et le consentement marketing. Sur les plans payants, l’application ajoute les tags, le nombre de commandes, le montant dépensé et la dernière commande.
Client suppriméLe contact est désabonné, pas supprimé
Commande créée, mise à jour, payée, traitée ou annuléeLa commande via l’API des commandes de Brevo, et les événements order_paid, order_completed et order_cancelled
Remboursement crééL’événement order_refunded. Si vous gérez un programme de fidélité Brevo via Tajo, les points sont déduits au prorata.
Commande payée, avec un programme de fidélité BrevoPoints attribués selon votre taux de points par dollar
Checkout créé ou mis à jour, avec un e-mail et des articlesLes événements cart_updated et cart_abandoned. Votre automation Brevo décide du moment de l’envoi.
Produit ou collection créé, mis à jour ou suppriméLe catalogue produits et les catégories de Brevo
Niveau de stock mis à jourLe stock du produit dans le catalogue de Brevo. Lorsqu’une variante passe de 0 à plus de 0, chaque acheteur qui a demandé à être prévenu reçoit un événement back_in_stock, une fois par réassort.

L’application n’ajoute pas de bouton « Me prévenir » à votre thème. Une demande de retour en stock doit provenir de votre vitrine, par exemple d’un bouton que vous ajoutez.

Données existantes

À l’installation, l’application importe vos clients existants en tant que contacts Brevo. Une synchronisation historique complète se lance depuis la page de synchronisation de l’application. Sur les plans payants, elle importe aussi les produits, les collections, les entreprises et les commandes.

Étape 3 : Construire une règle de synchronisation avec l’agent

Une règle de synchronisation est la définition déclarative d’une synchronisation : une ressource source, une action Brevo, un mapping des champs et un filtre. Vous ne l’écrivez pas à la main. Vous la décrivez, un agent la construit, et une personne l’approuve.

  1. Dans Tajo, ouvrez Agents et demandez la synchronisation en langage courant au Brevo Integration Architect. Par exemple : « Envoie à Brevo, en tant que contacts, les clients Shopify qui ont accepté le marketing par e-mail. »
  2. L’agent inspecte le connecteur Shopify. Son échantillon renvoie les noms et les types de champs, jamais les valeurs des clients.
  3. Il propose une règle avec un mapping des champs et un filtre, puis valide le mapping des champs par rapport à l’action Brevo et exécute le brouillon à blanc. Aucune de ces étapes ne lit d’enregistrements clients.
  4. Il enregistre la règle en brouillon. Vous pouvez aussi partir d’un modèle sous Connections > Syncs and mappings > New sync from template.
  5. Request publish approval lance un aperçu sur votre boutique. Il lit au plus 10 enregistrements, n’écrit rien dans Brevo et ne déplace pas le curseur. Il n’enregistre que des décomptes : enregistrements récupérés, éligibles, mappés et rejetés par le filtre, ainsi que les erreurs de mapping. Si l’aperçu échoue, aucune approbation n’est créée.
  6. Une personne approuve la demande sur la page Approvals, avec une justification écrite. L’approbation est liée à une empreinte SHA-256 de la règle et expire au bout de 30 minutes. La page de la règle affiche alors Publish approved version.

Modifier une règle publiée la remet en brouillon. Elle repasse par l’aperçu et l’approbation avant de s’exécuter à nouveau.

Une vraie règle

Voici le modèle Shopify customers -> Brevo contacts tel que Tajo le définit :

sourceSlug: "shopify",
sourceResource: "customers",
destinationSlug: "brevo",
destinationAction: "upsert_contact",
fieldMap: [
{ source: "email", destination: "email", transform: "toLowerCase" },
{ source: "first_name", destination: "attributes.FIRSTNAME" },
{ source: "last_name", destination: "attributes.LASTNAME" },
{ source: "phone", destination: "attributes.PHONE" },
{ source: "total_spent", destination: "attributes.TOTAL_SPENT", transform: "toNumber" },
{ source: "orders_count", destination: "attributes.ORDERS_COUNT", transform: "toNumber" },
{ source: "tajo_email_marketing_consent", destination: "attributes.OPT_IN", transform: "toBoolean" },
{ source: "tags", destination: "attributes.SHOPIFY_TAGS" },
{ source: "id", destination: "attributes.SHOPIFY_ID", transform: "toString" },
{ source: "created_at", destination: "attributes.SHOPIFY_CREATED_AT" },
{ source: "updated_at", destination: "attributes.SHOPIFY_UPDATED_AT" },
],
filterExpression:
"($json.tajo_email_marketing_consent === true) && ($json.tajo_email_suppressed === false)",

Le filtre est la vérification du consentement. Tajo dérive les deux valeurs de email_marketing_consent.state de Shopify, ou de l’ancien indicateur accepts_marketing. Une règle qui écrit des contacts dans Brevo ne peut pas être publiée sans lui. L’autre modèle Shopify, Shopify orders → Brevo orders, enregistre les commandes dans Brevo pour les acheteurs qui ont accepté le marketing lors du paiement.

Quand une règle s’exécute

  • Les règles de synchronisation des contacts s’exécutent toutes les 15 minutes par défaut. Chaque exécution part du curseur de la règle.
  • La page d’une règle active comporte un bouton Test run (1 batch).
  • Une règle Shopify orders → Brevo orders active et publiée s’exécute elle aussi toutes les 15 minutes. Sa première exécution planifiée commence quelques minutes avant ce moment et n’envoie aucune commande plus ancienne. Chaque exécution suivante envoie les commandes mises à jour depuis la précédente.
  • Les commandes antérieures n’arrivent dans Brevo que lorsque vous exécutez la règle vous-même : avec Test run (1 batch), ou en demandant à l’agent Sync Operator de l’exécuter.
  • Une règle de commandes ne s’exécute selon le planning qu’avec le filtre d’opt-in marketing de l’acheteur du modèle. Une règle dont le filtre a été modifié ne s’exécute que lorsque vous la lancez.
  • Après cinq exécutions consécutives en échec, la règle se met en pause et sa page affiche la dernière erreur. Corrigez la cause, puis publiez à nouveau.

Chaque exécution figure dans l’historique d’exécution de la règle, avec les enregistrements lus, écrits et en échec, ainsi que sa durée.

Ce que le connecteur Shopify lit et écrit

Les règles de synchronisation n’écrivent que dans la destination, ici Brevo. Elles n’écrivent jamais dans Shopify.

L’application Shopify de Tajo demande 12 scopes et effectue une courte liste d’écritures dans Shopify, comme les désinscriptions du consentement et les tags de fidélité. Les autorisations Shopify expliquées liste chaque scope et chaque écriture, avec ce qui la déclenche.

Les agents et les hôtes MCP accèdent à la boutique via le connecteur Shopify :

LecturesÉcritures
Détails de la boutique, clients (liste et recherche), commandes, produits, metafields des clients, niveaux de stock, statut de l’export groupéMetafields et tags des clients, et lancement d’un export groupé. Chaque écriture est préparée sous forme de proposition et ne s’exécute qu’après son approbation.

Le connecteur déclare aussi un ajustement de stock. Il nécessite le scope write_inventory, que l’application Shopify de Tajo ne demande pas.

Étape 4 : Utiliser les outils Shopify via MCP

Tajo fournit le connecteur Shopify sous forme de serveur MCP à l’adresse https://alto.tajo.io/mcp/connectors/shopify. Ajoutez-le à Claude Code :

Terminal window
claude mcp add --transport http tajo-shopify https://alto.tajo.io/mcp/connectors/shopify

L’hôte découvre le serveur OAuth de Tajo et ouvre la connexion Tajo. L’accès est réservé aux comptes en accès anticipé. Le serveur expose 12 outils :

OutilCe qu’il fait
preview_tajo_shopify_appAperçu interactif de l’application Shopify de Tajo, rendu en MCP UI
get_shopLes détails de la boutique
search_customersRechercher des clients avec la syntaxe de requête Shopify, comme tag:tajo-vip ou total_spent:>100
list_customersLister les clients, avec pagination
list_ordersLister les commandes, avec pagination
list_productsLister les produits avec leurs variantes, images et stocks
get_customer_metafieldsLire les metafields d’un client
get_inventory_levelsLire le stock d’une variante sur tous les emplacements
poll_bulk_exportVérifier un export groupé et obtenir son lien de téléchargement une fois terminé
calculate_rewards_profileCalculer le niveau, les points et le solde de récompenses d’un client à partir des données commerce synchronisées
shopify_proposePréparer une écriture Shopify sous forme de proposition. Rien n’est envoyé.
shopify_applyExécuter une proposition approuvée

Dépannage

Prochaines étapes

Demandez un accès anticipé

Indiquez votre prénom et votre adresse e-mail professionnelle. Nous vous enverrons un lien pour confirmer votre demande d’accès à Tajo.

Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Cette page en Markdown: shopify.md

Chargement du Markdown…