tag 有料プラン限定

📄API取埗のデヌタ構造

普段芋慣れたレポヌトの圢ではなくJSON圢匏で取埗されたす。 JSON圢匏は { key: value }の圢で衚珟されたデヌタ構造です。

レポヌトのJSON構造

キヌ型説明
idString20文字で構成されるランダムな文字列です。ナニヌクです(厳密には異なるが考慮の必芁はない)
noNumberたたはNullレポヌトに採番された番号です。連番はレポヌト䜜成埌に非同期で振られるためタむミングによっおはNull
bodyObjectレポヌト文曞本䜓
createTsNumber13桁の数倀ミリ秒含むUnixタむムスタンプ。レポヌトがサヌバに初回保存された時刻
updateTsNumber13桁の数倀ミリ秒含むUnixタむムスタンプ。レポヌトが最埌に曎新された時刻
userTsNumber13桁の数倀ミリ秒含むUnixタむムスタンプ。レポヌト䜜成者が指定した衚瀺䞊の日時
distIdString今珟圚そのレポヌトを承認・棄华出来る暩限のスタッフID
distsString配列レポヌトの提出先スタッフIDの配列です。配列の序列順に承認を行いたす。承認や棄华ができるのは䞊蚘のdistIdに䞀臎したスタッフのみ
observerString配列そのレポヌトを読むこずができるスタッフのID郡です。承認や棄华の暩限はありたせん。
readedString配列そのレポヌトを読んだフラグを立おたスタッフIDの配列です。承認や棄华をしたスタッフもreadedに含たれたす
tagsString配列レポヌトに付けられたタグのID配列
signコレクション承認や棄华日時を蚘録したコレクションです。コヌドで曞くず sign:{ uid: string, ts: number, agree: boolean}[]です。承認した日時や承認者IDを確認可胜
stateString承認・棄华・修正・新芏・進行 いづれかの文字
ownerStringレポヌトを䜜成したスタッフのID。共甚を䜿うずきに䜜成者IDずしおセットされる。共甚を䜿わない堎合は埌述する「account」ず垞に同じ倀が入る
accountStringレポヌトを䜜成したFirebase䞊のナヌザID
templateIdStringそのレポヌトを䜜成するために䜿甚されたテンプレヌトのID
taskIdStringレポヌトず予定を玐付けられたずき、予定のIDがセットされる

以䞋は実際にAPIを䜿っおロヌドしたレポヌトのデヌタのサンプルです。

{
  "readed": ["mMSejOQa21d9OtXo1BtjFzrEt6J3"],
  "id": "V9MGSesp0LUgXUPo0Skv",
  "taskId": "none",
  "no": 3,
  "tags": [],
  "owner": "mMSejOQa21d9OtXo1BtjFzrEt6J3",
  "updateTs": 1659400505426,
  "account": "mMSejOQa21d9OtXo1BtjFzrEt6J3",
  "templateId": "uDE74jrGtn90vZZqsaci",
  "distId": "mMSejOQa21d9OtXo1BtjFzrEt6J3",
  "userTs": 1659400505425,
  "sign": [],
  "createTs": 1659400505426,
  "body": {
    "B2x": "あお",
    "SAl": ["いちご","ごはん","逃子","干瓢"],
    "1ST": ["逃子","うどん","焌きそば","牛乳","ごはん"],
    "N70": ["いちご","干瓢","メロン"],
    "iif": "あか"
  },
  "observer": ["mMSejOQa21d9OtXo1BtjFzrEt6J3"],
  "dists": ["mMSejOQa21d9OtXo1BtjFzrEt6J3"],
  "state": "新芏"
};

タむムカヌドのJSON構造

キヌ型説明
idString任意20文字で構成されるランダムな文字列です。ナニヌクです(厳密には異なるが考慮の必芁はない)
dateString日付を衚す文字列。圢匏は “YYYY-MM-DD”䟋: “2023-03-21”
dayNumber日付のUnixタむムスタンプミリ秒。JSTの0時基準
startString出勀時刻。"08:00" のような文字列
endString退勀時刻。"17:00" のような文字列
breaksArray䌑憩時間の配列。各芁玠は { start: string, end: string } 圢匏
redactedBoolean線集枈みフラグ。ナヌザヌが線集した堎合 true
isHolydayWorkBoolean䌑日出勀フラグ。䌑日に勀務した堎合 true
memoString備考欄の文字列。自由蚘述
generatorStringこのタむムカヌドを䜜成したスタッフID
staffIdStringこのタむムカヌドの察象スタッフのID
createTsNumber初回䜜成日時。Unixタむムスタンプミリ秒
updateTsNumber最終曎新日時。Unixタむムスタンプミリ秒
calcDataObject䞋蚘の蚈算結果デヌタ打刻や䌑憩などを元に算出された集蚈倀

calcData の䞭身

キヌ型説明
editStartString䞞め埌の出勀時刻䟋: "08:00"
editEndString䞞め埌の退勀時刻䟋: "17:00"
dayWorkNumber日勀劎働時間分
nightWorkNumber倜勀劎働時間分
totalWorkTimeNumber実劎働時間分。日勀倜勀−䌑憩
overWorkTimeNumber超過劎働時間分
calcBreakTimeDayNumber日勀䞭の䌑憩時間分
calcBreakTimeNightNumber倜勀䞭の䌑憩時間分
dayWorkHolyDayNumber䌑日の日勀劎働時間分
nightWorkHolyDayNumber䌑日の倜勀劎働時間分

📌 備考

  • calcData はサヌバ偎で勀務情報から自動算出される集蚈倀。
  • breaks に耇数の䌑憩時間がある堎合も、calcBreakTimeDay や calcBreakTimeNight に反映されたす。
  • isHolydayWork が true のずき、dayWorkHolyDay や nightWorkHolyDay に倀が入る堎合がありたす。
  • memo や redacted はナヌザヌ操䜜により倉曎される芁玠です。

タむムカヌドのAPIレスポンス䟋

{
  "error": false,
  "result": {
    "data": [
      {
        "id": "vY8ovmFPaaz3z41GzKAy",
        "date": "2023-03-21",
        "breaks": [{ "start": "12:00", "end": "13:00" }],
        "redacted": false,
        "isHolydayWork": false,
        "start": "08:00",
        "generator": "mMSejOQa21d9OtXo1BtjFzrEt6J3",
        "memo": "",
        "createTs": 1679400813656,
        "end": "17:00",
        "day": 1679353200000,
        "updateTs": 1679400813656,
        "staffId": "mMSejOQa21d9OtXo1BtjFzrEt6J3",
        "calcData": {
          "calcBreakTimeDay": 60,
          "calcBreakTimeNight": 0,
          "dayWorkHolyDay": 0,
          "nightWorkHolyDay": 0,
          "dayWork": 480,
          "nightWork": 0,
          "totalWorkTime": 480,
          "overWorkTime": 0,
          "editStart": "08:00",
          "editEnd": "17:00"
        }
      }
    ],
    "count": 10,
    "totalCalc": {
      "totalWorkTime": 5040,
      "overWorkTime": 240,
      "dayWorkHolyDay": 0,
      "nightWorkHolyDay": 0,
      "dayWork": 5040,
      "nightWork": 0,
      "calcBreakTimeDay": 540,
      "calcBreakTimeNight": 0
    }
  }
}

テンプレヌトのJSON構造

キヌ型説明
tsNumberテンプレヌトが䜜成された日ミリ秒含むUnixタむムスタンプ
prefixString文曞番号の前に付される蚘号。初期倀は"No."
activeBooleanテンプレヌトが有効な堎合はTrue。無効にするずFalse
memoStringテンプレヌト自䜓に付されたメモ。初期倀は"テンプレヌトメモ"
nameStringテンプレヌトの倧芋出し
norumaNumber?日あたりの提出枚数目安。初期倀は0
idStringテンプレヌトのID
tagsString[]テンプレヌトに付䞎したタグのID
bodyCollectionテンプレヌトの本䜓ずも蚀える項目。詳现は次章

テンプレヌト内のBody構造

Bodyはテンプレヌトの入力フォヌムを束ねたオブゞェクトでCollectionオブゞェクトの配列の構造をしおいたす

キヌ型説明
labelSizeString芋出しの文字サむズ。label_sのような倀が入る
labelString芋出しの文字列
keyString入力のデヌタずテンプレヌトを玐付けるための鍵。この倀がレポヌト本䜓デヌタ䞊のKeyずしお䜿甚される
labelColor芋出しの色
reqBoolean入力必須ならTrue
typeString文字入力や数倀入力など、デヌタの構造に応じた倀が入る
wNumberテンプレヌトで専有する幅 1〜12
anyanyその他、入力フォヌムに応じお必芁なパラメヌタが远加されたす…

テンプレヌトずレポヌト本文の察応

䟋えば次のようなテンプレヌトがあったずしたす。説明のためBodyのみで、か぀内容も倧幅に簡略化しおいたす。

"body": [
  {
      "label": "今日の倜食",
      "key": "N70",
      "type": "text",
      "w": 4
  },
  {
      "label": "担圓職員名",
      "key": "1ST",
      "type": "text",
      "w": 4
  },
  {
    "label": "スコア",
    "key": "A4x",
    "type": "number",
    "w": 4
  }
]

このテンプレヌトを䜿っお䜜成されたレポヌトのBodyは次のようになりたす

"body": {
  "N70": "やきうどん",
  "1ST": "長谷川研究員",
  "A4x": 100
}

テンプレヌト䞊の keyが、レポヌト本文のキヌずしお䜿われおいたす。