Smaregi・Square 與會員資訊的雙向同步

POS連動 Smaregi Square 會員資訊同步 雙向同步 會員編號 CRM

ReceiptRoller 的會員資訊與連動的 POS(Smaregi・Square 等)雙向同步。在 ReceiptRoller 端登錄會員時,也會反映到 POS 的會員主檔;反之在 POS 登錄的會員資訊,也會匯入至 ReceiptRoller 的 CRM。不需要重複管理會員資訊。

本文說明雙向同步的機制、同步項目、同步時機、衝突時的優先順序、支援的 POS、設定方式。

什麼是雙向同步

「雙向」指資料朝兩個方向流動。

  • ReceiptRoller → POS(outbound):將透過應用程式登錄會員的顧客資訊,登錄至 POS 的會員主檔。如此一來,顧客首次來店時,POS 收銀人員即可辨識該顧客
  • POS → ReceiptRoller(inbound):將在 POS 登錄的會員資訊,匯入至 ReceiptRoller 的 CRM。如此一來,在店頭登錄會員的顧客,也能收到 Wallet 會員證或推播通知

同步項目

  • 會員編號:ReceiptRoller 發行的編號,或 POS 發行的編號。無論哪一方先發行,都會以相同編號運作
  • 姓名:姓・名(支援漢字與拼音兩種)
  • 電子郵件地址
  • 電話號碼(正規化為 E.164 格式)
  • 會員等級:一般・銀卡・金卡等
  • 生日(選填)
  • 狀態:有效・已退會・已封鎖等

來店紀錄、購買紀錄、累計購買金額等行為資料,因為 ReceiptRoller 端會統整彙總來自 POS 的收據資料,所以不需要另外同步。

同步時機

ReceiptRoller → POS

  • 新登錄時:顧客在應用程式完成會員登錄的瞬間,會將登錄工作加入 POS 端的佇列。通常在數秒到數分鐘內反映至 POS 端
  • 資訊更新時:顧客在應用程式更新聯絡方式、姓名、生日等時,也會同步反映至 POS
  • 等級變更時:因店舖管理畫面或購買紀錄變更會員等級時,POS 的會員等級也會同步更新

POS → ReceiptRoller

  • 透過 Webhook(即時):POS 進行新會員登錄或更新時,會透過 Webhook 立即通知 ReceiptRoller。通常數秒內即可反映至 CRM
  • 定期同步(備份):為因應 Webhook 未送達的情況,會定期取得 POS 的整個會員主檔並反映差異(預設每 1 小時一次)

衝突時的優先順序

當同一位顧客的資訊在兩端同時被更新時,會以「較新更新日期時間的資料」為優先。例如:

  • 10:00 顧客在應用程式更新電子郵件地址
  • 10:05 POS 端店舖人員更新電話號碼
  • → 電子郵件地址以 10:00 應用程式的值、電話號碼以 10:05 POS 的值確定

若同時更新(毫秒單位無差異的情況),則以 POS 端的值為優先。由於 POS 是店舖業務流程的核心,設計上尊重 POS 的輸入。

新顧客的比對

當在 POS 登錄的顧客匯入 ReceiptRoller 的 CRM 時,會 自動比對是否為既有顧客的同一人。比對的鍵值依以下順序確認。

  1. 會員編號(完全一致)
  2. 電子郵件地址(小寫化・前後去除空白後的完全一致)
  3. 電話號碼(正規化為 E.164 格式後的完全一致)

若比對成功,會更新既有顧客的資訊。若未比對成功,則作為新顧客加入 CRM。

支援的 POS

  • Smaregi:支援會員主檔・交易資料的雙向同步。使用 Smaregi Platform API
  • Square:支援與 Customer Directory 的雙向同步。使用 Square Customers API

連動步驟請參閱另一篇文章「Square POS 的連動步驟」「Smaregi 的連動步驟」。其他 POS 也預計依序支援。

各 POS 的欄位對應

各 POS 的會員欄位對應 ReceiptRoller 顧客資料(CrmCustomerDto)的哪個欄位,已彙整於各 POS 的技術文件中。若有「我們的 Smaregi 明明有登錄出生年月日,卻沒有反映到 RR 端」之類的疑問,請參閱以下文章。

設定步驟

只要完成與 POS 的連動,會員資訊的雙向同步就會自動啟用。不需要額外設定。

若想暫停同步,或想篩選同步項目,可從店舖管理畫面 →「POS連動」→「同步設定」進行調整。

確認同步狀態

在店舖管理畫面的「POS連動」→「同步紀錄」,可確認過去的同步紀錄。每筆紀錄會記載以下資訊。

  • 方向(ReceiptRoller → POS / POS → ReceiptRoller)
  • 目標顧客的會員編號與姓名
  • 同步的項目(郵件・電話・等級等)
  • 結果(成功・失敗・跳過)
  • 時間戳記

失敗的紀錄會自動重試最多 3 次。仍然失敗時,原因(POS 端的驗證錯誤、資料格式錯誤等)會記錄於日誌中,並顯示於店舖管理畫面的通知中心。

疑難排解

  • 在 POS 登錄的顧客未反映到 CRM:請於「同步紀錄」確認該顧客的同步狀態。若 Webhook 未送達,請確認 POS 端的 Webhook 設定,或稍候定期同步(每 1 小時一次)的下次時機
  • 會員編號在 POS 與 CRM 不一致:雙向同步過程中可能發生衝突。請於「同步紀錄」確認衝突紀錄。原則上,先發行的編號會在雙方保留
  • POS 的會員等級未更新:POS 端的會員等級項目名稱有時與 ReceiptRoller 預期的不同。請聯絡支援團隊
  • 同一位顧客在 CRM 中重複登錄:若比對鍵值(會員編號・郵件・電話)皆不一致,會作為不同人登錄。請從 CRM 畫面的「重複候選」手動合併

注意事項

  • 若在 POS 端完全刪除(實體刪除)會員資料,ReceiptRoller 端將無法進行比對。建議在 POS 端使用邏輯刪除(停用)
  • 大量資料的首次同步(既有數千至數萬筆會員資料)會依序透過定期同步處理,完成可能需要數小時至半天
  • 因 POS 端 API 的速率限制,若瞬間進行大量更新,部分同步可能會延遲

相關說明

發布日期: 2026-05-25 更新日期: 2026-07-02
相關文章