この記事について
ネットワーク障害やAPI制限により、同期が失敗することは避けられません。そのため、エラー時のリカバリー方法を設計しておく必要があります。エラーパターンと対処方法を解説します。
同期失敗の種類
エラーパターンの分類
エラーパターンと対策
パターン1: POS API接続エラー
接続エラー時の対応方針
Shopify登録は成功させる
メインの登録処理は維持
POS同期をスキップ
エラーログを記録し、管理者に通知
後で再同期
手動または自動で再同期を実行
顧客への影響: オンラインでは通常通り利用可能。店舗利用は「少しお待ちください」と案内
パターン2: データ形式エラー
データエラー時の対応方針
エラー詳細をログに記録
どのフィールドが問題かを特定
自動修正を試行
可能なら修正して再試行 / 無理なら管理者に通知
パターン3: 重複エラー
重複エラー時の対応方針
既存顧客との紐付けを試みる
メールアドレスで既存顧客を検索
紐付け結果
成功 → 既存顧客の会員番号を更新 / 失敗 → 重複の可能性を記録
管理者が確認・マージ
ポイント残高の合算、購買履歴の統合、古い方のレコードを無効化
リカバリーの仕組み
自動リトライ
エクスポネンシャルバックオフ: 待ち時間を2倍ずつ増やすことで、サーバーへの負荷を軽減
未同期データの管理
管理画面での確認方法:
- 「POS同期失敗」でフィルタリング
- エラー内容の確認
- 「再同期」ボタンで再試行
管理者向けツール
同期ステータス確認
操作: 「未同期を一括再同期」ボタンで対象を一括処理
再同期機能
対象選択
未同期の顧客を一覧から選択(個別または一括)
再同期実行
「再同期」ボタンで同期処理を再実行
結果確認
成功/失敗の結果を確認
継続対応
まだ失敗する場合はエラー詳細を確認して対応
エラーログの設計
記録すべき情報
ログの例
監視とアラート
アラート条件
ダッシュボード
エラー推移: 時系列でエラー発生件数をグラフ表示し、傾向を把握
直近のエラー: 10:30 接続エラー 1件 → 自動リトライで解消
この設計がもたらす効果
可用性
- 一部のエラーがあっても全体のサービスは継続
- 自動リトライで一時的な障害から回復
- 手動対応が必要な場合も迅速に把握
運用効率
- エラーの自動検知と通知
- 管理画面から簡単に再同期
- 原因調査のためのログが充実
顧客体験
- エラーがあっても基本的なサービスは継続
- 問題解決までの時間を最小化
- 透明性のある状況報告が可能