Migrering av integrering av UPS-leveransmetoder från SOAP till RESTful API

Obs!: Om du överförde någon av de tre korrigeringsfilerna från den här artikeln före den 6 juni 2024: Om du råkar ut för det här problemet på grund av att mått för Metric System/SI (kilo och centimeter) inte används, bör du tillämpa en av dessa nya, uppdaterade korrigeringsfiler som nu publicerats i den här artikeln igen för din 2.4.4+/2.4.4.4.4. 5+/2.4.6±versionen av Adobe Commerce/Magento Open Source en gång till, eftersom du annars inte kan välja måtten för metriskt system/SI på kilo och centimeter i UPS-leveransmetoderna i Admin-konfigurationen. Dessa nya patchar är kompatibla med de tidigare släppta patcharna. Problemet kommer att åtgärdas permanent i den kommande version av Adobe Commerce 2.4.7-p1 som planeras till den 11 juni 2024.

Obs!: Om du överförde någon av de tre korrigeringsfilerna från den här artikeln före 10 oktober 2023 bör du tillämpa om en av de här korrigeringsfilerna som publicerats i den här artikeln för din version av Adobe Commerce/Magento Open Source 2.4.4+/2.4.6+ en gång till, eftersom du annars inte kan välja och konfigurera specifika UPS-leveransmetoder i Admin-konfigurationen, och du måste aktivera alla. Dessa nya patchar är kompatibla med de tidigare släppta patcharna.

I den här artikeln finns en patch som löser problem med UPS-migrering (United Parcel Service) av leveransmetoder från SOAP till RESTful API för Adobe Commerce 2.4.4 - 2.4.6-pX.

Från och med i juni 2024 kan inte Adobe Commerce-handlare hantera vår nuvarande UPS-integrering, så vi lanserar den här snabbkorrigeringen, som gör att Adobe Commerce 2.4.4+/2.4.5+/2.4.6±handlare kan migrera till de senaste UPS REST-API:erna.

Problemet kommer att åtgärdas i Adobe Commerce/Magento Open Source version 2.4.7 och programfixen kommer också att ingå i version 2.4.7-beta2 i oktober 2023.

Beskrivning description

Berörda produkter och versioner

Adobe Commerce i molninfrastrukturen och lokalt, samt Magento Open Source:

  • 2.4.4
  • 2.4.4-pX
  • 2.4.5
  • 2.4.5-pX
  • 2.4.6
  • 2.4.6-pX

Orsaker

UPS-enheten har släppt en säkerhetsuppdatering för sin API.

Om du har EU (andra ursprung kan uppleva samma problem) som avsändarens ursprung kommer detta att orsaka ett fel i UPS REST-begäran:
"En leverans kan inte ha KGS/IN eller LBS/CM eller OZS/CM som måttenhet."

Upplösning resolution

Enligt de senaste uppdateringarna av UPS API-säkerhetsmodellen har UPS implementerat en OAuth 2.0-säkerhetsmodell för alla API:er (mer information finns i UPS Developer Portal Access Key Migration Guide) för att förbättra den övergripande säkerheten för att minska antalet bedrägerier och ge utökade API-funktioner.

Den här förändringen påverkar vår nuvarande implementering av UPS-leveransmetoder i Adobe Commerce och kräver att vi åtgärdar den aktuella implementeringen och migrerar från SOAP API till RESTful API för att kunna stödja OAuth 2.0-autentiseringsprotokoll.

Lösning

Använd följande bifogade patchar, beroende på vilken version av Adobe Commerce/Magento Open Source du har:

För att lösa problemet i versionerna 2.4.4+, 2.4.5+ och 2.4.6+ måste du tillämpa motsvarande korrigeringsfil på din version av Adobe Commerce/Magento Open Source nedan.

Lappa

Använd följande bifogade patchar, beroende på vilken version av Adobe Commerce/Magento Open Source du har:

För version 2.4.4, 2.4.4-pX:

För version 2.4.5, 2.4.5-pX:

För version 2.4.6, 2.4.6-pX:

Så här sätter du på plåstret

Zippa upp filen och se Använda en kompositkorrigering från Adobe i vår kunskapsbas för support för instruktioner.

Hur man vet om plåstren har använts

Eftersom det inte är enkelt att kontrollera om problemet har åtgärdats kanske du vill kontrollera om korrigeringen har installerats korrekt. Detta använder (exempel: AC-9363) som den korrigeringsfil som ska kontrolleras.

Du kan göra detta genom att utföra följande steg:

  1. Installera kvalitetsuppdateringsverktyget.

  2. Kör kommandot: vendor/bin/magento-patches -n status |grep "9363|Status"

  3. Du bör se utdata som liknar detta, där AC-9363 returnerar statusen Används:

    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
    

Efter applicering av plåstret

Steg 1: Skapa en UPS-app i UPS-utvecklarportalen

Om du vill använda UPS REST API måste du skapa en app i UPS-utvecklarportalen för att generera de nödvändiga autentiseringsuppgifterna (klient-ID och klienthemlighet). Följ de här stegen:

  1. Logga in på UPS Developer Portal

    • Navigera till https://developer.ups.com/.
    • Logga in med autentiseringsuppgifterna för ditt UPS-konto. Om du inte har något konto klickar du på knappen Registrera dig för att skapa ett.
  2. Skapa ett nytt program

    • När du är inloggad går du till instrumentpanelen och klickar på Skapa program.
    • Ange ett namn för programmet (till exempel Adobe Commerce UPS Integration).
  3. Välj obligatoriska API:er

    • När du uppmanas att göra det väljer du de API:er som appen ska använda. Se till att du inkluderar:

      • Rate-API: För hämtning av fraktkostnader.
      • Tid i överförings-API: För leveranstidsuppskattningar.
      • Andra API:er som är relevanta för ditt leveransbehov (t.ex. Spårnings-API, om tillämpligt).
  4. Ange behörigheter

    • Se till att appen har de behörigheter som krävs aktiverade för de valda API:erna.
    • Detta görs vanligtvis när appen skapas, men du kan granska och uppdatera behörigheter senare i appinställningarna.
  5. Generera autentiseringsuppgifter

    • Navigera till avsnittet Referenser när appen har skapats.
    • Kopiera klient-ID och klienthemlighet. Dessa används för att konfigurera UPS REST-integreringen i Adobe Commerce.
    • Obs! Skydda dessa autentiseringsuppgifter och dela dem inte offentligt.
  6. Testa appen

    • Använd UPS Developer Portals testverktyg för att kontrollera att appen fungerar som den ska och kan hämta data från de valda API:erna.

Steg 2: Konfigurera UPS REST i Adobe Commerce

När du har ett klient-ID och klienthemlighet fortsätter du med att konfigurera UPS REST-integreringen i Adobe Commerce.

Se till att välja UPS-typ = "United Parcel Service REST".

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f