機械 API
機械 ( app=facility )の点検結果を扱う API の仕様です。
共通の認証・ベースURLは 基本情報・認証仕様 を参照してください。
1. 🗺️ エンドポイント一覧
| メソッド | エンドポイント(クエリパラメータ) | 処理概要 |
|---|---|---|
| POST | ?app=facility | 点検結果の本送信登録 |
| GET | ?app=facility&docId={id} | 点検結果の単一取得 |
| GET | ?app=facility&date=YYYY-MM | 月次一覧取得(営業日基準) |
| GET | ?app=facility&date=YYYY-MM-DD | 日次一覧取得(営業日基準) |
⚠️ 非対応スコープ(制限事項)
以下の操作およびデータ連携には対応していません。
- 送信後の修正、データの削除
- 確認・承認フローの実行
- 特記事項(コメント)の登録
- 本部点検票の紐づけ設定
- 点検画像のアップロード
- NG 時のメール通知
- 機械マスタの取得・更新
2. 📥 POST: 点検結果の登録
登録リクエストは、複数件の一括処理(バッチ処理)を考慮し、 常に data 配列で統一 します。
1件のみ登録する場合であっても、要素数が1の配列として送信してください。
点検項目は checkItems 配列で送信します。
2.1 リクエストデータ構造
| 物理キー | 論理名 | データ型 | 必須状況 | 概要・制約 |
|---|---|---|---|---|
data | 登録対象一覧 | array | 必須 | 登録対象とする機械点検オブジェクトの配列。 |
data[].facilityName | 機械名 | string | 必須 | 対象機械のマスタ名称(例: "ミキサ")。空文字不可。 |
data[].sender | 送信者名 | string | 必須 | 点検を実施・送信した担当者の氏名(例: "山田太郎")。空文字不可。 |
data[].checkItems | 点検項目 | array | 必須 | 点検項目オブジェクトの配列(1件以上)。詳細は 2.2 参照。 |
2.2 checkItems[](点検項目)の構造
| 物理キー | 論理名 | データ型 | 必須状況 | 概要・制約 |
|---|---|---|---|---|
checkPoint1 | 点検箇所1 | string | 必須 | 点検箇所の第1階層(例: "給油箇所")。 |
checkPoint2 | 点検箇所2 | string | 任意 | 点検箇所の第2階層。未指定時は空文字として扱われます。 |
checkContent | 点検内容 | string | 必須 | 点検内容の表示名(例: "給油グリス")。 |
inputType | 入力タイプ | string | 条件付き必須 | 数値項目では "number" を指定。 OK/NG 項目では省略を推奨("OKNG" を送っても無視されます)。 |
checkResult | 点検結果 | string | number | 条件付き必須 | OK/NG 入力時は "OK" / "NG" / "未稼働" / ""。 数値入力時は数値。全項目が "" でも登録可能です(required: true がない場合)。 |
required | 必須フラグ | boolean | 任意 | true の場合、checkResult の入力が必須。 |
allowableMin | 許容下限 | number | "" | 任意 | inputType: "number" 時の管理下限。制限を設けない場合は空文字を指定。 |
allowableMax | 許容上限 | number | "" | 任意 | inputType: "number" 時の管理上限。制限を設けない場合は空文字を指定。 |
unit | 単位 | string | 任意 | 数値入力時の単位(例: "℃")。 |
2.3 リクエストJSONサンプル
{
"data": [
{
"facilityName": "ミキサ",
"sender": "山田太郎",
"checkItems": [
{
"checkPoint1": "給油箇所",
"checkPoint2": "",
"checkContent": "給油グリス",
"checkResult": "OK"
},
{
"checkPoint1": "温度",
"checkContent": "運転温度",
"inputType": "number",
"checkResult": 25,
"allowableMin": 20,
"allowableMax": 30,
"unit": "℃"
}
]
}
]
}2.4 入力バリデーションルール
- 基本構造の不備 : リクエスト JSON 全体に
data配列が存在しない、または空配列である。 - 必須項目の欠落 :
facilityName/senderが未指定または空文字、checkItemsが配列でない、または空配列である。 - 必須点検項目の未入力 :
required: trueの項目でcheckResultが空の場合は登録不可。 inputTypeの指定ミス : 数値項目でinputTypeが未指定、または"number"/"OKNG"以外の値が指定されている。- 数値範囲設定の不整合 :
inputType: "number"の項目でallowableMinとallowableMaxの両方を指定する場合、allowableMin <= allowableMaxである必要があります。
💡 点検結果が NG になる場合について
checkResultが"NG"、または数値が許容範囲外の場合、登録される点検結果は NG(異常あり) 扱いになります。"未稼働"は正常扱いです。 データの登録自体は成功しますが、点検結果上では異常ありとして扱われます。 1件でも NG 判定の項目があれば、そのレコード全体が NG 扱いになります。
2.5 POST レスポンス仕様
HTTPステータスコードは全体成功を示す 200 、一部成功を示す 207 Multi-Status 、全件失敗を示す 400 を返却します。
{
"status": "success",
"shopUID": "xxxxxxxxxxxxxxxxxxxx",
"summary": {
"requested": 1,
"created": 1,
"failed": 0
},
"results": [
{
"index": 0,
"status": "success",
"docId": "facility_doc_id_11111"
}
]
}3. 📤 GET: 点検結果の取得
取得系APIにおいて、レスポンスに含まれるすべての日付・時刻フィールドは、 YYYY/MM/DD HH:mm の文字列形式に統一されて返却されます。
3.1 単一取得(docId 指定)
- Request:
GET {baseUrl}?app=facility&docId=facility_doc_id_11111
{
"data": [
{
"id": "facility_doc_id_11111",
"userUID": "API_COMMON_USER",
"shopUID": "xxxxxxxxxxxxxxxxxxxx",
"facilityName": "ミキサ",
"sender": "山田太郎",
"checkItems": [
{
"checkPoint1": "給油箇所",
"checkPoint2": "",
"checkContent": "給油グリス",
"checkResult": "OK"
},
{
"checkPoint1": "温度",
"checkPoint2": "",
"checkContent": "運転温度",
"inputType": "number",
"checkResult": 25,
"allowableMin": 20,
"allowableMax": 30,
"unit": "℃"
}
],
"isNormalForReport": true,
"registeredAt": "2026/07/15 00:00",
"sentAt": "2026/07/15 09:16",
"confirmedAt": "",
"confirmerName": "",
"approvedAt": "",
"approverName": "",
"createdAt": "2026/07/15 09:16",
"updatedAt": "2026/07/15 09:16"
}
]
}3.2 一覧取得(date 指定)
GET {baseUrl}?app=facility&date=2026-07(月次一覧取得)GET {baseUrl}?app=facility&date=2026-07-15(日次一覧取得)
💡 サーバー側での自動フィルタリング・ソート規則
- 認証されたAPIキーに紐づく
shopUIDのデータのみに自動制限されます。- データは 営業日順(
registeredAtの昇順)、 同じ営業日内においては 機械名順(facilityNameの昇順) でソートして返却されます。
3.3 🗂️ 点検結果オブジェクト詳細定義(GETレスポンス)
単一取得のレスポンス、および一覧取得の data[] 配列に含まれる各点検結果オブジェクトの完全なフィールド仕様です。
| フィールドキー | 論理名 | データ型 | 概要・返却値のルール |
|---|---|---|---|
id | ドキュメントID | string | データベース上で一意に割り振られたドキュメントID。 |
facilityName | 機械名 | string | 登録された機械の名称。 |
sender | 送信者名 | string | リクエスト時に指定された担当者名。 |
userUID | ユーザーID | string | 登録を行ったユーザーのID。API経由の場合は一律で "API_COMMON_USER"。 |
shopUID | 店舗ID | string | APIキーから紐づけられた店舗コード。 |
checkItems | 点検項目 | array | POST と同じ構造の点検項目配列(詳細は 2.2 参照)。 |
isNormalForReport | 日報用正常判定 | boolean | 登録内容をもとに自動判定された正常( true )/ NG・異常あり( false )の状態フラグ。 NG でも登録自体は成功します(2.4 参照)。 |
registeredAt | 登録日時(営業日) | string | バックエンドが店舗の閉店時刻設定等から算出した「営業日」の日付(JST 00:00 固定)。 |
sentAt | 送信日時 | string | サーバーがリクエストを受理・永続化した日時。 |
createdAt | 作成日時 | string | ドキュメントの初回作成日時。 |
updatedAt | 更新日時 | string | ドキュメントの最終更新日時。 |
confirmedAt | 確認日時 | string | アプリ画面側で確認フローが実行された日時。未確認時は ""。 |
confirmerName | 確認者氏名 | string | 確認を行ったユーザーの氏名。未確認時は ""。 |
approvedAt | 承認日時 | string | アプリ画面側で承認フローが実行された日時。未承認時は ""。 |
approverName | 承認者氏名 | string | 承認を行ったユーザーの氏名。未承認時は ""。 |