重要管理 API
重要管理 ( app=criticalControl )の点検結果を扱う API の仕様です。
共通の認証・ベースURLは 基本情報・認証仕様 を参照してください。
1. 🗺️ エンドポイント一覧
| メソッド | エンドポイント(クエリパラメータ) | 処理概要 |
|---|---|---|
| POST | ?app=criticalControl | 点検結果の登録(同一営業日は洗い替え) |
| GET | ?app=criticalControl&docId={id} | 点検結果の単一取得 |
| GET | ?app=criticalControl&date=YYYY-MM | 月次一覧取得(点検日基準) |
| GET | ?app=criticalControl&date=YYYY-MM-DD | 日次一覧取得(点検日基準) |
⚠️ 非対応スコープ(制限事項)
以下の操作およびデータ連携には対応していません。
- 確認済み結果の更新、データの削除
- 確認・承認フローの実行
- 特記事項(コメント)の取得・登録
- 本部点検票の紐づけ設定
- NG 時のメール通知
- メニューマスタの取得・更新
2. 📥 POST: 点検結果の登録
登録リクエストは他 API と同様に 常に data 配列 で送ります。
重要管理 API では data は必ず1件 です(複数日の一括送信は不可)。
店舗・営業日あたり1ドキュメントです。同一営業日へ再送信すると、未確認の結果を洗い替え更新します。 確認済み( confirmerName が空でない)の結果は更新できません。
営業日( registeredAt )は店舗の閉店時刻を加味してサーバーが算出します(リクエストに含めても無視)。
2.1 リクエストデータ構造
| 物理キー | 論理名 | データ型 | 必須状況 | 概要・制約 |
|---|---|---|---|---|
data | 登録対象一覧 | array | 必須 | 重要管理オブジェクトの配列。 要素数は必ず1 。 |
data[].sender | 送信者名 | string | 必須 | 点検を実施・送信した担当者の氏名。空文字不可。 |
data[].category01 〜 category05 | 分類1〜5 | object | 必須 | 点検票の5分類。すべて必須です。どのキーがどの分類かは 2.2 の固定分類表を参照。 |
2.2 分類(category01 〜 category05)
点検票の上から5枠です。分類名はリクエストに含めません。サーバーが次の固定名称を categoryName として保存します。
| 物理キー | 点検票の並び | 保存される categoryName |
|---|---|---|
category01 | 1行目 | 非加熱のもの (冷蔵品を冷たいまま提供) |
category02 | 2行目 | 加熱するもの (冷蔵品を加熱し熱いまま提供) |
category03 | 3行目 | 常温保管するもの |
category04 | 4行目 | 加熱後冷却し再加熱するもの |
category05 | 5行目 | 加熱後冷却するもの |
| 物理キー | 論理名 | データ型 | 必須状況 | 概要・制約 |
|---|---|---|---|---|
categoryName | 分類名 | string | 指定不可(無視) | リクエストに含めても使用しません。上の固定分類表の名称をサーバーが保存します。 |
checkResult | 点検結果 | string | 必須 | "OK" または "NG"。 |
courses | コース | array | 必須 | 空配列可。各要素は courseName と menus。 |
courses[].courseName | コース名 | string | 必須 | 空文字不可。 |
courses[].menus | メニュー | array | 必須 | 空配列可。 |
courses[].menus[].menuName | メニュー名 | string | 必須 | 空文字不可。 |
courses[].menus[].remarks | 備考 | string | 任意 | 未指定時は空文字として保存します。 |
2.3 リクエストJSONサンプル
{
"data": [
{
"sender": "山田太郎",
"category01": {
"checkResult": "OK",
"courses": [
{
"courseName": "通常メニュー",
"menus": [
{ "menuName": "サラダミックス", "remarks": "" }
]
}
]
},
"category02": {
"checkResult": "OK",
"courses": [
{
"courseName": "通常メニュー",
"menus": [
{ "menuName": "ハンバーグ", "remarks": "" }
]
}
]
},
"category03": {
"checkResult": "OK",
"courses": [
{
"courseName": "通常メニュー",
"menus": []
}
]
},
"category04": {
"checkResult": "OK",
"courses": []
},
"category05": {
"checkResult": "OK",
"courses": []
}
}
]
}2.4 入力バリデーションルール
- 基本構造の不備 :
dataが無い、空配列、または2件以上。 - 必須項目の欠落 :
senderが未指定または空文字、category01〜category05のいずれかがオブジェクトでない。 checkResultの値不正 :"OK"/"NG"以外。
💡 日報用正常判定(
isNormalForReport)
クライアントからの値は使わず、サーバー側で再計算します。 5分類のcheckResultに"NG"が1つでもあればfalse、すべて"OK"ならtrueです。
2.5 POST レスポンス仕様
HTTPステータスコードは全体成功を示す 200 、全件失敗を示す 400 を返却します。 data は1件のため、一部成功( 207 )にはなりません。
{
"status": "success",
"shopUID": "xxxxxxxxxxxxxxxxxxxx",
"summary": {
"requested": 1,
"created": 1,
"failed": 0
},
"results": [
{
"index": 0,
"status": "success",
"docId": "critical_control_doc_id_11111"
}
]
}3. 📤 GET: 点検結果の取得
取得系APIにおいて、レスポンスに含まれるすべての日付・時刻フィールドは、 YYYY/MM/DD HH:mm の文字列形式に統一されて返却されます。 未確認・未承認の日時は空文字です。
3.1 単一取得(docId 指定)
- Request:
GET {baseUrl}?app=criticalControl&docId=critical_control_doc_id_11111
{
"data": [
{
"id": "critical_control_doc_id_11111",
"userUID": "API_COMMON_USER",
"shopUID": "xxxxxxxxxxxxxxxxxxxx",
"sender": "山田太郎",
"category01": {
"categoryName": "非加熱のもの\n(冷蔵品を冷たいまま提供)",
"checkResult": "OK",
"courses": [
{
"courseName": "通常メニュー",
"menus": [
{ "menuName": "サラダミックス", "remarks": "" },
{ "menuName": "チョップドサラダ", "remarks": "" }
]
}
]
},
"category02": {
"categoryName": "加熱するもの\n(冷蔵品を加熱し熱いまま提供)",
"checkResult": "NG",
"courses": [
{
"courseName": "通常メニュー",
"menus": [
{ "menuName": "ハンバーグ", "remarks": "" }
]
}
]
},
"category03": {
"categoryName": "常温保管するもの",
"checkResult": "OK",
"courses": [
{
"courseName": "通常メニュー",
"menus": [
{ "menuName": "パン", "remarks": "" }
]
}
]
},
"category04": {
"categoryName": "加熱後冷却し再加熱するもの",
"checkResult": "OK",
"courses": [
{
"courseName": "通常メニュー",
"menus": []
}
]
},
"category05": {
"categoryName": "加熱後冷却するもの",
"checkResult": "OK",
"courses": [
{
"courseName": "通常メニュー",
"menus": []
}
]
},
"isNormalForReport": false,
"registeredAt": "2026/08/20 00:00",
"sentAt": "2026/08/20 09:16",
"confirmedAt": "",
"confirmerName": "",
"approvedAt": "",
"approverName": "",
"createdAt": "2026/08/20 09:16",
"updatedAt": "2026/08/20 09:16"
}
]
}3.2 一覧取得(date 指定)
GET {baseUrl}?app=criticalControl&date=2026-08(月次一覧取得)GET {baseUrl}?app=criticalControl&date=2026-08-20(日次一覧取得)
date は YYYY/MM 、 YYYY/MM/DD 、ハイフン区切りのいずれも受け付けます。 範囲は管理画面の点検結果一覧と同じく、 registeredAt (点検日の 00:00)です。
💡 サーバー側での自動フィルタリング・ソート規則
- 認証されたAPIキーに紐づく
shopUIDのデータのみに自動制限されます。- データは 点検日順(
registeredAtの昇順) 、同じ点検日内においては 送信日時順(sentAtの昇順) でソートして返却されます。
3.3 🗂️ 点検結果オブジェクト詳細定義(GETレスポンス)
| フィールドキー | 論理名 | データ型 | 概要・返却値のルール |
|---|---|---|---|
id | ドキュメントID | string | データベース上で一意に割り振られたドキュメントID。 |
sender | 送信者名 | string | 点検を送信した担当者の氏名。 |
userUID | ユーザーID | string | 送信したユーザーのID。 |
shopUID | 店舗ID | string | 点検結果が属する店舗ID。 |
category01 〜 category05 | 分類1〜5 | object | 点検票の分類。画面の列 1〜5 に相当します。詳細は 3.4 を参照。 |
isNormalForReport | 点検結果 | boolean | 5分類がすべて OK なら true 、1件でも NG なら false 。 |
registeredAt | 点検日 | string | 点検日の 00:00。一覧の日付・月の絞り込みに使います。 |
sentAt | 送信日時 | string | 点検結果を保存した日時。 |
createdAt | 作成日時 | string | ドキュメントの初回作成日時。 |
updatedAt | 更新日時 | string | ドキュメントの最終更新日時。 |
confirmedAt | 確認日時 | string | 管理画面で確認された日時。未確認時は ""。 |
confirmerName | 確認者氏名 | string | 確認を行ったユーザーの氏名。未確認時は ""。 |
approvedAt | 承認日時 | string | 管理画面で承認された日時。未承認時は ""。 |
approverName | 承認者氏名 | string | 承認を行ったユーザーの氏名。未承認時は ""。 |
3.4 分類(category01 〜 category05)
点検票と点検結果詳細の分類です。各分類の点検結果は checkResult ( "OK" / "NG" )です。 コースとメニューは、送信時点のメニュー構成が結果に保存されています。
| フィールドキー | 論理名 | データ型 | 概要・返却値のルール |
|---|---|---|---|
categoryName | 分類名 | string | 2.2 の固定分類表と同じ文字列です。リクエストでは指定しません。 |
checkResult | 点検結果 | string | "OK" または "NG" 。 |
courses | コース | array | コースの配列。各要素は courseName と menus を持ちます。 |
courses[].courseName | コース名 | string | コース名(例: 通常メニュー)。 |
courses[].menus | メニュー | array | そのコースに分類されたメニュー。未登録のときは空配列です。 |
courses[].menus[].menuName | メニュー名 | string | メニュー名。 |
courses[].menus[].remarks | 備考 | string | メニューの備考。未設定のときは空文字です。 |