UPSの出荷方法の統合SOAPからRESTful APIへの移行

: 2024年6月6日より前に、この記事の3つのパッチのいずれかをアップロードした場合: メトリックシステム/SIの測定値(キログラムとセンチメートル)が使用されていないため、この問題に直面している場合、Adobe Commerce/Magento Open Sourceの2.4.4+/2.4.5+/2.4.6以降のバージョンでこの記事に公開されている新しい更新されたパッチのいずれかを再度適用する必要があります。そうでない場合場合場合場合、{6 キログラムと 管理者設定のUPS出荷方法で センチメートル 。 これらの新しいパッチは、以前にリリースされたパッチと互換性があります。 この問題は、2024年6月11日に予定されている今後のAdobe Commerce バージョン 2.4.7-p1 リリースの範囲で永続的に修正されます。

: 2023年10月10日より前に、この記事から3つのパッチのいずれかをアップロードした場合、Adobe Commerce/Magento Open Sourceの2.4.4+/2.4.5+/2.4.6+ バージョンに対して、この記事で公開されているパッチの1つを再適用する必要があります。そうしないと、管理者設定で特定のUPSの配送方法を選択して設定できなくなり、すべての有効処理が必要になります。 これらの新しいパッチは、以前にリリースされたパッチと互換性があります。

この記事では、Adobe Commerce 2.4.4 - 2.4.6-pX の SOAP から RESTful API への United Parcel Service(UPS)の発送方法統合の問題を解決するためのパッチを提供します。

2024年6月以降、Adobe Commerce マーチャントは現在のUPS統合との取引ができなくなります。そのため、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-pX
  • 2.4.5
  • 2.4.5-pX
  • 2.4.6
  • 2.4.6-pX

原因

UPSは、API🔗の セキュリティアップデートをリリースしました。

お客様が欧州連合(他の送信元と同様の問題が発生する可能性があります)を発送元と同じ場合、UPS REST リクエストでエラーが発生します。
「出荷時にKGS/INまたはLBS/CMまたはOZS/CMを測定単位として使用することはできません。」

解決策 resolution

UPS API セキュリティモデルの最新のアップデートによると、UPSでは、すべてのAPIに対してOAuth 2.0 セキュリティモデルを実装しました(詳細については、UPS Developer Portal Access Key Migration Guideで入手できます)。これにより、全体的なセキュリティを強化し、不正行為を減らし、強化されたAPI機能を提供します。

この変更は、Adobe Commerceでの現在のUPS出荷方式の統合の実装に影響を与えます。また、OAuth 2.0認証プロトコルをサポートするには、現在の実装を修正し、SOAP APIからRESTful APIに移行する必要があります。

ソリューション

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が​Applied ステータスを返す場合は、次のような出力が表示されます。

    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 Developer Portalでアプリを作成して、必要な資格情報(クライアント IDとクライアント秘密鍵)を生成する必要があります。 次の手順に従います。

  1. UPS開発者ポータルにログイン

    • https://developer.ups.com/に移動します。
    • UPS アカウントの資格情報を使用してログインします。 アカウントをお持ちでない場合は、「新規登録」ボタンをクリックしてアカウントを作成します。
  2. 新しいアプリケーションを作成

    • ログインしたら、ダッシュボードに移動し、 アプリケーションの作成をクリックします。
    • アプリケーションの名前を指定します(例:Adobe Commerce UPS統合)。
  3. 必要なAPIを選択

    • アプリの作成プロセス中にプロンプトが表示されたら、アプリで使用するAPIを選択します。 次の要素を含めます。

      • レート API:送料の取得。
      • 転送時間API:配信時間の見積もり。
      • 配送ニーズに関連するその他のAPI (例: トラッキング API、該当する場合)。
  4. 権限の設定

    • 選択したAPIに対してアプリに必要な権限が有効になっていることを確認します。
    • これは通常、アプリの作成中に行われますが、後でアプリ設定で権限を確認および更新できます。
  5. 資格情報の生成

    • アプリを作成したら、資格情報 セクションに移動します。
    • クライアント IDクライアントシークレット をコピーします。 これらは、Adobe CommerceでのUPS REST統合の設定に使用されます。
    • 注:これらの資格情報を安全に保ち、公開しないでください。
  6. アプリをテスト

    • UPS Developer Portalのテストツールを使用して、アプリが正しく動作していることを確認し、選択したAPIからデータを取得できます。

手順2: Adobe CommerceでのUPS RESTの設定

クライアント IDとクライアントシークレットを取得したら、Adobe CommerceでのUPS REST統合の設定に進みます。

UPS Type = "United Parcel Service REST"を選択してください。

recommendation-more-help
experience-cloud-kcs-help-kbarticles