このプロジェクトについて
複数のECサイトを運営したい場合、通常はサイトごとに別々のShopifyアカウントが必要です。しかし、商品データや在庫を複数のアカウントで管理するのは大変です。
このプロジェクトでは、1つのShopifyで複数のサイトを運営する仕組みを設計しました。商品データは一元管理しつつ、サイトごとに表示する商品を制御できます。
課題
- 複数のShopifyアカウントを管理するのは手間がかかる
- 同じ商品を複数のアカウントに登録すると、データの不整合が起きやすい
- 在庫を共有したいが、サイトごとに表示商品を分けたい
解決策
Shopifyの販売チャネル機能を活用しました。1つのShopifyアカウント内に複数のチャネルを作成し、チャネルごとに「どの商品を公開するか」を設定します。
各サイト(Next.jsアプリ)は、対応するチャネル専用のAPIトークンを使ってShopifyに接続します。これにより、チャネルで公開されている商品だけが表示されます。
メリット
- 商品データの一元管理: 1つの管理画面ですべての商品を管理
- 在庫の共有: 在庫数は共通、売れたら自動で減る
- サイトごとの商品制御: 本店には全商品、アウトレットには特定商品のみ、など
- 運用コスト削減: 複数アカウント不要
詳しく知りたい方へ
構成図
Shopify管理画面
商品マスター
全商品データを一元管理(在庫・価格・画像)
チャネル分岐
チャネルA(本店)
全商品公開
チャネルB(アウトレット)
一部商品
各サイト(Next.js)
本店サイト
チャネルAの商品のみ表示
アウトレットサイト
チャネルBの商品のみ表示
使用技術
- Shopify 販売チャネル
- Shopify Storefront API(チャネル別トークン)
- Shopify Admin API(商品・在庫管理)
- Next.js(複数サイト)