Le cas : Casa Boreal clique sur Envoyer le stock
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Casa Boreal est une boutique fictive. Marta gère son catalogue et vient de connecter la boutique Shopify à Odoo. Elle ouvre Shopify › Configuration › Boutiques (Shopify › Configuration › Stores), entre dans la fiche de la boutique et clique sur Envoyer le stock. L'action s'arrête et Odoo affiche Aucun emplacement Shopify trouvé pour …, avec le domaine de la boutique après « pour ».
Marta ne sait pas si le problème vient d'Odoo, de la connexion ou de Shopify. Voici ce que fait le code du module avant de lancer ce message, pour qu'elle sache où regarder.

Pour arriver à cette fiche, il faut voir le menu : l'entrée Configuration demande le droit Opérateur (Operator) et l'entrée Shopify demande Lecteur (Viewer). Si vous n'avez aucun de ces droits, vous ne voyez pas cette partie du menu.
Le texte du message change avec la langue de votre Odoo. Avec Odoo en espagnol, c'est celui que voit Marta ; dans les autres langues, il se lit ainsi :

No se encontraron ubicaciones de Shopify para … ; en allemand, Keine Shopify-Standorte für … gefunden ; en français, Aucun emplacement Shopify trouvé pour … ; en italien, Nessuna ubicazione Shopify trovata per … ; en portugais, Nenhuma localização Shopify encontrada para ….| Langue d'Odoo | Texte du message |
|---|---|
| Espagnol | Aucun emplacement Shopify trouvé pour … |
| Allemand | Keine Shopify-Standorte für … gefunden |
| Français | Aucun emplacement Shopify trouvé pour … |
| Italien | Nessuna ubicazione Shopify trovata per … |
| Portugais | Nenhuma localização Shopify encontrada para … |

Quand il apparaît exactement
Le bouton Envoyer le stock est toujours visible dans la vue de la boutique, dans Odoo 17, 18, 19 et 20 : aucune condition de la vue ne le masque. Son action arrive à une étape du module qui cherche l'emplacement par défaut de la boutique, et c'est cette étape qui lance le message. Selon le code publié d'Odoo 20.0, l'ordre est le suivant :
- Si la boutique a déjà un emplacement par défaut enregistré, le module l'utilise et n'interroge pas Shopify. Avec un emplacement déjà enregistré, le message ne peut pas apparaître par ce chemin.
- Sinon, le module demande à Shopify les emplacements de la boutique, mais seulement le premier qu'il renvoie.
- Il examine la réponse. Si elle ne contient aucun emplacement (la liste est absente ou vide), il lance
Aucun emplacement Shopify trouvé pour …. Les points de suspension représentent le domaine de la boutique. - Si un emplacement est présent avec son identifiant, le module enregistre cet identifiant et son nom dans la boutique comme emplacement par défaut.
La condition du code qui mène au message est que la réponse ne contienne aucun emplacement, et elle n'est vérifiée que lorsque la boutique n'a pas encore d'emplacement par défaut enregistré. Le message figure dans le code publié des branches 17, 18, 19 et 20 d'Odoo.
Ce que cela signifie en pratique
Le message décrit ce que le module a reçu : la réponse de Shopify est arrivée sans emplacements. L'avertissement n'explique pas pourquoi la liste est arrivée vide, il dit seulement qu'elle est arrivée vide.
Il indique aussi ce qui ne s'est pas produit. Quand le message est lancé, l'action s'arrête et ce qui devait changer à cette étape n'est pas enregistré : la boutique de Casa Boreal n'a toujours pas d'emplacement par défaut enregistré. Si l'action revient à cette étape et que la boutique n'a toujours pas d'emplacement enregistré, le module interroge de nouveau Shopify depuis le début.
Comment Marta le résout
- Elle lit le domaine affiché à la fin du message et vérifie que c'est bien celui de la boutique qu'elle voulait utiliser. Le module y met le domaine de la boutique sur laquelle l'action a été lancée.
- Elle entre dans l'administration de cette boutique dans Shopify et vérifie qu'elle a au moins un emplacement. C'est ce que le module a besoin de trouver dans la réponse.
- Elle retourne à
Shopify › Configuration › Boutiques, ouvre la fiche de la boutique et clique de nouveau surEnvoyer le stock. - Si le message réapparaît avec le bon domaine, Shopify continue de répondre sans emplacements à cette requête, et il faut poursuivre la vérification de cette boutique dans Shopify. Si Odoo affiche un autre avertissement, c'est un autre cas, à lire séparément.
Ce qu'il faut retenir du cas
- Le message ne peut apparaître que tant que la boutique n'a pas d'emplacement par défaut enregistré. Une fois enregistré, le module l'utilise et n'interroge pas Shopify.
- Le module lit un seul emplacement, le premier que Shopify renvoie. Que l'avertissement n'apparaisse pas ne dit rien sur le nombre d'emplacements de la boutique.
- Le bouton
Envoyer le stockn'a pas de condition de vue : vous le voyez toujours, qu'un emplacement soit enregistré ou non. - Le domaine à la fin du message est l'indice le plus rapide pour savoir quelle boutique l'a provoqué quand il y en a plusieurs.
- La condition est que la réponse ne contienne aucun emplacement, et elle n'est vérifiée que lorsque la boutique n'a pas encore d'emplacement par défaut enregistré.
Comment FlexigoTech vous aide
FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si vous connectez une boutique Shopify et souhaitez revoir la configuration avec quelqu'un qui connaît le module, vous pouvez consulter la page du module ou la fiche sur Odoo Apps, publié pour Odoo 17, 18, 19 et 20, et nous écrire depuis là.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/shopify_instance_views.xml
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
