Webhookで送信されるstaffIdとPOS管理画面のIDが異なる

October 2022 編集されました カテゴリ: POS

POS管理画面>新規スタッフ登録ページ(https://www1.smaregi.dev/control/master/staff/edit.html)からスタッフを登録をすると正常なstaffIDが送られてくるようですが

ホーム>スタッフ管理>新規スタッフ作成ページ(https://home.smaregi.dev/users/add)からサービス設定 POS/WAITER/TIME CARDを利用するを選択して作成をするとWebhookより送られてくるIDが2ずれます。

例: Webhookのbody.staffIds: [ ['19'] ] の場合は実際のPOS管理画面>スタッフ一覧に表示される作成したスタッフのIDが17


現在プライベートアプリを作成しているのですがevent: pos:staffs', action: 'created' で自前のDBにデータを登録したいと思っており、当たり前ですがWebhookのbody.staffIdの値で /pos/staffs/{新規作成したstaffId} を指定して取得しようとしても存在しないので404となります。

念の為に何回かスタッフ登録とPOSのスタッフIDの確認を試してみたのですが等しく2ずれます。

お忙しいところ申し訳ありませんがご確認をいただけないでしょうか。

ベストアンサー

  • @takapon

    スタッフを登録する際、POS管理画面スタッフ管理画面それぞれでスタッフのIDが採番されます。

    どちらの画面から登録した場合もスタッフWebhookで通知されるIDはPOS管理画面のスタッフIDであるべきですが、

    スタッフ管理画面より登録した際、スタッフ管理画面のIDが通知されてしまう不具合が発生していることを確認しました。

    ご迷惑をおかけし、誠に申し訳ございません。


    本不具合について、修正時期は検討中となりますので、

    修正対応が完了しましたらこちらのスレッドでご報告させていただきます。


    修正完了までご不便をおかけしますが、どうぞよろしくお願いいたします。

  • @takapon

    ご要望もありがとうございます。開発担当へ申し伝えます。

    どうぞよろしくお願いいたします。

答え

  • この現象が起こるきっかけが分かったと思うので追記いたします。

    ホーム>スタッフ管理>新規スタッフ作成ページ(https://home.smaregi.dev/users/add)のサービス設定でPOSを利用しないを選択して新しいスタッフを作成した後に、そのスタッフを削除する度にPOSのstaffIdが1ずつずれていくようです。また、POSを利用しないを選択したスタッフにも関わらず、そのスタッフを削除したタイミングでevent: 'pos:staffs', action: 'deleted', staffIds: [ [ 'POSのスタッフ一覧ページに表示されていないstaffId' ] ] がWebhookで飛んできます。

    上記のような操作をする可能性は低いと思われますが、現にできてしまっておりますのでその度に新規スタッフ作成(https://home.smaregi.dev/users/add)からサービス設定>POSを利用するが選択された後に飛んでくるWebhook(event: pos:staffs', action: 'created')のstaffIdがずれるのは、ちょっといかがかなと思われるのですが、一度ご確認いただけないでしょうか。

    お手数をおかけいたしますがよろしくお願いいたします。

  • ご確認いただけましてありがとうございます。

    追加の要望となってしまい恐縮ですがPOS Timecard Waiterで現在は別々のIDが割り当てられておりますがEmail・電話番号・共通かつ一意の識別できるUUIDのようなものがあってそれらでqueryできればより柔軟になるかと思います。

    これからもどうぞよろしくお願い申し上げます。

  • @takapon

    スタッフを登録する際、POS管理画面スタッフ管理画面それぞれでスタッフのIDが採番されます。

    どちらの画面から登録した場合もスタッフWebhookで通知されるIDはPOS管理画面のスタッフIDであるべきですが、

    スタッフ管理画面より登録した際、スタッフ管理画面のIDが通知されてしまう不具合が発生していることを確認しました。

    上記不具合の修正が完了しました。

    現在は正しいIDが返ってきているかと思いますので、ご確認お願いします。

    ご迷惑をおかけし、申し訳ございませんでした。


    また、POS Waiter Timecard で共通の項目を、というご要望についてですが、

    共通な項目として user_idがございます。(スタッフ管理画面で付与されたスタッフのID)

    こちらはユーザー情報取得APIを利用して取得することが可能です。詳細はこちらの仕様書をご確認ください。

    ※現在 user_idでスタッフの取得ができるのはPOSのみですが、今後機能追加していく予定です。