@apl1045 様
Shopify PlusのMultipassについては調査したことがなかったのですが、
折角の機会ですので調査してみました。
おっしゃる通り、Multipassを使用した方が良さそうですね。
ご質問いただいている内容に、わかる範囲で回答いたします。
①自社サイト会員登録頁⇒自社ECサイト(Shopify)の会員登録フォームへ
(Excuse文面で促す・・・当サイトの会員登録はECサイト会員登録となります)
Mutlipassをご利用の予定なのでしたら、
Shopifyストアの会員登録フォームに遷移しなくても大丈夫なはずです。
下記のURLに記載の方法で、「自社サイト」の会員情報をもとに、
Multipassログイン用のURLを作成し、
https://shopify.dev/docs/api/multipass
ユーザーにそのURLにアクセスして貰えば(もしくは、「自社サイト側」でリダイレクトをかけてあげれば)、
Shopifyストアに登録されていないEmailアドレスだった場合、
Shopifyストアへの会員登録とログインが同時に行われます。
(私の開発ストアでテストした限りでは、そのような挙動を示しました。)
※しかし、この仕様には注意が必要な側面もあり、下記サイト様の記事に記載されている注意事項をご一読いただく「自社サイト」側に何らか対策をされることをお勧めいたします。
https://zenn.dev/hiroharu8864/articles/6542ea3a302737
別Webサイト側で、メールアカウント発行された場合、Shopifyのアカウントがログイン連携できてしまう。トークン呼び出し元で、既存Shopifyに登録されているメールアカウントでマルチパスログイン認証されると、ログイン成功となりのっとりが可能となる。
②EC会員登録を完了頁に、自社サイトへの戻るリンク
このリンクも不要になるはずです。
https://shopify.dev/docs/api/multipass
こちらに記載の方法でMultipassログイン用のURLを作成する際に、
return_toに、自社サイトのURLを設定しておけば、
Mutlipass成功後に自動的に自社サイトにリダイレクトされます。
③自社サイトにて会員ログイン
⇒ここで自社サイト会員ログイン情報にShopify側のトークン連携ができるか
⇒自社サイトの会員基盤は必須となる?IaaS(Auth0)
トークン連携というのが、何を指しているのかを把握できていないのですが、
Multipassのためのトークンは、
https://shopify.dev/docs/api/multipass
こちらの手順で作成ますので、そちらを使用して連携することになるかと思います。
具体的には、上記のTokenと下記のストアフロントAPIを使用してアクセストークンを生成することで、Shopifyストア上の顧客情報を「自社サイト」に持ち込むことができるはずです。
https://shopify.dev/docs/api/storefront/2023-04/mutations/customerAccessTokenCreateWithMultipass
(私のやり方が悪いのか、このAPIの動作を確認できませんでした。)
「自社サイト」の会員基盤が必須になるか、ですが、
Multipassを利用するのでしたら必須になるはずです。
④自社サイト内での会員サービス(ミニゲームや会員向けコンテンツ投稿など)を利用し
ゲームやコンテンツの中でレコメンドされるオススメEC商品からECサイトへ遷移
⇒ここでSSO連携できるか
Multipassを利用されるのであれば、Shopifyストアにはここまでの手順でログイン済みですので、SSOは済んでいる、と言えます。
⑤自社ECサイト内で会員がゲーム時や投稿時にポイント付与され、それがECポイントとして利用できるようにしたい
⇒ECポイントは「easyPoints」を利用している
「自社サイト」内でゲームをしたり投稿をしたりしたらECサイトで利用できるポイントが付与される、という理解で合っているでしょうか?
詳細は確認していませんが、
https://lunaris.zendesk.com/hc/ja/articles/900006425923-API%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E6%A9%9F%E8%83%BD%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
EasyPointsもAPIを用意しているようですので、こちらを利用することで、可能かもしれません。
こちらのAPIでできそうですね。
https://easypoints-docs.netlify.app/ja/api/point-allotments.html#%E3%83%9B%E3%82%9A%E3%82%A4%E3%83%B3%E3%83%88%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%81%AE%E4%BD%9C%E6%88%90
⑥自社サイトの会員マイページでEC会員情報をすべて表示できなくても最低限
会員名、ポイント残高を表示したい
⇒ポイント残高は(ECポイント残高+自社サイトでの取得ポイント)
同様に、下記のEasyPointsのAPIでポイント残高を取得できそうです。
https://easypoints-docs.netlify.app/ja/api/point-balances.html#%E5%8D%98%E4%B8%80%E3%81%AE%E3%83%9B%E3%82%9A%E3%82%A4%E3%83%B3%E3%83%88%E6%95%B0%E3%81%AE%E5%8F%96%E5%BE%97
⑦ECサイト側へ自社サイトで取得したポイントがECポイントとして加算される
⇒会員マイページのポイント残高に追加されている(API)
⇒自社サイト会員マイページとECサイト会員マイページ それぞれでポイント残高がみれる
⑤に記載したAPIと⑥に記載したAPIを併用すれば、可能に思えました。
EasyPointsについてはアプリベンダー様にお問い合わせいただくのが間違い無いかと思いますので、EasyPointについての回答はあくまで参考程度にお考えください。
(Multipassに関する回答も、参考程度にお考えいただいた方が良いですが。)
ご参考まで。
(キュー田辺)