UPS送貨方法整合從SOAP移轉至RESTful API

注意 如果您在2024年6月6日前上傳本文中三個修補程式:如果您因為未使用量度系統/SI測量(公斤和公分)而遇到此問題,應再次為您的Adobe Commerce/Magento Open Source 2.4.4+/2.4.5+/2.4.6+版本重新套用本文中發佈的這些更新的新修補程式,因為否則您將無法選取 公斤 公分 (在 管理員配置 的UPS配送方式中)。 這些新修補程式與先前發行的修補程式相容。 此問題將在預計於 2024年6月11日 發行的Adobe Commerce 2.4.7-p1版本的範圍內永久修正。

注意 如果您在 2023年10月10日 之前上傳本文中的三個修補程式,您應該再次為您的Adobe Commerce/Magento Open Source 2.4.4+/2.4.5+/2.4.6+版本套用本文現在發佈的這些修補程式之一,因為否則您將無法在 管理員設定 中選取和設定特定的UPS送貨方法,您必須啟用所有方法。 這些新修補程式與先前發行的修補程式相容。

本文提供補丁程式以解決 Adob​​e Commerce 2.4.4 - 2.4.6-pX 的 United Parcel Service (UPS) 運送方法整合從 SOAP 移轉至 RESTful API 的問題。

自2024年6月起,Adobe Commerce商家將無法使用我們目前的UPS整合進行交易,因此我們將發佈此Hotfix,讓Adobe Commerce 2.4.4+/2.4.5+/2.4.6+商家可移轉至最新的UPS REST API。

此問題將在Adobe Commerce/Magento Open Source 2.4.7版中修正,該修正也將包含在2023年10月發行的2.4.7 beta2版中。

說明 description

受影響的產品和版本

雲端基礎結構與內部部署上的Adobe Commerce,以及Magento Open Source:

  • 2.4.4
  • 2.4.4畫素
  • 2.4.5
  • 2.4.5畫素
  • 2.4.6
  • 2.4.6畫素

原因

UPS已發行其API安全性更新。

如果您有歐盟(其他來源可能會遇到相同的問題)作為「出貨來源」,這會導致UPS REST請求發生錯誤:
「出貨不能以KGS/IN、LBS/CM或OZS/CM作為測量單位。」

解決方法 resolution

根據UPS API安全性模型的最新更新,UPS已針對所有API實作OAuth 2.0安全性模型(如需詳細資訊,請參閱UPS開發人員入口網站存取金鑰移轉指南),以提升整體安全性,減少欺詐並提供增強的API功能。

這項變更會影響我們目前在Adobe Commerce中的UPS送貨方法整合實作,並要求我們修正目前的實作,並從SOAP API移轉至RESTful API,以便能夠支援OAuth 2.0驗證通訊協定。

解決方案

根據您的Adobe Commerce/Magento Open Source版本,使用以下附加修補程式:

若要解決2.4.4+、2.4.5+和2.4.6+版本中的問題,您必須在下方將對應的修補程式套用至您的Adobe Commerce/Magento Open Source版本。

修補

根據您的Adobe Commerce/Magento Open Source版本,使用以下附加修補程式:

若為版本2.4.4、2.4.4-pX:

若為版本2.4.5、2.4.5-pX:

若為版本2.4.6、2.4.6-pX:

如何套用修補程式

解壓縮檔案,並在我們的支援知識庫中參閱如何套用Adobe提供的撰寫器修補程式,以取得指示。

如何判斷是否已套用修補程式

考慮到無法輕鬆檢查問題是否已修補,您可能想要檢查是否已成功套用修補程式。 這會使用(例如:AC-9363)作為要檢查的修補程式。

您可以依照下列步驟執行此操作:

  1. 安裝品質修補工具

  2. 執行命令: vendor/bin/magento-patches -n status |grep "9363|Status"

  3. 您應該會看到類似以下的輸出,其中AC-9363傳回​ 已套用 ​狀態:

    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
    

套用修補程式後

步驟1:在UPS開發人員入口網站中建立UPS應用程式

若要使用UPS REST API,您需要在UPS開發人員入口網站中建立應用程式,以產生所需的認證(使用者端ID和使用者端密碼)。 請依照下列步驟操作:

  1. 登入UPS開發人員入口網站

    • 瀏覽至https://developer.ups.com/.
    • 使用您的UPS帳戶認證登入。 如果您沒有帳戶,請按一下 註冊 按鈕以建立帳戶。
  2. 建立新的應用程式

    • 登入後,請前往儀表板並按一下 建立應用程式
    • 為您的應用程式提供名稱(例如Adobe Commerce UPS整合)。
  3. 選取必要的API

    • 在應用程式建立程式進行期間,出現提示時,請選取您的應用程式將會使用的API。 請確定您包含:

      • 運費API:用於擷取運費。
      • 傳輸時間API:用於估計傳送時間。
      • 與您送貨需求相關的任何其他API (例如,追蹤API (如果適用))。
  4. 設定許可權

    • 確認應用程式具有針對所選API啟用的必要許可權。
    • 這通常會在建立應用程式期間完成,但您稍後可以在應用程式設定中檢閱和更新許可權。
  5. 產生認證

    • 建立應用程式後,請導覽至 認證 區段。
    • 複製 使用者端識別碼使用者端密碼。 這些將用來設定Adobe Commerce中的UPS REST整合。
    • 注意: 請保持這些認證的安全,並且不要公開共用它們。
  6. 測試應用程式

    • 使用UPS開發人員入口網站的測試工具,驗證您的應用程式正常運作,並可從選取的API擷取資料。

步驟2:在Adobe Commerce中設定UPS REST

取得使用者端ID和使用者端密碼後,請繼續設定Adobe Commerce中的UPS REST整合。

請務必選取 UPS Type = "United Parcel Service REST"。

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