タイムカード「日別勤怠(事業所別合計)取得」APIにおいて、データが一件しか返らない

January 2021 編集されました カテゴリ: Timecard

タイムカード「日別勤怠(事業所別合計)取得」APIについて、店舗で日毎に働いた全ての従業員の勤怠の詳細を返すAPIとなっていますが、試していたところ、店舗一つにつき一人分の勤怠しか返さない誤った挙動となっているようです。


APIはこのように呼んでいます:https://api.smaregi.dev/<契約ID>/timecard/shifts_summary/<店舗ID>/daily?division=result&year=2021&month=01&callback_url=xxx

返り値データの一つであるDailyTotalStaffは2や3になっており、正しく反映されていることから、なにかAPIのデータ処理に問題があるか、使用方法に誤りがあるのでは、と思っております。

下記に再現手法を書き込みましたので、ご確認お願いできますでしょうか。どうぞよろしくお願いいたします。


再現手法

1. 一つの店舗で2人以上の従業員を登録

2. タイムカードから2人以上の従業員にて手動で出勤、退勤を実行

3. 上記APIをコールすると、コールバックからは一人分の勤怠しか出力されないことを確認

コールバックで取得された全データを整形したものが以下となります。StaffId:5のデータしか返ってきておらず、二人目のデータが存在しません。

[('year', '2021'),

 ('month', '01'),

 ('storeId', '2'),

 ('storeName', '支店'),

 ('storeAbbr', 'シテン'),

 ('division', 'result'),

 ('shiftStoreDaily[20210110][dailyTotalStaff]', '2'),

 ('shiftStoreDaily[20210110][dailyTotalHour]', '0.2167'),

 ('shiftStoreDaily[20210110][dailyTotalMinute]', '13'),

 ('shiftStoreDaily[20210110][staffs][0][staffId]', '5'),

 ('shiftStoreDaily[20210110][staffs][0][workingMinute]', '13'),

 ('shiftStoreDaily[20210110][staffs][0][workingHour]', '0.2167'),

 ('shiftStoreDaily[20210110][staffs][0][personnelExpenses]', '117'),

 ('shiftStoreDaily[20210110][staffs][0][shifts][0][shiftResultId]', '5'),

 ('shiftStoreDaily[20210110][staffs][0][shifts][0][staffId]', '5'),

 ('shiftStoreDaily[20210110][staffs][0][shifts][0][staffName]', '会社2-従業員1'),

 ('shiftStoreDaily[20210110][staffs][0][shifts][0][attendance]', '2021-01-10 17:51:00'),

 ('shiftStoreDaily[20210110][staffs][0][shifts][0][leaving]', '2021-01-10 17:58:00'),

 ('shiftStoreDaily[20210110][totalPersonnelExpenses]', '117')])

4. タイムカードアプリの各従業員勤怠ではどの従業員のデータも入っていることを確認

5. 「月別勤怠(事業所別合計)取得」では正常に複数の従業員データが取得できることを確認

StaffId5と7の従業員のデータがしっかり返ってきます。

[('year', '2021'),

 ('storeId', '2'),

 ('storeName', '支店'),

 ('storeAbbr', 'シテン'),

 ('division', 'result'),

 ('shiftStoreMonthly[202101][monthlyTotalStaff]', '2'),

 ('shiftStoreMonthly[202101][monthlyTotalHour]', '0.2167'),

 ('shiftStoreMonthly[202101][monthlyTotalMinute]', '13'),

 ('shiftStoreMonthly[202101][staffs][0][staffId]', '5'),

 ('shiftStoreMonthly[202101][staffs][0][workingMinute]', '7'),

 ('shiftStoreMonthly[202101][staffs][0][workingHour]', '0.1167'),

 ('shiftStoreMonthly[202101][staffs][0][personnelExpenses]', '117'),

 ('shiftStoreMonthly[202101][staffs][1][staffId]', '7'),

 ('shiftStoreMonthly[202101][staffs][1][workingMinute]', '6'),

 ('shiftStoreMonthly[202101][staffs][1][workingHour]', '0.1'),

 ('shiftStoreMonthly[202101][staffs][1][personnelExpenses]', '100'),

 ('shiftStoreMonthly[202101][totalPersonnelExpenses]', '217')]

 )

6. UserAccessToken、AppAccessTokenどちらでも、同じ事象が起きることを確認

7. 別の事業所を作って試しても同様にその事業所の一人分しか出力されないことを確認

ベストアンサー

  • January 2021 編集されました 回答済み✓

    ご連絡ありがとうございます。

    また、コミュニティサイトへのご投稿ありがとうございます。大変お手数をお掛け致しました。


    本件につきまして確認したところ、

    弊社APIに不具合があり、弊社でも同様の現象が発生致しました。

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


    お時間を頂戴し申し訳ございませんが、1/27(水)のリリースにて複数人レスポンスが返却されるよう修正させていただきます。

    ご不便をお掛け致しますが、よろしくお願い致します。

  • Naoto 様

    結果の返答にコールバックURLではなく、直接返答する仕様には変更する予定などはございますでしょうか

    ご連絡ありがとうございます。

    こちらですが、データ量を懸念し、コールバックURLとさせていただいておりましたが、

    日別勤怠APIにおいては直接返答できるように検討しております。

    検討後、追ってご連絡させていただきます。

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

答え

  • スマレジ早川様 迅速なご確認・返信ありがとうございます!

    この挙動が仕様でなく、正常な場合には複数データが返るということが確認できて良かったです。1/27のリリースとのこと、承知致しました。お待ちしております。

    今後ともどうぞよろしくお願いいたします。

  • また、このAPIについてですが、結果の返答にコールバックURLではなく、直接返答する仕様には変更する予定などはございますでしょうか。それ以外のAPIのように直接データを返してくれるのであれば、アプリ側の設計が組みやすいのですが、いかがでしょうか。

  • 早川様

    ご検討ありがとうございます!どうぞよろしくお願いいたします。

    山本

  • @スマレジ 早川

    お世話になっております。今日のリリースで本APIにて、複数人分のレスポンスが返されることを確認いたしました。迅速なご対応ありがとうございました!

  • @Naoto

    ご連絡が遅くなり申し訳ございません!

    こちらご確認いただきましたとのこと、ご連絡ありがとうございます。

    他に気になる点等ございましたら、気軽にお問い合わせいただければと思います。よろしくお願い致します。