7

ユーザーが自分のページからサードパーティのコマース サイト (Amazon、shopify、magento など) から製品を追加できる Web ページがあります。ユーザーが複数の製品を選択してチェックアウトをクリックすると、ページはそれらをサードパーティのコマース サイトのチェックアウト ページにリダイレクトします。

これは、Amazon がプロキシするサーバー側 API を持っているため、Amazon で問題なく機能します。入力: 一連の商品、出力: チェックアウト URL。かなりシンプルで、かなりうまく機能します。

ただし、magento で立ち往生しています。

  • ユーザーのリモート カートに商品を追加するためのパブリック API はありません。
  • 文書化されていない API は、一度に 1 つの製品の追加のみをサポートするため、複数の製品をサポートするには、複数の API 呼び出しが必要です (遅い)。
  • ほとんどの magento サイトは HTTPS をサポートしておらず、常に HTTP にリダイレクトしていません。当社のサイトでは HTTPS を使用しています。したがって、実際には機能しません。
  • AJAX リクエストを試すと、CORS の問題が発生します。現在、iframe でハッキングしています。
  • 最初のリクエストでは、実際にカートに追加する代わりに、「Cookie がありません」というエラー ページが表示されます。

これを解決する方法はありますか?Magento は CORS リクエストをサポートしていますか? HTTPS での magento のサポートは何ですか?

http://community.magento.com/t5/Programming-Questions/API-Redirecting-user-to-magento-instance-to-view-their-cart/mp/9113#M2029クライアントに延長ですが、それは受け入れられない場合があります

4

2 に答える 2

1

Magento にはこれをすぐにサポートする API 機能はありませんが、これを機能させるために Magento にインストールする小さな API モジュールを作成することで、Magento を拡張してこれをサポートすることができます。API 拡張機能を作成することで、ルールを作成して、たとえば複数の商品をバスケットに追加することを受け入れることができます。

Magento のドキュメントは常に非常に貧弱であり、通常、私のような開発者は、特定の機能が実際にどのように機能しているかを理解するために、コードをデバッグしてステップ実行する必要があります。十分に熟練すると、「全体像」が見え始めます。これにより、Magento の動作を「予測」でき、多くの場合、段階的なデバッグ調査をスキップできます。

これを構築するには、プロの開発者の助けを借りて (バックエンド開発の経験が少なくとも 2 ~ 3 年あると思います)、認定された Magento 開発者に手伝ってもらうことをお勧めします。アマチュアはおそらく実用的なソリューションを作成できますコストは低くなりますが、Magento のエディションやバージョン間でのモジュールの移植性、およびセキュリティ関連の問題 (XSS、SQL インジェクションなど) は言うまでもなく、長期的には結果を支払うことになります。

Magento は HTTPS をサポートし (実際には、サイトのシステム管理者が Web サーバーを適切に構成する必要があります)、CORS を少しサポートしています (デフォルトでは、「same-origin」ポリシーが実装されています)。CORS の変更も開発作業になりますが、これが REST または SOAP API とどのように関連するかはわかりません。

また、Magento はセッション サポートのために Cookie に大きく依存していることに注意してください (バスケットは顧客セッションに対してデータベースに保存されます)。

これが私が本当に言えることのすべてであり、実際の問題について提供された情報はほとんどありません。

さらに詳しい情報が必要な場合は、喜んでお手伝いさせていただきますが、最善の解決策を見つけるために、より詳細な情報が必要になります。

于 2015-09-08T18:14:05.060 に答える