MagentoのREST APIを介したカスタマーセッションサポートはありますか?


9

私はウィッシュリスト機能をMagentoのREST APIに拡張する作業をしています。顧客のセッションにアクセスできると便利です。MagentoはRESTを介して顧客のセッションにアクセスするためのサポートを提供していますか?


なぜセッションへのアクセスが必要なのですか?ウィッシュリストのアイテムはデータベースに保存され、顧客IDへの参照があります。..または、何かが足りない
マリウス

お客様IDがないので。
Ryre 2013

2
OK ...縫い目フェア...私の無知をごめんなさい:)
マリウス

心配ない!私の質問は簡単だったので、少し説明が多分正しいでしょう。
Ryre 2013

Magento REST APIドキュメントを読んだとき、RESTを介してセッションにアクセスできません。oAuthの使用について考えましたか?
AnnaVölkl2013

回答:


5

上記のコメントで述べたように、customerIDにアクセスするには、ユーザーログインにoAuthを提供することをお勧めします。質問に答えるには:いいえ、カスタマーセッションにアクセスすることはできません。

フローは次のようになります。

  1. ユーザーがウィッシュリスト機能を提供するサードパーティのWebサイトにアクセスする
  2. ユーザーがウィッシュリスト/ウィッシュリスト機能をリクエストする(ウィッシュリストに新しいアイテムを追加する、ウィッシュリストを表示するなど)
  3. ユーザーがmagentoショップでoAuthを介してログインする
  4. oAuthからお客様IDを取得する
  5. ウィッシュリスト機能を続行します

ユーザー認証については、このページの「未承認のリクエストトークンの取得」および「ユーザー認証」のセクションに従うことをお勧めします。


あなたの答えは、実行可能なソリューションを提供する最初のものでした!
ライア2013

oAuthからお客様IDを取得する方法として受け入れられているものは何ですか?私は彼らのドキュメントのどこにもそのような機能を見ていません。
Stepan Mazurov 2013

私はそれを理解しました。同じ問題が発生している他のユーザーについては、「顧客」の役割にAPIにアクセスする権限があることを確認してください
Stepan Mazurov

@AnnaVölkl様、magento REST APIでお客様IDを取得するにはどうすればよいですか?私はヘッダーにトークンを顧客に渡すとき、私は、Magentoの2トークン、その特定の顧客に属しているトークン顧客顧客ID必要があるため
アーディティヤシャー

私の製品APIは製品を返しますが、顧客で試してみるとエラーが発生します。私のURL:192.168.1.65/anusthana/api/rest/customers error:snag.gy/0jbhTr.jpg can can help me @Anna
zus

6

番号。

顧客セッションは、閲覧している顧客が持つフロントエンドCookieに関連付けられています。ファイルベースのセッションを使用している場合、これらはvar / sessions /に保存されます。データベースをセッションストレージとして使用している場合は、core_sessionに保存されます。

いずれの場合もそれにアクセスできるようにするには、設計者がブラウザーとサーバーの間にのみあるべきである顧客からのsession_idを知る必要があります。* 1)

上記のコメントで提案されているように、より良いアプローチは、顧客が入手できる情報(customer_id、電子メールアドレス)を把握し、それを介してウィッシュリストにアクセスすることです。

もう1つ覚えておくべきことは、APIと通信するために確立したセッションは、顧客が持っているセッションとは別であることです。

全体として、現在の制約を記したウィッシュリストで達成しようとしていることを投稿すると、より実用的な答えが得られると思います。

* 1)現在使用されているCookieセッションを読み取って、データベースに保存してさらに処理できる可能性がありますが、これを現在実装しようとしているロジックに関連付けるために、他の情報が再び必要になるため、私は行いません。ここでその使用法を参照してください。


素晴らしい答えをありがとう。私の最終目標は、顧客がフロントエンドにログインしたときに表示されるRESTを介して顧客データにアクセスすることです。注文履歴、保存された住所など
Ryre

もう少し文脈が確かに役立つでしょう。これらのリクエストを行っているアプリケーションは何ですか?私の推測では、Magento以外のWebサイトにMagentoデータを表示したいのですが、これは質問からは明確ではなく、完全に別のものである可能性があります。OAuthの提案には、お客様が行う必要のあるアクションが含まれます。他のアプローチには、2つのシステム間でセッションを共有することが含まれます(たとえば、さまざまなワードプレス統合を見てください)。
クリストフ、フーマンで2013

あなたの推測はかなり近いです!iPhoneアプリの基本的なRESTサービスの拡張を支援しています。フロントエンドのoauthは私が抱えている問題を解決します。より明確な質問をしなくてすみません。
Ryre

1

あなたが探しているのは、REST APIとMagentoのOAuthの組み合わせだと思います。OAuthを使用すると、フロントエンドユーザーはMagento環境にログインして、(サードパーティ)アプリケーションを提供し、注文履歴などの顧客データにアクセスできます。

私が知る限り、これはAPIを使用して顧客セッションに到達できる限り近いです。

この件に関するMagentoのドキュメントと、Inchooによるこの素晴らしい記事をチェックしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.