ログインユーザーに応じたアクセス可能な店舗の制御
現在Waiterのアプリを開発しているのですが、
ログインしたユーザーに応じて、所属している店舗のみの情報を取得できるように制御することを検討してます。
流れとしては、
①共通仕様の、ユーザー情報の取得(POST https://id.smaregi.dev/userinfo)で、ログインした自身のuser_idを取得
②POSのスタッフ一覧取得APIで、スタッフの一覧を取得し、user_idで該当するスタッフを取得
③POSのスタッフ取得APIで、②で取得したスタッフのstaff_idを使用して、スタッフの所属店舗をwith_stores=allで取得
を想定しています。
ここで、問題となるのが、
マイページのスタッフ管理で、Waiterアプリのみを有効にしてしまった場合(POSアプリを「利用しない」)に設定する場合、②の一覧には、該当するスタッフが表示されないので、user_idからアクセス可能な店舗を取得する手段がなくなってしまいます。
理想としては、
ログインしたユーザーのuser_idが、
・Waiterアプリが有効かどうか
・アクセス可能な店舗
が取得できることが望ましいのですが、そのような方法はございますでしょうか?
(共通仕様にuser_idを基に、そのユーザーの権限を取得できるようなAPIか、Waiter APIの店舗のスタッフ一覧取得のレスポンスにuser_idがあると、一番望ましいのですが・・・)
また、所属店舗は、POSアプリと、Waiterアプリで同期しているのかどうかも気になります。もしそれぞれ独立しているのであれば、現状、Waiter向けのアプリで、ログインユーザーがWaiterでどの店舗に所属しているのか取得する手段がないように思われます。
ベストアンサー
-
ログインしたユーザーのuser_idからWaiterのみの利用の有無、取扱店舗を確認することは出来かねます。
こちらについて時期は未定ですが、今後の対応を検討させていただきます。
現状APIで制御できないため、ユーザー側で「スタッフ登録するときにPOSとwaiterどちらも有効にして、waiterのみ利用の場合はPOS管理画面>スタッフ>スタッフ一覧にてスタッフ表示フラグ:表示しないに設定」する運用をご検討ください。
また、POSとwaiterでスタッフの取扱店舗が連動しているかというご質問については、waiter管理画面>スタッフ>スタッフ一覧>該当スタッフ>「スマレジ・POS連携:する/しない」の設定により変わります。
上記が「する」になっていた場合、waiter→POSへ連動するため、waiterで更新を行ったスタッフの取扱店舗の情報はPOSに連動します。
(上記の設定に関わらず、POS→waiterへは連動しません)
答え
ご回答ありがとうございます。
ご提案の運用方法で回避することを検討いたします。