Connecteur · Shopify

Connecteur Odoo ↔ Shopify

Shopify est la plateforme la mieux tenue techniquement, et la plus contraignante : quotas stricts, versions d'API datées, et des limites dures qu'aucun développement ne contourne.

APIAdmin API — REST historique, GraphQL désormais la voie recommandée
AuthentificationJeton d’application privée / application custom
Limite de débitPar coût de requête, pas par nombre d’appels
Temps réelWebhooks natifs, signés HMAC-SHA256 (base64)
Limite dure100 variantes par produit
VersionnageVersions datées, cycle trimestriel — migration obligatoire

Shopify est la plateforme la plus propre techniquement de celles que nous intégrons — et la plus stricte. Là où WooCommerce vous laisse le marteler jusqu’à faire tomber le serveur, Shopify vous coupe poliment et vous dit exactement pourquoi. C’est plus confortable à intégrer, à condition d’accepter ses règles : on ne les contourne pas.

Les quotas : la contrainte structurante

Shopify ne compte pas les appels, il compte leur coût. Chaque requête consomme des crédits dans un réservoir qui se remplit en continu. Une requête légère coûte peu, une requête qui ratisse large coûte cher.

La conséquence pratique est simple à énoncer et souvent ignorée : un connecteur doit lire les compteurs que l’API renvoie à chaque réponse et se réguler lui-même. Un connecteur qui envoie tout ce qu’il peut, se prend une erreur de limite et retente immédiatement produit une tempête de requêtes qui s’auto-entretient.

principe On ne « gère » pas une limite de débit en attrapant l'erreur. On l'anticipe : le connecteur ralentit avant le mur, en lisant l'état du réservoir à chaque réponse.

Sur un catalogue de 10 000 références, cela dessine le projet : le balayage complet est un traitement de nuit étalé, les mises à jour de la journée sont incrémentales et ne portent que sur les écarts.

La limite des 100 variantes

C’est le plafond qui surprend toujours, parce qu’aucun développement ne l’écarte : un produit Shopify ne peut pas dépasser 100 variantes.

Un produit décliné en 6 tailles et 20 couleurs en fait 120. Il ne rentre pas. Le seul recours est de le découper en plusieurs produits — par exemple un produit par gamme de couleurs — ce qui change la navigation, les URLs et le SEO de la boutique.

Ce n’est donc pas une question technique mais une décision de catalogue, qui se prend au cadrage. Un intégrateur qui découvre cette limite après avoir chiffré vous annonce une mauvaise nouvelle au pire moment.

Les webhooks

Shopify notifie proprement, et signe ses notifications en HMAC-SHA256 encodé en base64. La vérification est obligatoire : sans elle, votre point d’entrée accepte n’importe quelle commande fabriquée par n’importe qui.

Comme partout, le webhook donne la réactivité mais pas la garantie : nous le doublons d’un balayage de rattrapage sur une fenêtre glissante, avec la même clé d’idempotence. Une commande notifiée deux fois n’est traitée qu’une fois.

Le versionnage : une maintenance à prévoir

Les versions d’API Shopify sont datées et supportées pour une durée limitée. C’est une bonne pratique de la plateforme, et une contrainte réelle pour vous : un connecteur qu’on n’entretient pas finit par appeler une version retirée et s’arrête.

Nous versionnons explicitement l’appel — jamais « la dernière version », qui change sous vos pieds — et nous documentons l’échéance. La migration devient une opération planifiée d’une demi-journée, pas un incident un lundi matin.

Le montage que nous recommandons

DomaineSystèmePourquoi
Vitrine, panier, paiementShopifyC’est ce qu’il fait le mieux, et c’est votre actif
StockOdoo → ShopifyLe stock physique est dans l’entrepôt
CommandesShopify → OdooLe site est le point de saisie
Préparation, expéditionOdooAvec retour du tracking vers Shopify
Achats, compta, margesOdooShopify ne le fait pas

Le catalogue est le seul sujet qui se discute : selon que vos fiches sont un travail éditorial et SEO, ou une projection d’un catalogue industriel, l’autorité penche d’un côté ou de l’autre.

Les limites, dites franchement

Les 100 variantes ne se négocient pas. Si votre catalogue mode ne rentre pas, c’est le catalogue qui s’adapte.

Les quotas plafonnent le débit. Une synchronisation massive prend le temps qu’elle prend. Personne ne fera descendre 50 000 produits en dix minutes.

Les applications Shopify installées peuvent interférer. Une application qui modifie les commandes ou le stock crée des écritures que votre connecteur n’a pas produites. Elles se recensent avant, pas après.

Pour un comparatif des arbitrages d’autorité, voir WooCommerce. Pour la partie versements et rapprochement, voir paiement.

Questions fréquentes

Peut-on dépasser 100 variantes sur un produit ?

Non. C’est une limite de la plateforme, pas un réglage. Un produit à 6 tailles × 20 couleurs dépasse le plafond et doit être découpé en plusieurs produits Shopify. C’est une décision de catalogue, à prendre au cadrage — pas un problème que le connecteur résoudra.

Comment Shopify limite-t-il les appels ?

Par un système de crédits qui se rechargent en continu : chaque requête consomme un coût, et une requête GraphQL lourde coûte plus qu’une légère. Un connecteur correct lit les compteurs renvoyés par l’API et ralentit tout seul avant d’être bloqué, au lieu d’encaisser des erreurs et de retenter en boucle.

Faut-il migrer vers GraphQL ?

C’est la direction prise par Shopify, et les nouveaux développements se font désormais en GraphQL. Concrètement, cela change la façon d’écrire les requêtes et de calculer le coût, pas la logique d’intégration. Nous cadrons ce point au démarrage selon l’état de votre boutique.

Que se passe-t-il quand Shopify sort une nouvelle version d'API ?

Les versions sont datées et supportées un temps limité. Un connecteur figé finit par appeler une version retirée et cesse de fonctionner — souvent sans prévenir l’exploitant. C’est pour ça que nous versionnons explicitement l’appel et documentons l’échéance de migration : c’est une maintenance prévisible, pas une surprise.

Shopify peut-il rester la vitrine sans qu'on y touche ?

Oui, et c’est le montage que nous recommandons quand la boutique convertit bien. Shopify garde la vente et le paiement ; Odoo prend le stock, les achats, la préparation et la comptabilité. Personne ne migre un site qui marche.

Un point technique à valider ?

Décrivez le contexte : version d'Odoo, systèmes en jeu, volumétrie. Réponse d'un intégrateur sous 24 h ouvrées.

Décrire un besoin