【重要】freee人事労務APIの仕様変更について

freee人事労務APIのバージョンアップに伴う仕様変更を予定しています。
freee人事労務APIをご利用の開発者の皆さまにおかれましては、新仕様の確認ならびに必要に応じてアプリの改修などの対応をご検討いただきますよう、よろしくお願い申し上げます。

変更の概要

freee人事労務APIのバージョンアップを行います。
それに伴い、リクエストパラメータの指定方法やレスポンス型式の変更など、広範囲に影響が及ぶ仕様変更が発生いたします。

変更のスケジュール

新バージョンは2022年2月から提供開始予定です。
今回の仕様変更に際しましては、影響範囲の大きさを鑑み、移行期間として現バージョンと新バージョンの並行提供期間を6ヶ月設けます。
この期間中に新バージョンへの移行を行っていただきますよう、お願い申し上げます。
なお、新バージョンの利用方法はリリース時に改めて告知いたします。

[追記]リリース情報についてはリリースノート(https://developer.freee.co.jp/release-note/5653)をご確認ください。

本件についてご不明点がある場合は以下のフォームよりお問い合わせください。


変更の詳細

1.レスポンスのフォーマット変更

変更内容:

エラー(http status codeが400, 403, 404, 500)の場合のレスポンスフォーマットが変更されます。

変更前:

以下のフォーマットで共通のメッセージが返却されます。

レスポンスデータ例:

{
  "message": "不正なリクエストです。"
}

変更後:

以下のフォーマットでエラーの内容に即したメッセージが返却されます。

レスポンスデータ例:

{
    "status_code": 400,
    "errors": [
        {
            "type": "bad_request",
            "messages": [
                "締め日支払い日を選択してください。"
            ]
        }
    ]
}

対象エンドポイント:

  • freee人事労務APIの全エンドポイント

2.任意項目の必須項目化

変更内容:

一部のエンドポイントにおいて、現在任意項目のリクエストパラメータが必須項目になります。
変更の詳細については、別表をご確認ください。


3.パラメータ指定箇所の変更

変更内容:

一部のエンドポイントにおいて、リクエストパラメータ[company_id]の指定箇所が変更されます。

3−1.bodyパラメータからqueryパラメータへの変更:

以下のエンドポイントでは、[company_id]をbodyパラメータからqueryパラメータへ変更します。

  • 勤怠
    • DELETE /api/v1/employees/{emp_id}/work_records/{date}
  • 従業員
    • DELETE /api/v1/employees/{id}

3-2.queryパラメータからbodyパラメータへの変更:

以下のエンドポイントでは、[company_id]をqueryパラメータからbodyパラメータへ変更します。 

  • 勤怠情報サマリ
    • PUT /api/v1/employees/{emp_id}/work_record_summaries/{year}/{month}

4.ページネーション指定方法の変更

変更内容:

一覧取得系APIのページネーションの指定方法が変更されます。

変更前:

一回のリクエストで取得するアイテム数を[per](デフォルト:25)で指定し、取得対象のページを[page](デフォルト:1)で指定します。

変更後:

一回のリクエストで取得するアイテム数を[limit](デフォルト:50、最小:1、最大:100)で指定し、取得レコードのオフセットを[offset](デフォルト:0)で指定します。

対象エンドポイント:

  • 打刻
    • GET /api/v1/employees/{emp_id}/time_clocks
  • 給与明細
    • GET /api/v1/salaries/employee_payroll_statements
  • 従業員
    • GET /api/v1/companies/{company_id}/employees
    • GET /api/v1/employees
  • 所属
    • GET /api/v1/employee_group_memberships
  • 賞与明細
    • GET /api/v1/bonuses/employee_payroll_statements

5.http_status_codeの変更

変更内容:

一部のエンドポイントにおいて、http_status_codeが変更されます。
変更の詳細については別表をご確認ください。


6.項目のデータ型統一

変更内容:

リクエスト時はstring、レスポンス時はintegerとなっている以下項目のデータ型をintegerに統一します。

  • id
  • employee_id※
  • year
  • month

※現在、[emp_id]が使用されている箇所にも適用されます(変更点#8参照)

対象エンドポイント:

  • 打刻
    • GET api/v1/employees/{emp_id}/time_clocks
  • 勤怠情報サマリ
    • GET api/v1/employees/{emp_id}/work_record_summaries/{year}/{month}
    • PUT api/v1/employees/{emp_id}/work_record_summaries/{year}/{month}
  • 従業員
    • GET api/v1/employees/{id}
  • 賞与明細
    • GET api/v1/bonuses/employee_payroll_statements
    • GET /api/v1/bonuses/employee_payroll_statements/{employee_id}
  • 従業員の基本給
    • GET /api/v1/employees/{emp_id}/basic_pay_rule
    • PUT /api/v1/employees/{emp_id}/basic_pay_rule
  • 従業員の銀行口座
    • GET /api/v1/employees/{emp_id}/bank_account_rule
    • PUT /api/v1/employees/{emp_id}/bank_account_rule
  • 従業員の健康保険
    • GET /api/v1/employees/{emp_id}/health_insurance_rule
    • PUT /api/v1/employees/{emp_id}/health_insurance_rule
  • 従業員の厚生年金保険
    • GET /api/v1/employees/{emp_id}/welfare_pension_insurance_rule
    • PUT /api/v1/employees/{emp_id}/welfare_pension_insurance_rule
  • 従業員の姓名・住所など
    • GET /api/v1/employees/{emp_id}/profile_rule
    • PUT /api/v1/employees/{emp_id}/profile_rule
  • 従業員の扶養親族
    • GET /api/v1/employees/{emp_id}/dependent_rules
    • PUT /api/v1/employees/{emp_id}/dependent_rules

7.都道府県指定方法の変更

変更内容:

都道府県の項目名と指定方法を変更します。

変更前:

項目名は以下のとおりで、都道府県名をローマ字で指定します。
データ型はstringです。

  • pref: 住民票住所の都道府県 
  • residential_pref: 現住所の都道府県

変更後:

項目名は以下に変更され、都道府県と対応するコード値を指定します。
データ型はintegerになります。

  • prefecture_code: 住民票住所の都道府県コード
  • residential_prefecture_code: 現住所の都道府県コード

対象エンドポイント:

  • 従業員の姓名・住所など
    • PUT /api/v1/employees/{emp_id}/profile_rule

8.[emp_id]を廃止し、[employee_id]に統一

変更内容:

従業員IDを示す項目として[emp_id]と[employee_id]が混在していますが、リクエストパラメータ・レスポンスパラメータ共に[employee_id]に統一されます。

対象エンドポイント:

  • 打刻
    • GET /api/v1/employees/{emp_id}/time_clocks
    • GET /api/v1/employees/{emp_id}/time_clocks/{id}
    • GET /api/v1/employees/{emp_id}/time_clocks/available_types
    • POST /api/v1/employees/{emp_id}/time_clocks
  • 勤怠
    • DELETE /api/v1/employees/{emp_id}/work_records/{date}
    • GET /api/v1/employees/{emp_id}/work_records/{date}
    • PUT /api/v1/employees/{emp_id}/work_records/{date}
  • 勤怠情報サマリ
    • GET /api/v1/employees/{emp_id}/work_record_summaries/{year}/{month}
    • PUT /api/v1/employees/{emp_id}/work_record_summaries/{year}/{month}
  • 従業員の基本給
    • GET /api/v1/employees/{emp_id}/basic_pay_rule
    • PUT /api/v1/employees/{emp_id}/basic_pay_rule
  • 従業員の銀行口座
    • GET /api/v1/employees/{emp_id}/bank_account_rule
    • PUT /api/v1/employees/{emp_id}/bank_account_rule
  • 従業員の健康保険
    • GET /api/v1/employees/{emp_id}/health_insurance_rule
    • PUT /api/v1/employees/{emp_id}/health_insurance_rule
  • 従業員の厚生年金保険
    • GET /api/v1/employees/{emp_id}/welfare_pension_insurance_rule
    • PUT /api/v1/employees/{emp_id}/welfare_pension_insurance_rule
  • 従業員の姓名・住所など
    • GET /api/v1/employees/{emp_id}/profile_rule
    • PUT /api/v1/employees/{emp_id}/profile_rule
  • 従業員の扶養親族
    • GET /api/v1/employees/{emp_id}/dependent_rules
    • PUT /api/v1/employees/{emp_id}/dependent_rules/bulk_update

9.[gender]の型式統一

変更内容:

エンドポイントごとに型式が異なっている[gender(性別)]について、全て以下の型式に統一します。

  • データ型
    • string
  • 選択肢
    • unselected: 未選択
    • male: 男性
    • female: 女性

対象エンドポイント:

  • 従業員
    • POST /api/v1/employees
  • 従業員の姓名・住所など
    • PUT /api/v1/employees/{emp_id}/profile_rule
  • 従業員の扶養親族
    • PUT /api/v1/employees/{emp_id}/dependent_rules/bulk_update

10.[widow_type]の値追加

変更内容:

寡夫/寡婦かどうかを示す項目[widow_type]で指定可能な値として[one_parent:ひとり親]が追加されます。

変更前:

[widow_type]は以下の4種類です。

  • na: 空白
  • widower: 寡夫
  • widow: 寡婦
  • special_widow: 特別寡婦

変更後:

[widow_type]は以下の5種類になります。

  • na: 空白
  • widower: 寡夫
  • widow: 寡婦
  • special_widow: 特別寡婦
  • one_parent:ひとり親

※2020年11月以前のyear, monthにを指定してPUTする場合、[one_parent:ひとり親]は指定できません

対象エンドポイント:

  • 従業員の姓名・住所など
    • GET /api/v1/employees/{emp_id}/profile_rule
    • PUT /api/v1/employees/{emp_id}/profile_rule

11.[married_f]の項目名称変更

変更内容:

従業員APIのリクエストパラメータで、配偶者の有無を表す[married_f]の名称が[married]に変更されます。
(レスポンスは以前から[married]であり、リクエストとレスポンスのパラメータ名称が統一されます。)

対象エンドポイント:

  • 従業員
    • POST /api/v1/employees

12.バリデーションの見直し

変更内容:

APIリファレンスに記載されているバリデーションの内容と、実際のバリデーションの齟齬を解消します。

変更前:

以下のような挙動になっている場合があります。

  • 必須項目を指定していなくてもエラーとならない
  • 選択肢の中から選ぶものがあるが、選択肢以外を指定してもエラーとならない
  • 値や桁数・文字数の上限、下限がAPIリファレンスやレスポンスではわからない

変更後:

APIリファレンスの各エンドポイントの説明欄に記載された通りの挙動になります。

対象エンドポイント:

  • freee人事労務APIの全エンドポイント