SOAPから RESTful API への UPS 出荷方法の統合の移行
注意 : この記事の前に 3 つのパッチをアップロードした場合 2024 年 6 月 6 日(PT): Metric System/SI の測定値(キログラムとセンチメートル)が使用されていないことでこの問題に直面している場合は、UPS の送料で Metric System/SI の測定値 キログラム と センチメートル を選択できなくなるため、Adobe Commerce/Magento Open Sourceの 2.4.4.4+/4+/2.4.4.5+/2.5+/2.4.4+/2.4.6+/4.6+ Admin configuration で以下を行います。 これらの新しいパッチは、以前にリリースされたパッチと互換性があります。 この問題は、2024 年 6 月 11 日(PT) に予定されている今後のAdobe Commerce バージョン 2.4.7-p1 リリースの範囲で永続的に修正されます。
注意 : この記事の 3 つのパッチのいずれかを 2023 年 10 月 10 日(PT) より前にアップロードした場合は、Adobe CommerceまたはMagento Open Sourceの 2.4.4+/2.4.5+/2.4.6+のバージョンに対して、この記事で公開されているパッチのいずれかを再度適用する必要があります。そうしないと、Admin Configuration で特定の 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 のセキュリティアップデートをリリースしました。
出荷元として欧州連合(EU)(他の接触チャネルも同じ問題を経験する可能性があります)がある場合、UPS REST リクエストでエラーが発生します。
「出荷の測定単位として、KGS/IN、LBS/CM、または OZS/CM を使用することはできません。」
解決策 resolution
UPS API セキュリティモデルの最新のアップデートによると、UPS は、すべての API に対して OAuth 2.0 セキュリティモデルを実装し(詳しくは、UPS 開発者ポータルアクセスキー移行ガイドを参照)、全体的なセキュリティを強化して詐欺を減らし、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が提供する Composer パッチの適用方法を参照してください。
パッチが適用されているかどうかを知る方法
問題にパッチが適用されたかどうかを簡単に確認できないのであれば、そのパッチが正常に適用されたかどうかを確認することをお勧めします。 チェックするパッチとして(例:AC-9363)を使用します。
これは、次の手順を実行することで実行できます。
-
品質向上パッチツールをインストールします。
-
次のコマンドを実行します。
vendor/bin/magento-patches -n status |grep "9363|Status"
-
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 開発者ポータルでアプリを作成して、必要な資格情報(クライアント ID およびクライアントシークレット)を生成する必要があります。 次の手順に従います。
-
UPS 開発者ポータルへのログイン
- https://developer.ups.com/. に移動します。
- UPS アカウントの資格情報を使用してログインします。 アカウントをお持ちでない場合は、「 新規登録 」ボタンをクリックして作成します。
-
新しいアプリケーションの作成
- ログインしたら、ダッシュボードに移動し、「 アプリケーションを作成 」をクリックします。
- アプリケーションの名前(例:Adobe Commerce UPS Integration)を指定します。
-
必要な API を選択
-
アプリ作成プロセス中に、プロンプトが表示されたら、アプリで使用する API を選択します。 必ず以下を含めてください。
- Rate API:配送料の取得用。
- Time in Transit API:配信時間の見積もり用。
- お客様の配送ニーズに関連するその他の API (例えば Tracking API (該当する場合)。
-
-
権限の設定
- 選択した API に対して必要な権限がアプリで有効になっていることを確認します。
- これは、通常、アプリの作成時に行われますが、後でアプリの設定で権限を確認および更新できます。
-
認証情報を生成
- アプリが作成されたら、「 資格情報 」セクションに移動します。
- クライアント ID および クライアント秘密鍵 をコピーします。 これらは、Adobe Commerceでの UPS REST 統合の設定に使用されます。
- メモ: これらの資格情報は安全に保ち、公に共有しないでください。
-
アプリのテスト
- UPS 開発者ポータルのテストツールを使用して、アプリが正しく動作していることを確認し、選択した API からデータを取得できます。
手順 2:Adobe Commerceでの UPS REST の設定
クライアント ID とクライアント秘密鍵を取得したら、Adobe Commerceでの UPS REST 統合の設定に進みます。
UPS Type = "United Parcel Service REST"を選択してください。