このトピックについて
オンラインストアとリアル店舗の両方で顧客を一元管理するため、ヘッドレスサイト(Shopify)とPOSシステム(スマレジ)の間で顧客データを自動同期する仕組みを構築しました。
これにより、オンラインで会員登録した顧客が、店舗でもすぐにポイントを貯められるようになります。
なぜ自動同期が必要なのか
手動連携の問題点
オンラインと店舗で別々に顧客管理をしていると、以下の問題が発生します。
| 問題 | お客様への影響 | 運営側への影響 |
|---|---|---|
| 二重登録 | 同じ情報を2回入力 | データ重複、管理が煩雑 |
| 情報の不整合 | どちらが最新かわからない | 顧客対応でミスが発生 |
| ポイント分散 | チャネルごとにポイントが分かれる | クレーム対応が増える |
| 手作業の負担 | 反映に時間がかかる | 人的コストと入力ミス |
自動同期で解決できること
- オンライン登録と同時に店舗でも会員として認識
- 情報変更が自動で全システムに反映
- ポイントがチャネルを横断して利用可能
同期アーキテクチャの全体像
必要情報を入力して送信ボタンをクリック
一時処理のみ。データ検証とAPI呼び出し
基本情報 + メタフィールドを保存
メールで既存顧客をチェック → 既存あり: 会員番号更新 / 既存なし: 新規作成
営業・マーケティング用途(オプション)
ウェルカムメールを送信して登録完了
設計のポイント
同期は同期処理で行う
本プロジェクトでは、登録完了時点で全システムへの同期を完了させる設計を採用しました。
エラー時のフォールバック
一部の同期が失敗しても、メインの登録(Shopify)は成功させる設計です。
顧客マスターとして最優先で登録
成功 → 登録完了 / 失敗 → Shopify登録は維持、エラーログ記録、管理者通知、後で手動再同期
詳しく知りたい方へ
この同期アーキテクチャを3つの記事で詳しく解説しています。
1. 登録時の自動同期
会員登録時に複数システムへ自動的にデータを連携する具体的な仕組みを解説します。
→ 登録時の自動同期
2. 重複防止の仕組み
既存の店舗会員がオンラインで新規登録した場合に、重複を防いで正しく紐付ける方法を解説します。
→ 重複防止の仕組み
3. 同期のON/OFF制御
環境変数で同期の有効/無効を切り替えられる設計について解説します。
この同期で実現できること
お客様にとって
- オンライン登録だけで店舗でもすぐに会員として利用可能
- 情報変更は一度で全チャネルに反映
- どこで買っても同じポイントが貯まる
運営側にとって
- 手作業でのデータ入力が不要
- データの不整合によるトラブルが減少
- 顧客データの一元管理が実現