Où se trouve le bouton et ce qu'il fait du début à la fin
Le bouton Échanger le code d'autorisation (Exchange Auth Code) se trouve dans l'écran Instances Shopify (Shopify Instances), dans les versions 17, 18, 19 et 20 d'Odoo. Les fiches de boutique s'ouvrent depuis le menu Shopify › Configuration › Boutiques (Shopify › Configuration › Stores). Pour voir la partie Configuration, il faut le droit Opérateur (Operator) ; pour la partie Shopify, celui de Lecteur (Viewer).
Dans Odoo 20.0, quand on clique dessus, le module parcourt les boutiques sélectionnées et fait l'échange dans chacune. Il regarde si la boutique a un code d'autorisation enregistré ; il envoie à Shopify ce code avec la clé et le secret d'API de l'application ; il vérifie que la réponse contient un jeton d'accès ; et ce n'est qu'alors qu'il enregistre les changements.

Avec Odoo en français, le bouton s'appelle Échanger le code d'autorisation. Le schéma suivant reprend son nom dans d'autres langues.


Idées fausses sur le bouton d'échange
« Le bouton apparaît sur la fiche de n'importe quelle boutique »
La vue masque le bouton quand le champ Shopify connection a la valeur qu'il a par défaut, donc avec les valeurs par défaut il ne s'affiche pas. Ce champ n'est visible dans aucune vue. Le bouton s'affiche quand ce champ a une valeur différente de celle par défaut. La condition est la même dans Odoo 17, 18, 19 et 20.
« Cliquer dessus ouvre l'autorisation dans Shopify »
Quand on clique dessus, le module travaille avec le code d'autorisation déjà enregistré dans la boutique. Si ce code est vide, dans Odoo 20.0 le bouton s'arrête avec Code d'autorisation manquant. (Missing authorization code.) et ne change rien.
« Si Shopify rejette l'échange, la boutique reste à moitié configurée »
Quand le bouton s'arrête avec un message, l'action est interrompue et rien de ce qui allait changer n'est enregistré. En plus du message précédent, le bouton peut s'arrêter avec ceux-ci :
L'échange OAuth Shopify a échoué : …(Shopify OAuth exchange failed: …). Il apparaît quand Shopify répond avec un code d'état d'erreur. À la place des points de suspension figure le début du texte avec lequel Shopify a répondu : lisez-le pour savoir ce qu'il a dit.La réponse de l'échange OAuth Shopify n'incluait pas de jeton d'accès.(Shopify OAuth exchange response did not include an access token.). Il apparaît quand la réponse de Shopify ne contient pas de jeton d'accès.
« Le jeton enregistré est permanent »
Dans Odoo 20.0, le module demande à Shopify la paire jeton d'accès de courte durée et jeton de renouvellement ; le commentaire du code parle d'un jeton de renouvellement de 90 jours. Le jeton de renouvellement n'est enregistré que si Shopify le renvoie, et la date d'expiration du jeton d'accès seulement si Shopify indique combien de secondes il dure. Sont aussi enregistrés l'heure de l'échange comme dernier renouvellement et les permissions accordées : celles du jeton lui-même ou, à défaut, celles de l'utilisateur associé ; s'il n'y en a aucune, le champ reste vide.
« Après l'échange, le code peut être réutilisé »
À l'enregistrement, le module vide le code d'autorisation et la valeur d'état en attente d'OAuth. Selon le commentaire du code, cette valeur est à usage unique : elle est consommée à ce moment pour qu'un rappel répété ne puisse pas aboutir une seconde fois. En même temps, la boutique passe à l'état connectée et la dernière erreur de connexion est effacée. Si vous cliquez de nouveau sur le bouton alors que le code est déjà vidé, il s'arrête avec Code d'autorisation manquant..
« Il suffit d'acheter le module »
Le bouton fait partie d'un module à paiement unique par version qui nécessite l'abonnement à FlexigoTech Cloud (plan Connecteur) : 49 €/mois ou 490 €/an, HT. La connexion passe par FlexigoTech Cloud, qui conserve les identifiants chiffrés, surveille la synchronisation et prévient par e-mail en cas d'échec. Sans abonnement, ou avec le service suspendu, ce que fournit l'abonnement s'arrête ; les données restent dans votre Odoo.
Le module est publié sur Odoo Apps pour 17.0, 18.0, 19.0 et 20.0. Avec l'abonnement, le module pour les nouvelles versions d'Odoo est inclus si vous l'avez acheté sur flexigotech.com ; sur l'Odoo App Store, chaque version d'Odoo s'y achète. Voici la fiche sur Odoo Apps et la page du module.
Que regarder quand le bouton s'arrête avec un message
- Avec
Code d'autorisation manquant., la boutique n'avait pas de code d'autorisation enregistré à ce moment-là (ou il avait déjà été vidé lors d'un échange précédent). - Avec
L'échange OAuth Shopify a échoué : …, lisez le texte qui suit les deux-points : c'est la réponse de Shopify. - Avec
La réponse de l'échange OAuth Shopify n'incluait pas de jeton d'accès., Shopify a répondu sans renvoyer le jeton.
Dans chacun de ces cas, l'action est interrompue et rien de ce que le bouton allait changer n'est enregistré.
Si vous cherchez un autre bouton du module
Le connecteur a d'autres boutons, chacun avec son histoire. Si le stock vous intéresse, il y a un autre article sur le bouton de stock du connecteur.
Comment FlexigoTech vous aide
FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si, en connectant votre boutique, vous tombez sur l'un de ces messages et ne savez pas comment poursuivre, dites-nous quel texte apparaît après les deux-points et nous regardons cela avec vous.
À 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): views/shopify_instance_views.xml
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- 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
- flexigotech.com/precios.html
