AKASHI 公開API 仕様

※本APIの仕様に関するお問い合わせはメールにて承っております。
 AKASHIコンタクトセンターまでメールにてお問い合わせください。(宛先:akashi_cc@ak4.jp)

1 基本的な使い方

下記をエンドポイントとして、アクセストークンを付加のうえリクエストを送信することで、各APIに応じた機能がご利用できます。

エンドポイント https://atnd.ak4.jp/api/cooperation

例:打刻情報取得API

企業ID:sample001
アクセストークン:xxxxxxxxxxxxxxxxxxxx
の場合

curl -X GET "https://atnd.ak4.jp/api/cooperation/sample001/stamps?token=xxxxxxxxxxxxxxxxxxxx&start_date=20170501&end_date=20170531"

2 機能一覧

公開APIでは下記の機能がご利用になれます。

各APIはトークンに紐づいた従業員の権限によって実行が許可または却下されます。

API機能 概要
組織作成 組織を新しく作成する。※組織の更新はできません。
組織取得 指定した組織を取得する。
従業員新規登録・更新 従業員の新規登録、または情報を更新する。
従業員取得 トークンに紐づく従業員、及び管理下の従業員の情報を取得する。
従業員退職/削除 従業員を退職、または削除する。
打刻実行 トークンに紐づいた従業員の打刻処理を行う。
打刻情報取得 自身、及び管理下の従業員の特定期間の打刻情報を取得する。
アラート情報取得 トークンに紐づいた従業員のアラートを取得する。
アクセストークン再発行 アクセストークンを再発行する。

3 準備

AKASHIの公開APIご利用にあたり、下記手順を事前に行う必要があります。

  1. AKASHIの利用申し込み
    AKASHIサービスサイト(https://ak4.jp)よりご利用申し込みをします。
  2. API利用を可能にする設定
    共通就業設定にて「API利用可否」を「利用する」に設定します。
  3. アクセストークンの発行
    マイページからAPIトークンを発行します

4 制限事項

AKASHIの公開APIは下記の仕様/制限がございます

  • 各APIはアクセストークン保持者の権限に応じて利用可否が決定されます。
  • アクセストークンについて
    • アクセストークンの有効期限は1ヶ月と1日です。
    • アクセストークンの再発行はマイページ、またはアクセストークン再発行APIをご利用ください。

5 API共通仕様

5.1 共通仕様

API共通の仕様を記載します。ただし、全APIで同一の仕様となるわけではなく、異なる部分は各APIの説明をご確認ください。

5.1.1 処理成否

APIの処理成否のレスポンスはJSONとし、形式は以下の通り。

(1)成功時

項目名 データ型 概要
success Boolean 取得の成功失敗を示します。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果を格納する。内部の値は各APIにて定義する。

(2)失敗時

項目名 データ型 概要
success Boolean 取得の成功失敗を示します。成功の場合はtrue、失敗の場合はfalse。
errors Array エラーメッセージの配列
code String エラーコード
message String エラーメッセージ

5.1.2 値が無い場合のレスポンス形式

各データ型において値が無い場合のレスポンス形式は、以下の通りです。

データ型 備考
String null  
Integer null  
Boolean - 必ずtrue/falseが設定される。
Array []  
Object null ※処理成否におけるresponse,errorsは例外とする

6 API機能詳細

6.1 組織作成API 一覧に戻る

6.1.1 機能定義

組織情報を新規作成する。※更新はできません

6.1.2 API定義

(1) リクエスト

URL・メソッド
URL /[AKASHI企業ID]/organizations
メソッド POST
パラメータ
パラメータ 必須 データ型 概要
AKASHI企業ID String AKASHI企業ID
トークン(token) String アクセストークン
組織(organizations) Array 生成する組織を配列で指定
組織名(name) String 組織の名称
組織コード(code)   String 組織コード
親組織(parent_organization)   String 生成する組織が所属する親組織。最上位("企業"を含まない)の親組織から/区切りで記述する

(2) リクエスト例

POST /api/cooperation/[AKASHI企業ID]/organizations
{"token": "xxxxxxxxxxxxxxxx", 
"organizations": [
   {"name": "第一事業本部", "code": "001", "parent_organization": ""},
   {"name": "営業部", "code": "0011", "parent_organization": "第一事業本部"},
   {"name": "一課", "code": "00111", "parent_organization": "第一事業本部/営業部"},
 ]
}

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト
 count Integer 新規作成された組織の件数
 organizations Array 取得された組織の配列
  organizationId Integer 組織のID
  name String 組織名
  code String 組織コード
  label String 組織のラベル
  parentId Integer 親の組織id
  displayPunchTypes Array 表示する打刻ボタンの配列
   punchType Integer 打刻種別
   displayName String 表示名
errors Array 失敗の原因となったエラーについてのエラーメッセージの配列
  code String エラーコード
  messages String エラーメッセージ

(4) レスポンス例

{
  "success": true,
  "response": {
    "count": 2,
    "organizations": [
      {
        "organizationId": 1,
        "name": "第一事業本部",
        "code": "001",
        "label": "",
        "parentId": 0,
        "displayPunchTypes": [
          {"punchType": 1, displayName: "出社"},
          {"punchType": 2, displayName: "退社"}
        ],
      },
      {
        "organizationId": 2,
        "name": "営業部",
        "code": "0011",
        "label": "",
        "parentId": 1,
        "displayPunchTypes": [
          {"punchType": 11, displayName: "出社"},
          {"punchType": 12, displayName: "退社"}
        ],
      }
      {
        "organizationId": 3,
        "name": "一課",
        "code": "00111",
        "label": "",
        "parentId": 2,
        "displayPunchTypes": [
          {"punchType": 11, displayName: "出社"},
          {"punchType": 12, displayName: "退社"}
        ],
      }
    ]
  }
}

6.2 組織取得API 一覧に戻る

6.2.1 機能定義

組織の一覧を取得します。直系親取得有無が「有」で指定されている場合は、指定された組織と、その組織の親("企業"まで辿る)・子孫となる組織の一覧を取得する。

6.2.2 API定義

(1) リクエスト

URL・メソッド
URL /[AKASHI企業ID]/organizations
メソッド GET
パラメータ
パラメータ 必須 データ型 概要
AKASHI企業ID String AKASHI企業ID
トークン(token) String アクセストークン
直系親取得有無
(includesParents)
Integer 直系の親組織も取得対象と含める場合は1,含めない場合は0。
組織id(orgId)   Integer 指定された場合、直系親取得有無に関わらず、その組織の情報のみ取得する。

(2) リクエスト例

GET /api/cooperation/[AKASHI企業ID]/organizations?token=xxxxxxxxxxxxxxxxxxxx&includesParents=1

(3) レスポンス

項目名 データ型 概要
success Boolean 組織の取得の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 取得結果のオブジェクト
 count Integer 取得された組織の件数
 organizations Array 取得された組織の配列
  organizationId Integer 組織のID
  name String 組織名
  code String 組織コード
  label String 組織のラベル
  parentId Integer 親の組織id
  displayPunchTypes Array 表示する打刻ボタンの配列
   punchType Integer 打刻種別
   displayName String 表示名
errors Array 失敗の原因となったエラーについてのエラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success": true,
  "response": {
    "count": 1,
    "organizations": [
      {
        "organizationId": 1,
        "name": "企業",
        "code": null,
        "label": null,
        "parentId": null,
        "displayPunchTypes": [
          {"punchType": 1, displayName: "出社"},
          {"punchType": 2, displayName: "退社"}
],
},{
        "organizationId": 2,
        "name": "営業部",
        "code": "A",
        "label":"A",
        "parentId": 1,
        "displayPunchTypes": […],
},{
        "organizationId": 4,
        "name": "営業一課",
        "code": "A-1",
        "label":"A-1",
        "parentId": 2,
        "displayPunchTypes": […],
},{
        "organizationId": 3,
        "name": "総務部",
        "code": "B",
        "label":"B",
        "parentId": 1,
        "displayPunchTypes": […],
}
]
}
}

6.3 従業員 新規登録・更新API 一覧に戻る

6.3.1 機能定義

従業員情報を更新します。

6.3.2 API定義

(1) リクエスト

URL・メソッド
URL /[AKASHI企業ID]/staffs/
メソッド PATCH
パラメータ
パラメータ 必須 データ型 概要
AKASHI企業ID String AKASHI企業ID
トークン(token) String アクセストークン
従業員(staffs) Array  
従業員id(staff_id)   Integer AKASHIの従業員id。指定されている場合は更新、未指定の場合は新規登録する。※1
従業員番号(staff_code)   String 重複不可
姓(last_name) String  
名(first_name) String  
姓(カナ)(last_name_kana)   String  
名(カナ)(first_name_kana)   String  
組織(organization) String 組織を最上位("企業")の親組織から/区切りで記述する。※1※2△:従業員作成の場合必須。
雇用区分
(employment_category)
  String ※1
IDm番号(idm_number)   String 重複不可
メールアドレス(email)   String 重複不可
電話番号(tel)   String  
性別(sex)   String 男/女
タグ(tag)   String 複数の場合カンマ区切り
備考(remarks)   String  

※1:該当するデータがない場合、エラーとなる。

※2:最上位の所属にしたい場合は「企業」を指定する

最上位の「企業」は下位組織がある場合は記載しない

(2) リクエスト例

POST /api/cooperation/[AKASHI企業ID]/staffs/
{"token": "xxxxxxxxxxxxxxxx", 
"staffs": [
   {"staff_id": 1, "last_name": "山田", "first_name": "太郎", "organization": "企業",・・・},
   {"last_name": "佐藤", "first_name": "花子", "organization": "営業部/営業1課",・・・}
 ]
}

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト。
 login_company_code String AKASHI企業ID
 staffs Array 従業員の配列
 staff_id Integer 従業員Id
 staff_code String 従業員番号
 email String メールアドレス
 organization_id Integer 組織のid
 employment_category_id Integer 雇用区分のid
errors Array エラーメッセージの配列
 code String エラーコード
 staff_id String 従業員id。従業員更新の場合のみ。
 name String リクエストの姓+名。
 message String エラーメッセージ

(4) レスポンス例

{
  "success":true,
  "response": {
    "login_company_code": "com123",
    "staffs ": [
    {
      "staff_id": 123
      "staff_code": "s001",
      "email": "sample@example.com"
      "organization_id": 1,
      "employment_category_id": 1
    },
    {・・・}
   ]
  },
  "errors": [
  {"code":" ERR300402","staff_id": "1", name: "山田太郎", "message":"組織が存在しません。"},
  {"code":" ERR300402","staff_id": "1", name: "山田太郎", "message":"従業員番号が既に登録されています。"},
{"code":" ERR300402","staff_id": "", name: "山田太郎", "message": "組織が存在しません。"},
{"code":" ERR300402","staff_id": "", name: "", "message": "姓は必ず入力してください。"}
]
}

6.4 従業員取得API 一覧に戻る

6.4.1 機能定義

トークンに該当する従業員、及び管理下の従業員の情報を取得する。

6.4.3 API 定義

(1) リクエスト

URL・メソッド
URL /[AKASHI企業ID]/staffs/[従業員id]
メソッド GET
パラメータ
パラメータ 必須 データ型 概要
AKASHI企業ID String AKASHI企業ID
トークン(token) String アクセストークン
取得従業員(target)   String 取得する従業員のトークン
従業員id   Integer 取得対象の従業員id
(従業員番号ではありません)
ページ番号(page)   Integer 管理下にある従業員をすべて取得する場合のページ位置
※1ページに取得できるのは20人分までとなります
※レスポンスに記載されるTotalCountを参考に0から始まるページを指定してください。

(2) リクエスト例

トークンを指定して、特定の従業員情報を取得する場合

GET /api/cooperation/[AKASHI企業ID]/staffs?token=xxxxxxxxxxxxxxxxxxxxxxxx&target=yyyyyyyyyyyyyyyyyyyyyyyyy

従業員idを指定して、特定の従業員情報を取得する場合

GET /api/cooperation/[AKASHI企業ID]/staffs/21?token=xxxxxxxxxxxxxxxxxxxxxxxx

管理下の従業員情報のうち、21人目から40人目を取得する場合

GET /api/cooperation/[AKASHI企業ID]/staffs?token=xxxxxxxxxxxxxxxxxxxxxxxx&page=1

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト
 login_company_code String AKASHI企業ID
 Count Integer 取得された従業員数
 TotalCount Integer 取得することができる従業員数
 staffs Array 取得した従業員情報の配列
  staffId Integer 従業員id
  lastName String
  firstName String
  lastNameKana String カナ(姓)
  firstNameKana String カナ(名)
  organization Object 組織(メイン)
   organizationId Integer 組織id
   name String 組織名
  subgroups Array 組織(サブグループ)の配列
   organizationId Integer 組織id
   name String 組織名
  employmentCategory Object 雇用区分
   employmentCategoryId Integer 雇用区分ID(雇用区分"従業員"の場合はnull)
   name String 雇用区分名称(雇用区分"従業員"の場合は"従業員")
  tag String タグ
  staffNum String 従業員番号
  idmNum String IDm番号
  cardTypeId Integer カード種別
  remarks String 備考
  permissionGroup Object 権限グループ
   permissionGroupId Integer 権限グループID
   permissionType Integer 権限種別(1: 企業管理者、2: 一般管理者、3:従業員)
   name String 権限グループ名
  managedOrganizations Array 管理対象組織(指定されている組織のみ。配下の組織は含めない)
   organizationId Integer 組織id
   name String 組織名
errors Array 失敗の原因となったエラーについてのエラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success": true,
  "response": {
    "login_company_code": 1,
    "Count": 1,
    "totalCount": 1,
    "staffs": [
    "staffId": 456,
      "lastName": "児玉",
      "firstName": "太郎",
      "lastNameKana": "コダマ",
      "firstNameKana": "タロウ",
      "organization": {"organizationId": 1, "name": "営業部"},
      "subgroups": [
        {"organizationId": 2, "name": "開発部"}
],
employmentCategory: {
  "employmentCategoryId": 1,
  "name": "正社員"
},
"tag": null,
"staffNum": "2015000012",
"idmNum": null,
"cardTypeId": null,
"remarks": "備考欄の記述",
"permissionGroup": {
  "permissionGroupId": 456,
  "permissionType": 2,
  "name": "一般管理者"
},
"managedOrganizations": [{
  "organizationId": 456,
  "name": "総務部"
}]
]
}
}

6.5 従業員退職削除API 一覧に戻る

6.5.1 機能定義

従業員を退職または削除します。

6.5.2 API定義

(1) リクエスト

URL・メソッド
URL /[AKASHI企業ID]/staff/[従業員id]
メソッド DELETE
パラメータ
パラメータ 必須 データ型 概要
AKASHI企業ID String AKASHI企業ID
従業員id Integer AKASHIの従業員ID
トークン(token) String アクセストークン
退職日(retirement_date)   Date 退職日指定されている場合→退職処理 未指定の場合→削除処理

(2) リクエスト例

DELETE /api/cooperation/[AKASHI企業ID]/staff/[従業員id]/
{"token": "xxxxxxxxxxxxxxxx", "retirement_date": "2017/03/31"}

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト。
 login_company_code String AKASHI企業ID
 staff_id Integer 従業員id
 staff_code String 従業員番号
 email String メールアドレス
errors Array エラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success":true,
  "response": {
    "login_company_code": "sample001",
    "staff_id": 123
    "staff_code": "s001",
    "email": "sample@example.com"
  }
}

6.6 打刻API 一覧に戻る

6.6.1 機能定義

従業員の打刻処理を行う。

6.6.2 API 定義

(1) リクエスト

URL・メソッド
URL /[AKASHI企業ID]/stamps
メソッド POST
パラメータ
パラメータ 必須 データ型 概要
AKASHI企業ID String AKASHI企業ID
トークン(token) String アクセストークン
打刻種別(type)   Integer 打刻種別
11 : 出勤
12 : 退勤
21 : 直行
22 : 直帰
31 : 休憩入
32 : 休憩戻
省略された場合、打刻履歴を元に出勤または退勤の打刻種別が決定する
打刻日時(stamped_at)   DateTime クライアントでの打刻日時
※実際の打刻はAKASHIの打刻サーバ側の時刻となります。
タイムゾーン(timezone)   String クライアントのタイムゾーンを+09:00の形の文字列で指定

(2) リクエスト例

POST /api/cooperation/[AKASHI企業ID]/stamps
{"token": "xxxxxxxxxxxxxxxx", "type": 11, "stamped_at": "2017/03/14 08:57:23", "timezone": "+09:00" }

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト。
 login_company_code String AKASHI企業ID
 staff_id Integer 従業員id
 type Integer 打刻種別
 stamped_at DateTime サーバ側での打刻日時を返す。
errors Array エラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success":true,
  "response": {
    "login_company_code": "sample001",
    "staff_id": 123
    "type": 11,
    "stamped_aAt": "2017/03/14 08:57:00"
  }
}

6.7 打刻情報取得API 一覧に戻る

6.7.1 機能定義

自身、及び管理下の従業員の特定期間の打刻情報を取得する。

6.7.2 API定義

(1) リクエスト

URL・メソッド
URL /[ログイン企業ID]/stamps/[従業員id]
メソッド GET
パラメータ
パラメータ 必須 データ型 概要
ログイン企業ID String 企業のログイン企業ID
トークン(token) String アクセストークン
開始日時(start_date) DateTime 打刻取得期間の開始日時
yyyymmddHHMMSSの形式で指定する。
終了日時(end_date) DateTime 打刻取得期間の終了日時yyyymmddHHMMSSの形式で指定する。 開始日時、終了日時で指定できる最長期間は6ヶ月までとなります。
また1回のリクエストで取得できる打刻は1000件までとなります。
従業員id   Integer 取得対象の従業員id
(従業員番号ではありません)

(2) リクエスト例

自身の打刻情報を取得する場合

GET /api/cooperation/[ログイン企業ID]/stamps?token=xxxxxxxxxxxxxxxxxxxx&start_date=20170501000000&end_date=20170531000000

従業員idを指定して、特定の従業員の打刻情報を取得する場合

GET /api/cooperation/[ログイン企業ID]/stamps/21?token=xxxxxxxxxxxxxxxxxxxx&start_date=20170501000000&end_date=20170531000000

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト
 login_company_code String ログイン企業ID
 staff_id Integer 従業員ID
 count Integer 従業員の打刻数
 stamps Array 打刻データの配列
  stamped_at DateTime 打刻日時
  type Integer 打刻種別
  local_time DateTime 打刻機のローカル打刻時刻
  timezone String 打刻機のタイムゾーン
  attributes Object 実績参照結果
   method Integer 打刻方法
   org_id Integer 組織ID
   workplace_id Integer 勤務地ID
   latitude Float 緯度
   longitude Float 経度
   ip String 打刻機のIPアドレス
errors Array 失敗の原因となったエラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success":true,
  "response": {
    "login_company_code": "sample001",
    "staff_id": 123,
    "count": 1,
    "stamps": [
      {
        "stamped_at": "2015/10/22 09:01:00",
        "type": 11,
        "local_time": "2015/10/22 09:00:34",
        "timezone": "+9.0",
        "attributes": {
          "org_id": 12,
          "workplace_id":1,
          "ip": "192.168.1.234"
        }
      },
      {
        "stamped_at": "2015/10/22 18:01:00",
        "type": 12,
        "local_time": "2015/10/22 18:00:34",
        "timezone": "+9.0",
        "attributes": {
          "org_id": 12,
          "workplace_id":1,
          "ip": "192.168.1.234"
        }
      }
    ]
  }
}

6.8 アラート情報取得API 一覧に戻る

6.8.1 機能定義

トークンにて認証した従業員のアラート情報を取得します。

6.8.2 API 定義

(1) リクエスト

URL・メソッド
URL /[AKASHI企業ID]/alerts
メソッド GET
パラメータ
パラメータ 必須 データ型 概要
AKASHI企業ID String AKASHI企業ID
トークン(token) String アクセストークン

(2) リクエスト例

GET /api/cooperation/[AKASHI企業ID]/alerts?token=xxxxxxxxxxxxxxxxxxxx

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト
 login_company_code String AKASHI企業ID
 staff_id Integer 従業員id
 count Integer 取得されたアラートの件数
 alerts Array 取得されたアラートの配列
  month String アラートの発生した月度
  date String アラートの発生した日付
  alert_type Integer アラート種別 1:打刻忘れ 2:欠勤疑い 3:休憩過小/超過 4:出勤打刻乖離 5:退勤打刻乖離 6:休日出勤 7:遅刻 8:早退 9:残業時間閾値超え 10:無断出勤
errors Array 失敗の原因となったエラーについてのエラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success":true,
  "response": {
    "login_company_code": "sample001",
    "staff_id": 123
    "count": 3,
    "alerts": [
      {"month": "2017/03/01", "date": "2017/04/15", "alert_type": 1},
      {"month": "2017/04/01", "date": "2017/04/16", "alert_type": 2},
      {"month": "2017/04/01", "date": "2017/04/16", "alert_type": 6},
    ]
  }
}

6.9 アクセストークン再発行API 一覧に戻る

6.9.1 機能定義

トークンにて認証した従業員のアクセストークンを再発行します。
再発行時に有効期限切れのトークンが存在する場合、自動的に削除されます。

6.9.2 API定義

(1) リクエスト

URL・メソッド
URL /token/reissue/[ログイン企業ID]
メソッド POST
パラメータ
パラメータ 必須 データ型 概要
ログイン企業ID String ログイン企業ID
トークン(token) String アクセストークン

(2) リクエスト例

POST /api/cooperation/token/reissue/comp001
{"token": "xxxxxxxxxxxxxxxx"}

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト
 login_company_code String ログイン企業ID
 staff_id Integer 従業員ID
 agency_manager_id Integer -
 token String アクセストークン
 expired_at String アクセストークンの有効期限
(yyyy/mm/dd HH:MM:SS)
errors Array 失敗の原因となったエラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success":true,
  "response": {
    "login_company_code": "sample001",
    "staff_id": 123,
    "agency_manager_id": 45,
    "token": "xxxxxxxxxxxxxxxxxxxxxxxx",
    "expired_at": "2017/10/09 00:00:00"
  }
}

6.10 打刻情報取得API(複数従業員) 一覧に戻る

6.10.1 機能定義

自身、及び管理下の従業員の特定期間の打刻情報を取得する。

6.10.2 API定義

(1) リクエスト

URL・メソッド
URL /[ログイン企業ID]/multiple_stamps
メソッド GET
パラメータ
パラメータ 必須 データ型 概要
ログイン企業ID String 企業のログイン企業ID
トークン(token) String アクセストークン
開始日時(start_date) DateTime 打刻取得期間の開始日時
yyyymmddHHMMSSの形式で指定する。
終了日時(end_date) DateTime 打刻取得期間の終了日時yyyymmddHHMMSSの形式で指定する。 開始日時、終了日時で指定できる最長期間は31日までとなります。
また1回のリクエストで取得できる打刻は1000件までとなります。
従業員id(staff_ids) Integer 取得対象の従業員id(従業員番号ではありません)をコンマ区切りで並べたもの

(2) リクエスト例

GET /api/cooperation/[ログイン企業ID]/multiple_stamps?token=xxxxxxxxxxxxxxxxxxxx&start_date=20170501000000&end_date=20170531000000&staff_ids=1,2,3,4

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト
 login_company_code String ログイン企業ID
 multiple_stamps Array 従業員ごとの打刻情報の配列
  staff_id Integer 取得した打刻に紐づく従業員のid
  count Integer 従業員の打刻数
  stamps Array 打刻データの配列
   stamped_at DateTime 打刻日時
   type Integer 打刻種別
   local_time DateTime 打刻機のローカル打刻時刻
   timezone String 打刻機のタイムゾーン
   attributes Object 実績参照結果
    method Integer 打刻方法
    org_id Integer 組織ID
    workplace_id Integer 勤務地ID
    latitude Float 緯度
    longitude Float 経度
    ip String 打刻機のIPアドレス
errors Array 失敗の原因となったエラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success": true,
  "response": {
  "login_company_code": "R20180404",
  "multiple_stamps": [
      {
        "staff_id": 1,
        "count": 4,
        "stamps": [
          {
            "stamped_at": "2018/10/16 09:58:08",
            "type": 11,
            "local_time": "2018/10/16 09:58:10",
            "timezone": "+9.00",
            "attributes": {
              "method": 3,
              "org_id": 1,
              "workplace_id": null,
              "latitude": null,
              "longitude": null,
              "ip": "192.168.56.1"
            }
          }
        ]
      }
    ]
  }
}

6.11 勤務実績取得API(複数従業員) 一覧に戻る

6.11.1 機能定義

自身、及び管理下の従業員の特定期間の実績情報を取得する。

6.11.2 API定義

(1) リクエスト

URL・メソッド
URL /[ログイン企業ID]/working_records
メソッド GET
パラメータ
パラメータ 必須 データ型 概要
ログイン企業ID String 企業のログイン企業ID
トークン(token) String アクセストークン
開始日時(start_date) DateTime 実績取得期間の開始日時
yyyymmddの形式で指定する。
終了日時(end_date)   DateTime yyyymmddの形式で指定する。期間は最大31日である。
従業員id(staff_ids) Integer 取得対象の従業員id(従業員番号ではありません)をコンマ区切りで並べたもの。一度に指定できるのは50idまでとなる。
休憩実績の取得を行うかどうか(include_break_results)   Integer 1を指定した場合、取得する勤務実績に休憩実績を含める。この場合、end_dateを指定することはできない。

(2) リクエスト例

GET /api/cooperation/[ログイン企業ID]/working_records?token=xxxxxxxxxxxxxxxxxxxx&start_date=20180903&end_date=20180930&staff_ids=1,2,3,4

(3) レスポンス

項目名 データ型 概要
success Boolean 処理の成功失敗を示す。成功の場合はtrue、失敗の場合はfalse。
response Object 処理結果のオブジェクト
 login_company_code String ログイン企業ID
 response Array 従業員ごとの勤務実績情報の配列
  staff_id Integer 取得した打刻に紐づく従業員のid
  working_records Array 実績データの配列
   date String yyyy/mm/dd形式の日付
   working_day_category Integer 労働区分
0:労働日 1:所定休日 2:法定休日
   start_time DateTime 実績開始時刻
   end_time DateTime 実績終了時刻
   rounded_start_time DateTime 丸め実績開始時刻
   rounded_end_time DateTime 丸め実績終了時刻
   attendance_punch_time DateTime 出勤打刻時刻
   leaving_punch_time DateTime 退勤打刻時刻
   break_time_results Array 休憩実績の配列
    result_break_time_start_time DateTime 休憩開始時刻
    result_break_time_end_time DateTime 休憩終了時刻
    rounded_break_time_start_time DateTime 丸め休憩開始時刻
    rounded_break_time_end_time DateTime 丸め休憩終了時刻
errors Array 失敗の原因となったエラーメッセージの配列
 code String エラーコード
 message String エラーメッセージ

(4) レスポンス例

{
  "success": true,
  "response": [
    {
      "staff_id": 1,
      "working_records": [
        {
          "date": "2018/09/03",
          "working_day_category": 0,
          "start_time": "2018/09/03 09:00:00",
          "end_time": "2018/09/03 22:00:00",
          "rounded_start_time": "2018/09/03 09:00:00",
          "rounded_end_time": "2018/09/03 22:00:00",
          "start_punch_time": null,
          "end_punch_time": null,
          "break_time_results": [
            {
              "result_break_time_start_time": "2018/09/03 12:00:00",
              "result_break_time_end_time": "2018/09/03 13:00:00",
              "rounded_break_time_start_time": "2018/09/03 12:00:00",
              "rounded_break_time_end_time": "2018/09/03 13:00:00"
            }
          ]
        }
      ]
    }
  ]
}
このヘルプは役に立ちましたか?