スマレジ・Square との会員情報双方向同期
レシートローラーの会員情報は、連携している POS(スマレジ・Square など)と 双方向で同期 されます。レシートローラー側で会員登録すると POS の会員マスタにも反映され、逆に POS で会員登録した情報もレシートローラーの CRM に取り込まれます。会員情報を二重管理する必要はありません。
本記事では、双方向同期の仕組み、同期される項目、タイミング、競合時の優先順位、対応 POS、設定方法をご案内します。
双方向同期とは
「双方向」とは、データが両方向に流れることを指します。
- レシートローラー → POS(アウトバウンド):アプリで会員登録したお客様の情報を POS の会員マスタに登録します。これにより、お客様が初めて来店された際に、POS スタッフが顧客特定を行えます
- POS → レシートローラー(インバウンド):POS で会員登録された情報をレシートローラーの CRM に取り込みます。これにより、店頭で会員登録したお客様にも、Wallet 会員証やプッシュ通知をお届けできます
同期される項目
- 会員番号:レシートローラーで発番された番号、または POS で発行された番号。どちらが先でも同じ番号で運用されます
- 氏名:姓・名(漢字・カナ両方に対応)
- メールアドレス
- 電話番号(E.164 形式に正規化)
- 会員ランク:一般・シルバー・ゴールドなど
- 誕生日(任意)
- ステータス:有効・退会済み・ブロック済みなど
来店履歴・購買履歴・累計購入金額などの行動データは、レシートローラー側で POS からのレシートデータをもとに集計するため、別途同期は不要です。
同期のタイミング
レシートローラー → POS
- 新規登録時:お客様がアプリで会員登録した瞬間に、POS への登録ジョブがキューに追加されます。通常数秒〜数分以内に POS 側に反映されます
- 情報更新時:お客様がアプリで連絡先・氏名・誕生日などを更新した際に、POS にも反映されます
- ランク変更時:店舗管理画面または購買履歴に基づいて会員ランクが変わった際に、POS の会員ランクも更新されます
POS → レシートローラー
- Webhook 経由(即時):POS が新規会員登録や更新を行うと、Webhook 経由で即座にレシートローラーに通知されます。数秒以内に CRM に反映されます
- 定期同期(バックアップ):Webhook が届かなかった場合に備えて、定期的に POS の会員マスタ全体を取得して差分を反映します(既定で1時間ごと)
競合時の優先順位
同じお客様の情報が両方で更新された場合、「より新しい更新日時のデータ」が優先 されます。たとえば:
- 10:00 にお客様がアプリでメールアドレスを更新
- 10:05 に POS で店舗スタッフが電話番号を更新
- → メールアドレスは 10:00 のアプリの値、電話番号は 10:05 の POS の値で確定されます
同時刻に更新された場合(ミリ秒単位で差がない場合)は、POS 側の値が優先されます。POS は店舗様の業務フローの中核であるため、POS 入力を尊重する設計です。
新規お客様のマッチング
POS で会員登録されたお客様がレシートローラーの CRM に取り込まれる際、既存のお客様と同一人物かどうかを自動でマッチング します。マッチングのキーは以下の順で確認されます。
- 会員番号(完全一致)
- メールアドレス(小文字化・前後空白除去後の完全一致)
- 電話番号(E.164 形式に正規化後の完全一致)
マッチした場合は既存お客様の情報を更新します。マッチしなかった場合は新規お客様として CRM に追加されます。
対応している POS
- スマレジ:会員マスタ・取引データの双方向同期に対応。Smaregi Platform API を使用
- Square:Customer Directory との双方向同期に対応。Square Customers API を使用
連携手順は別記事「Square POSの連携手順」「スマレジの連携手順」をご覧ください。それ以外の POS にも順次対応予定です。
POS ごとのフィールド対応
各 POS の会員フィールドがレシートローラーの顧客データ(CrmCustomerDto)のどのフィールドに対応するかは、POS 別の技術ドキュメントにまとめています。「うちのスマレジでは生年月日を登録しているのに RR 側に反映されない」といった疑問はこちらをご覧ください。
- スマレジ会員データのマッピング
- Square 顧客データのマッピング
- CrmCustomerDto リファレンス(開発者向け・正規モデルの全フィールド仕様)
設定手順
POS との連携が済んでいれば、会員情報の双方向同期は自動で有効になります。追加の設定は不要です。
同期を一時停止したい場合や、同期する項目を絞り込みたい場合は、店舗管理画面 →「POS連携」→「同期設定」から調整できます。
同期状況の確認
店舗管理画面の「POS連携」→「同期ログ」で、過去の同期履歴を確認できます。各エントリには以下が記録されます。
- 方向(レシートローラー → POS / POS → レシートローラー)
- 対象お客様の会員番号と名前
- 同期された項目(メール・電話・ランクなど)
- 結果(成功・失敗・スキップ)
- タイムスタンプ
失敗したエントリは、自動で最大3回までリトライされます。それでも失敗する場合は、原因(POS 側の認証エラー・データ形式エラーなど)がログに記録され、店舗管理画面の通知センターに表示されます。
トラブルシューティング
- POS で登録したお客様が CRM に反映されない:「同期ログ」で当該お客様の同期状況をご確認ください。Webhook が届いていない場合、POS 側の Webhook 設定をご確認いただくか、定期同期(1時間ごと)の次回タイミングをお待ちください
- 会員番号が POS と CRM で違う:双方向同期中に競合が発生した可能性があります。「同期ログ」の競合エントリをご確認ください。原則として、先に発番された番号が両方に保持されます
- POS の会員ランクが更新されない:POS 側の会員ランクの項目名がレシートローラーの想定と異なる場合があります。サポートチームまでご連絡ください
- 同じお客様が CRM に重複登録された:マッチングキー(会員番号・メール・電話)のいずれも一致しなかった場合、別人として登録されます。CRM 画面の「重複候補」から手動でマージしていただけます
注意事項
- POS 側で会員データを完全削除(物理削除)すると、レシートローラー側ではマッチング不能になります。POS では論理削除(無効化)を推奨します
- 大量データの初回同期(既存の数千〜数万件の会員データ)は、定期同期で順次処理されるため、完了まで数時間〜半日かかる場合があります
- POS 側の API のレートリミットにより、瞬間的に大量の更新を行うと一部の同期が遅延する場合があります
関連ヘルプ
-
顧客別の購入履歴(POS連携)CRM の顧客詳細画面から、お客様ごとの購入履歴をレシート単位で確認できます。POSレジから発行されたレシートが、会員番号やお客様のプロフィールに基づいて自動でひも付けられます。本記事では、購入履歴の見方、表示される条件、紙レシートとの違い、プライバシーの考え方、API 経由でのアクセスをご案内します。
-
売れ筋商品の可視化売れ筋商品を棚の位置ごとに可視化します。POSデータと棚割りを組み合わせて、どの位置の商品が売れているかを地図形式で把握する方法を説明します。
-
スマレジ商品データとレシートローラー商品データのマッピングスマレジの商品マスタがレシートローラーの商品マスタ(ProductDto)にどう変換されるかをフィールド単位で説明します。商品コード・商品名・カテゴリ・価格・原価・税率の対応関係と、Smaregi 固有の挙動をまとめています。
-
SquareのPOS連携設定SquareのPOSをレシートローラーと連携する手順を説明します。OAuth認証で簡単に接続でき、会計データがリアルタイムで同期されます。
-
レシートローラー会員番号の自動発番設定レシートローラーでは、お客様の会員番号を自動で発番できます。Wallet 会員証のバーコード、CRM の顧客マスタ、POS との連携にもこの番号が使われます。本記事では、会員番号の形式、プレフィックスと桁数の設定、発番のタイミング、既存番号への影響、フォーマット検証についてご案内します。