スマレジ・デベロッパーズ・コミュニティはアーカイブされました。


これまでに投稿いただいた内容は引き続きご覧いただけます。

今後のお問い合わせはこちら

従業員事業所について

OECOEC
カテゴリ: Timecard

お世話になります。

各従業員の所属事業所を取得したいと思い、

「従業員事業所取得」

https://api.smaregi.jp/{contract_id}/timecard/staff_stores?store_id={store_id}

のリクエストをしたのですが、

複数の事業所に所属している従業員が50名超出てきました。


おかしいと思い、

https://api.smaregi.jp/{contract_id}/timecard/staff_stores?store_id={store_id}&active=1

でリクエストすると、

type=about:blank, title=Internal Server Error, detail=予期せぬエラーが発生しました

というエラーが発生します


また、

おかしいと思ったstaffIDで従業員取得

https://api.smaregi.jp/{contract_id}/timecard/staffs/{staff_id}

を実行してみたところ、

staffStoreには、1件しかありません。


各従業員の所属事業所を知るためには、

各個人ごとに従業員データを取得するしか方法が無いのでしょうか?

答え

  • 追記

    仕様書が間違っているようです

    active=1 → activeFlag=1 としたところ、

    リクエストは成功しましたが、

    結果としてはstore_idのみで実行した場合と同じでした

  • 「従業員事業所取得」

    https://api.smaregi.jp/{contract_id}/timecard/staff_stores?store_id={store_id}

    上記にて、リクエストを行っていただいた場合、

    指定した事業所ID(store_id)に所属した従業員が一覧で表示されます。タイムカード管理画面にて、

    「事業所 > 該当の事業所名を選択 > 所属」と同様の情報になるかと存じます。

    従業員ID(staff_id)で指定いただいた場合は、

    従業員ごとに所属事業所のレスポンスが返ってまいりますので、

    タイムカード管理画面の「従業員 > 該当の従業員名を選択 > 所属」のデータが取得できるようになるかと存じます。


    レスポンスデータと、管理画面の情報を見比べていただき、おかしなデータが返ってきている場合、

    具体的にどのようにおかしいかお伺いできますでしょうか。

    (またどのようなデータの取得をご希望かなども併せてお伺いできればと思います)


    「従業員取得」

    https://api.smaregi.jp/{contract_id}/timecard/staffs/{staff_id}

    上記で従業員IDを指定し、リクエストを行った場合、

    該当の従業員が複数事業所に所属している場合は以下のようにレスポンスが返るはずなのですが、

    該当の従業員さまは複数事業所に所属しておりますでしょうか。

    ≪レスポンス抜粋≫

    "staffStore": [
            {
                "storeId": "1"
            },
            {
                "storeId": "2"
            }
        ]
    


    仕様書が間違っているようです

    active=1 → activeFlag=1 としたところ、

    リクエストは成功しましたが、

    結果としてはstore_idのみで実行した場合と同じでした。

    お申し出の現象が検証用アカウントでも再現しましたので、

    こちらは開発部署で確認させていただければと存じます。

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

  • OECOEC
    August 2021 編集されました

    わかりづらかったようですみません

    「従業員取得」

    https://api.smaregi.jp/{contract_id}/timecard/staffs/{staff_id}

    で取得した際、

    "staffStore": [
            {
                "storeId": "4"
            }
        ]
    

    と、1つしか所属が無いのですが、

    「従業員事業所取得」

    https://api.smaregi.jp/{contract_id}/timecard/staff_stores?store_id={store_id}

    を使って、store_id=2と、store_id=4でデータを取得すると、

    両方の結果に出てくるのです。

    ※ちなみに、この従業員は、

    タイムカード管理画面の「事業所(store_id=2)> 該当の事業所名を選択 > 所属」

    には載っていません。


    従業員の所属を含めた一覧表が欲しいのですが、

    今の状態では「従業員取得」で、従業員1名ずつリクエストをしなければならず、

    400回近く繰り返しが必要なので、

    「従業員事業所取得」で同じことが出来ないのですか?

    と聞いております。


    「従業員一覧取得」

    https://api.smaregi.jp/{contract_id}/timecard/staffs

    で取得できるデータには、staffStoreの情報が入っていないので、

    他の方法で実現可能であれば、教えてください。


    私が欲しいのは

    staffId,staffName,staffCode,staffStore が揃ったデータです。


    よろしくお願いいたします。

  • @OEC

    ご返信ありがとうございます。「従業員取得」「従業員事業所取得」で返却されるデータが違うとのことですね。

    その場合恐れ入りますが、詳しく確認させていただきたいので、以下の情報をお聞かせくださいませ。

    ・契約ID

    ・リクエスト内容

    -「従業員取得」

    -「従業員事業所取得」

    ・レスポンスデータ

    -「従業員取得」

    -「従業員事業所取得」

    ・該当の従業員ID

    ・本番環境か、サンドボックス環境かどうか

    ・本番環境の場合、利用者の契約ID

    下記情報は本番環境であればユーザーさまに確認する必要があるため可能であればで結構です。

    ・アカウントID

    ・ワンタイムパスワード

    ※管理画面右上の白い三本線ボタンをクリックし、「マイアカウント」画面より確認ができます。※こちらは個人情報が含まれている場合もございますので、その際はメッセージ機能を利用してお送りいただければと存じます。


    また、staffId,staffName,staffCode,staffStoreが抽出できるかに関しては

    現在確認中となりますので、恐れ入りますがお待ちくださいますようお願いいたします。 

  • お世話になります。

    23日に中谷様宛のDMにて、アカウント情報やレスポンスデータなど

    送らせていただきましたので、

    よろしくお願いいたします。

  • @OEC

    DMで情報をお送りいただきありがとうございます。

    active=1 → activeFlag=1 としたところ、

    リクエストは成功しましたが、

    結果としてはstore_idのみで実行した場合と同じでした

    activeパラメーターが正しく返却されない件に関しては不具合との確認ができました。

    ご不便をおかけして申し訳ございません。現状、「activeFlag」で指定してもレスポンスは返ってくるのですが、

    利用設定 [0:利用しない,1:利用する]で指定したデータとしてデータが返却されません。ご不便をおかけして申し訳ございません。

    こちら8月末ごろに修正となりますので修正完了までお待ちいただければと思います。



    該当の従業員が所属していない事業所である「store_id=2」にて、

    結果が返ってくる件に関しては開発部署で詳しく確認したのちご連絡させていただきます。


    従業員人数が多いため、従業員IDで指定せずに

    staffId,staffName,staffCode,staffStore が揃ったデータが取得できるかどうかという件に関しても、

    合わせて確認中になりますので恐れ入りますがお待ちくださいますようお願いいたします。


    恐れ入りますが、確認完了までお待ちくださいませ。

  • @OEC

    該当の従業員が所属していない事業所である「store_id=2」にて、

    結果が返ってくる件に関して調査したところ、

    一度でも所属したことのある従業員がレスポンスとして返ってくる不具合があることが判明いたしました。


    したがって、従業員人数が多いため、従業員IDで指定せずに

    staffId,staffName,staffCode,staffStore が揃ったデータが取得できるかどうかという件に関しても、

    現状は実施することができません。ご不便をおかけして申し訳ございません。


    修正時期は調整中となりますが、修正完了後またご連絡させていただければと存じます。

  • @OEC

    activeパラメーターが正しく返却されない件に関しては、弊社での修正が完了しております。

    ご不便をおかけして申し訳ございません。

    引き続き、もう一件の修正も完了しましたらご連絡いたしますのでよろしくお願いいたします。

  • すみません

    修正したというクエリパラメータの「active」とは、仕様書では

    利用設定 [0:利用しない,1:利用する]

    となっていますが、

    どの項目を指しているのでしょうか?


    レスポンスの中にあるスタッフのactiveFlag

    ユーザーの有効性[0:無効, 1:有効]

    のように思えますが、違うのでしょうか?


    また、

    クエリパラメータに無いものをパラメータに加えても、何のエラーも返さないようです。

    クエリパラメータに

    &activeFlag=1

    &activeFlag=0

    &activeFlag=33

    &activeFla=0 (Flagのgを抜いている)

    の4種を入れて試してみましたが、有っても無くても結果は同じでした。

  • @OEC

    修正したというクエリパラメータの「active」とは、仕様書では

    利用設定 [0:利用しない,1:利用する]

    となっていますが、どの項目を指しているのでしょうか?

    こちらは、タイムカード管理画面の「従業員」にて該当の従業員を選択いただいた際の利用設定の項目になります。

    利用設定

    利用する:打刻を行ったり給与明細の作成ができる

    利用しない:過去の勤怠情報など、従業員のデータは保持しつつ、従業員の上限数には含まれない


    レスポンスの中にあるスタッフのactiveFlag

    ユーザーの有効性[0:無効, 1:有効]

    のように思えますが、違うのでしょうか?

    リクエストパラメータ名「active」及び、レスポンス「activeFlag」は同じ項目になります。

    ややこしいのですが、項目は同じ『利用設定』で項目名が違う状態です。

    ※今後、項目名は整える予定となります


    また、クエリパラメーターを「activeFlag」や「activeFla」にしても

    きちんとレスポンスが返ってくるのは、利用中かどうかを無視しているためとなります。

    エラーは出ませんが『利用設定』のデータはきちんと取得できておりません。


    したがって、リクエストを行う際には「active」としてリクエストを行ってください。

  • @OEC

    該当の従業員が所属していない事業所である「store_id=2」にて、

    結果が返ってくる件に関して調査したところ、

    一度でも所属したことのある従業員がレスポンスとして返ってくる不具合があることが判明いたしました。

    こちら11/24のリリースで修正済となります。

    本件に関してご不便をおかけして申し訳ございませんでした。

    以上、ご確認をお願いいたします。