Migration de l’intégration de la méthode d’expédition UPS de SOAP vers l’API RESTful
Remarque : si vous avez téléchargé l’un des trois correctifs de cet article avant le 6 juin 2024 : si vous rencontrez ce problème en raison de mesures de système métrique/SI (kilogrammes et centimètres) non utilisées, vous devez réappliquer l’un de ces nouveaux correctifs mis à jour, maintenant publiés dans cet article, pour votre version 2.4.4+/2.4.5+/2.4.6+ d’Adobe Commerce/Magento Open Source, car vous ne pourrez pas sélectionner les mesures de système métrique/SI de kilogrammes et centimètres dans les méthodes d’expédition UPS Configuration d’administration. Ces nouveaux correctifs sont compatibles avec les correctifs publiés précédemment. Ce problème sera corrigé de manière permanente dans la portée de la prochaine version 2.4.7-p1 d’Adobe Commerce prévue pour le 11 juin 2024.
Remarque : si vous avez téléchargé l’un des trois correctifs de cet article avant le 10 octobre 2023, vous devez réappliquer l’un de ces correctifs maintenant publiés dans cet article pour votre version 2.4.4+/2.4.5+/2.4.6+ d’Adobe Commerce/Magento Open Source, car vous ne pourrez pas sélectionner ni configurer des méthodes d’expédition UPS spécifiques dans la configuration d’administration et vous devrez toutes les activer. Ces nouveaux correctifs sont compatibles avec les correctifs publiés précédemment.
Cet article fournit un correctif pour résoudre les problèmes liés à la migration de l’intégration de la méthode d’expédition United Parcel Service (UPS) de SOAP à l’API RESTful pour Adobe Commerce 2.4.4 - 2.4.6-pX.
À compter de juin 2024 les commerçants Adobe Commerce ne pourront plus effectuer de transactions avec notre intégration UPS actuelle. Nous publions donc ce correctif, qui permet aux commerçants Adobe Commerce 2.4.4+/2.4.5+/2.4.6+ de migrer vers les dernières API REST UPS.
Ce problème sera corrigé dans la version 2.4.7 d’Adobe Commerce/Magento Open Source, et le correctif sera également inclus dans la version 2.4.7-bêta2 d’octobre 2023.
Description description
Produits et versions concernés
Adobe Commerce sur les infrastructures cloud et On-Premise et Magento Open Source :
- 2,4,4
- 2.4.4-pX
- 2,4,5
- 2.4.5-pX
- 2,4,6
- 2.4.6-pX
Causes
L'UPS a publié une mise à jour de sécurité pour son API.
Si vous avez l'Union européenne (d'autres origines peuvent rencontrer le même problème) comme origine de l'expédition, cela provoquera une erreur dans la demande UPS REST :
« Une expédition ne peut pas avoir comme unité de mesure un KGS/IN ou un LBS/CM ou un OZS/CM. »
Résolution resolution
Selon les dernières mises à jour du modèle de sécurité de l'API UPS, UPS a mis en œuvre un modèle de sécurité OAuth 2.0 pour toutes les API (plus de détails disponibles dans le Guide de migration des clés d'accès au portail UPS Developer) afin d'améliorer la sécurité globale pour réduire la fraude et fournir des fonctionnalités d'API améliorées.
Cette modification a un impact sur notre implémentation actuelle de l’intégration de la méthode d’expédition UPS dans Adobe Commerce et nous oblige à corriger notre implémentation actuelle et à migrer de l’API SOAP vers l’API RESTful pour pouvoir prendre en charge les protocoles d’authentification OAuth 2.0.
Solution
Utilisez les correctifs ci-joints, en fonction de votre version d’Adobe Commerce/Magento Open Source :
Pour résoudre le problème dans les versions 2.4.4+, 2.4.5+ et 2.4.6+, vous devez appliquer le correctif correspondant à votre version d’Adobe Commerce/Magento Open Source ci-dessous.
Patch
Utilisez les correctifs ci-joints, en fonction de votre version d’Adobe Commerce/Magento Open Source :
Pour les versions 2.4.4 et 2.4.4-pX :
Pour les versions 2.4.5, 2.4.5-pX :
Pour les versions 2.4.6 et 2.4.6-pX :
Application du correctif
Décompressez le fichier et consultez Comment appliquer un correctif de compositeur fourni par Adobe dans notre base de connaissances d’assistance pour obtenir des instructions.
Comment déterminer si les patchs ont été appliqués
Comme il n’est pas possible de vérifier facilement si le problème a été corrigé, vous pouvez vérifier si le correctif a bien été appliqué. Cette méthode utilise (exemple : AC-9363) comme correctif à vérifier.
Pour ce faire, procédez comme suit :
-
Installez l’outil Correctifs de qualité.
-
Exécutez la commande :
vendor/bin/magento-patches -n status |grep "9363|Status"
-
Vous devriez voir une sortie similaire à celle-ci, où AC-9363 renvoie le statut Appliqué :
code language-none ║ Id│ Title│ Category │ Origin│ Status│ Details║ ║ N/A │ ../m2-hotfixes/AC-9363_USPS_Ground_Advantage_shipping_method_COMPOSER_patch.patch │ Other│ Local│ Applied│ Patch type: Custom
Après application du patch
Étape 1 : Créer une application UPS dans le portail de développement UPS
Pour utiliser l’API REST UPS, vous devez créer une application dans le portail de développement UPS afin de générer les informations d’identification requises (ID client et secret client). Procédez comme suit :
-
Connectez-vous au portail UPS Developer Portal
- Accédez à https://developer.ups.com/.
- Utilisez les identifiants de votre compte UPS pour vous connecter. Si vous ne disposez pas d’un compte, cliquez sur le bouton S’inscrire pour en créer un.
-
Créer une nouvelle application
- Une fois connecté, accédez au tableau de bord et cliquez sur Créer une application.
- Attribuez un nom à votre application (par exemple, Intégration d’onduleur Adobe Commerce).
-
Sélectionner les API requises
-
Pendant le processus de création de l’application, lorsque vous y êtes invité, sélectionnez les API que votre application utilisera. Veillez à inclure les éléments suivants :
- API des taux : pour récupérer les taux d’expédition.
- API Time in Transit : pour les estimations de temps de diffusion.
- Toute autre API correspondant à vos besoins en matière d’expédition (par exemple, API de suivi, le cas échéant).
-
-
Définir les autorisations
- Assurez-vous que l’application dispose des autorisations nécessaires activées pour les API sélectionnées.
- Cette opération est généralement effectuée lors de la création de l’application, mais vous pouvez vérifier et mettre à jour les autorisations ultérieurement dans les paramètres de l’application.
-
Générer des informations d’identification
- Une fois l’application créée, accédez à la section Informations d’identification .
- Copiez les ID client et Secret client. Ils seront utilisés pour configurer l’intégration de l’onduleur REST dans Adobe Commerce.
- Remarque : sécurisez ces informations d’identification et ne les partagez pas publiquement.
-
Tester l’application
- Utilisez les outils de test du portail UPS Developer pour vérifier que votre application fonctionne correctement et peut récupérer des données à partir des API sélectionnées.
Étape 2 : Configurer UPS REST dans Adobe Commerce
Une fois que vous disposez de l’identifiant client et du secret client, continuez à configurer l’intégration REST de l’onduleur dans Adobe Commerce.
Veillez à sélectionner Type d'onduleur = « REST United Parcel Service ».