LanguageEnglish日本語

構成

  • スマレジの管理画面にアプリのアイコンが並び、押すと本アプリ(apps.orosy.com/smaregi)へ遷移します(iframe 埋め込みはしません)
  • スマレジとの認証: 認可コード方式の OAuth 2.0 + OpenID Connect。リダイレクト URI は apps.orosy.com/smaregi/oauth/callback
  • 利用者契約通知先: apps.orosy.com/smaregi/notify(契約の開始・終了を受け取り、終了時は接続情報を削除。通知の取りこぼしに備え、定期的に契約の状態を API で突き合わせます)
  • Webhook: 使用しません

画面の操作と呼び出す API

  • 接続 — OAuth(authorization_code)・店舗の一覧(在庫を足す店舗を決める)
  • ショップに載せる — 商品の登録・更新・登録済み確認(非表示で登録。販売価格は税抜。軽減税率は設定で有効にしたときだけ)
  • 載せた商品の一覧・削除 — 商品の参照・削除(削除は確認画面のあと)
  • 入荷を在庫に反映 — 在庫の加算(確保が確定した数量だけ。同じ注文の同じ明細は 1 回しか足さない)
  • 自動同期 — 仕入元 orosy の在庫を確認するだけ。スマレジ側は非表示にする設定のときだけ商品の表示状態を更新

データフロー

  1. 店主がスマレジの認可を承認 → アクセストークンを暗号化して保存
  2. 店主が orosy にログイン → orosy の API キーを発行し暗号化して保存(承認済みアカウントのみ商品と卸価格を表示)
  3. 商品の登録・在庫の加算は、店主の操作をきっかけにサーバー側からスマレジ API を呼び出す
  4. 契約終了の通知を受けたら、トークン・orosy の認証情報・配送先を削除

失敗時の扱い

  • 一括登録は 1 件ずつ順に送り、失敗した商品は商品名と理由を画面に出して「もう一度載せる」を提供
  • 在庫の加算で応答が確認できなかった場合は「足したことにして止め」、店主に在庫の確認を促す(二重加算より不足側に倒す)

セキュリティ

  • 秘密情報(トークン・API キー)は AES-256-GCM で暗号化して保存。ブラウザには渡さない
  • スマレジ API の呼び出しはサーバー側の専用モジュールに限定(CI で境界を検査)
  • 全テーブルで行レベルセキュリティを有効化。店舗ごとにデータを分離
  • HTTPS のみ。Cookie は HttpOnly・Secure・SameSite=Lax

関連資料: orosy Wholesale アプリ説明資料orosy Wholesale 動作マニュアルサポート