FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

オリジナルサービスと連動したshopifyの構築について

オリジナルサービスと連動したshopifyの構築について

gottsuan
訪問者
1 0 0

会員制のサービスのアカウントと連携してshopifyでECサイトを構築したいと考えております。
現状以下の仕様で構築を考えいるのですが、どなたか実現可否についてわかる方はいらっしゃいますでしょうか?

 

▼限定ECについてのシステム仕様

背景:ECとは別に会員制サービスを提供している。
会員種別は無料会員とサブスク会員がいる
会員制サービスのユーザーアカウントを軸にECサイト運用を考えたい。(限定など)

概要:サービス会員のみが利用できるAndroid、iosアプリからWebViweでShopifyを利用したい。
もしくはフロントはネイティブでカスタマイズ実装し、バックエンドのみshopifyを利用したい。
※サービス会員限定ECサイトのようなもの

要件
①会員制のサービス側のアカウントを利用してshopifyを利用できるか?
※ECサイト利用するために、別途アカウント登録をユーザーにはさせないようにしたい。
②会員制アプリにログインしていれば、WebViweを開いても再度ログインする必要がないようにしたい。
③①が可能な場合、サブスク会員限定クーポンの発行は可能か
④サービス会員限定のクローズドなECとしてアプリからのWEB viewは可能だが、WEBブラウザからは観られないようにしたい
⑤決済情報はサブスク会員決済のカード情報でいけますか?
→会員制アプリのユーザーIDで決済会社に請求を行える場合は可能だが、それが可能かどうか。

1件の返信1

junichiokamura
Community Manager
1201 280 509

> 概要:サービス会員のみが利用できるAndroid、iosアプリからWebViweでShopifyを利用したい。
> もしくはフロントはネイティブでカスタマイズ実装し、バックエンドのみshopifyを利用したい。
> ※サービス会員限定ECサイトのようなもの

このような実装は、Storefront APIを使うことになりますが、独自にWebViewで表示することはサポートされていません。最後の決済画面はStorefront APIがレスポンスで返すURLにリダイレクトさせる形で行います。

https://shopify.dev/docs/storefront-api/getting-started

https://shopify.dev/docs/storefront-api/reference/checkouts/checkoutcreate

また、ショップオリジナルのネイティブアプリを簡単に生成できるアプリが日本のパートナーが公開されているので、それらを利用する、または開発元にカスタマイズを相談するのも手かと思います。

https://apps.shopify.com/appify?locale=ja

https://apps.shopify.com/shopify-application-100?locale=ja


会員制のサービス側のアカウントを利用してshopifyを利用できるか?

Multipassという機能を使えばできますが、利用には、Shopify Plusという特別プランの契約が必要です。

https://shopify.dev/docs/admin-api/rest/reference/plus/multipass

https://qiita.com/syantien/items/b03307b70c38dbd61130

Plusを使わない場合、Storefront APIのCustomer creationと、Customer Token Creationを使って実装できますが、IDとパスワードはAPIを使うアプリのシステムで生成するため、セキュリティ的にそれが許容範囲かは確認する必要があります。(OAuthのような仕組みではなくて、アカウント作成とログインを代理で行うフローなので、ユーザーがログインした後、自分でパスワードを変えると次から会員ログインできないなどの問題が起こります)。

https://shopify.dev/docs/storefront-api/reference/customers/customercreate

https://shopify.dev/docs/storefront-api/reference/customers/customeraccesstokencreate


会員制アプリにログインしていれば、WebViweを開いても再度ログインする必要がないようにしたい。

これの実現にはMultipassが必要かと思います。ただし、Storefront APIで決済以前の部分をネイティブアプリで実装すれば、メールアドレスや配送先情報を全てShopifyに渡せるので、Shopifyの会員登録自体を利用せず実現できると思います。(Shopify上はゲスト購入であっても会員登録したデータと同じ顧客情報として扱われます)

つまり、ログインやカート部分はShopifyは使わず、会員ログインさせるのはショップのネイティブアプリとして、Shopify上は会員情報と同じ情報を渡したゲスト購入とさせる。(最後の決済プロセスだけに使う)

> ①が可能な場合、サブスク会員限定クーポンの発行は可能か

クーポン作成時に特定グループの顧客限定が設定できるので、グループの条件に特定タグを指定して、Steofront APIでCustomer Create する時に特定タグを埋め込めば可能かと思います。(その意味ではやはりCustomer Createした方が良いかもですね)

https://help.shopify.com/ja/manual/customers/manage-customers

ちなみに、作成したCustomerにチェックアウトを紐付けるAPIは以下です。

https://shopify.dev/docs/storefront-api/reference/checkouts/checkoutcustomerassociatev2

サービス会員限定のクローズドなECとしてアプリからのWEB viewは可能だが、WEBブラウザからは観られないようにしたい

WebViewとの判定でしたら、テーマにUA判定の処理を独自に入れる必要がありますが、前述の通り独自にWebView実装するのはサポート外(WebViewはサポートブラウザに入っていない)のでお勧めしません。 簡単は方法は、管理画面の設定の販売チャネルを開いて、「Online Store」の削除ボタンを押して、デフォルトチャネルであるオンラインストア自体を削除します。そうすると通常のECサイト自体が存在しないというエラーになりますが、Storefront API経由のURLで開いた時はちゃんと表示され購入できます(Steofront API自体が別の販売チャネルであるため)。

オンラインストアは、再び販売チャネルの追加で元に戻すことも可能です。

決済情報はサブスク会員決済のカード情報でいけますか?

できません。APIの利用規約で、Shopify以外の決済手段を使うことは一般的には禁止されています。
https://www.shopify.com/legal/api-terms

 

Senior Partner Solutions Engineer