インターネット オブ キッチンプラットフォーム(Internet of Kitchen Platform)

ダウンロード API 仕様書

一般社団法人日本エレクトロヒートセンター
インターネットオブキッチンプラットフォーム運営ワーキンググループ
2021/4/1 | VER.1

内容１

はじめに .............................................................................................. 2２

システム概要......................................................................................... 3３

データの受信に係る仕様について ................................................................... 4３.１

４

取得するデータの特定方法について .......................................................... 4受信を行うデータ仕様............................................................................... 5４.１

データ形式 ..................................................................................... 5４.２

厨房機器データのダウンロード用フォーマット .................................................. 5５

ダウンロード API の種類について.................................................................... 8６

ダウンロード側セキュリティ認証方法について........................................................ 9７トークン取得/更新用 API 仕様 .................................................................. 10トークン取得用 API 仕様 ................................................................... 10７.２

トークン更新用 API 仕様 ................................................................... 11８７.１

厨房機器ダウンロード API 仕様 ................................................................. 12
日別・単品ダウンロードの場合 .............................................................. 12８.２

複数日・複数機器同時ダウンロードの場合 ................................................ 12８.３

単品の最新データダウンロードの場合 ....................................................... 14８.４

複数機器の最新データダウンロードの場合 ................................................. 14９８.１

メタデータダウンロード API について ............................................................... 16９.１

ダウンロード API のセキュリティ認証について ................................................ 16９.２

メタデータダウンロード API 仕様 ............................................................. 16

1 / 18

１ はじめに
本書は一般社団法人日本エレクトロヒートセンター（以下 JEHC）が運営する厨房機器データの共有化クラウドプラットフォームである「インターネットオブキッチンプラットフォーム（Internet ofKitchen Platform）」（以下、本 PF）から、厨房機器データのダウンロードを行うためのアプリケーションプログラミングインターフェース（以下、ダウンロード API）に関する仕様書である。

2 / 18

２ システム概要
本 PF はメーカー横断的に厨房機器のデータを収集し、この一部または全部をオープンデータとして広く一般に共有するために構築されるものである。具体的には、多種多様なメーカーが取り扱う厨房機器の運転データを「集中管理装置（別途定義）」を通じて本 PF に収集・保管する。保管されたデータは、温度管理などの目的に応じて厨房機器の運転データを必要とするシステム・機器、即ち「マーケットプレイス」へ提供される。本システムの概要図は以下の通りである。

本 PF

Internet of Kitchen
Platform

図１：システム概要図
なお、図１に示す通り本 PF はクラウドサービスとして一般公開されることを前提として以降の記述を行う。
食品製造施設に設置された厨房機器のデータは、別途定義する「集中管理装置」によって集約される。この集約したデータを本 PF に送信するための API（Application Programing Interface）を「ダウンロード API」と定義する。
ダウンロード API によって本 PF に保管されたデータは、それを利用するためのシステム・ソフトウェア・ハードウェアといった「マーケットプレイス」に提供される。このマーケットプレイスから本 PF にデータを要求するための API を「ダウンロード API」と定義する。
なお、上記の API はすべて Web API として定義する。

3 / 18

３ データの受信に係る仕様について
３.１

取得するデータの特定方法について

本 PF の基本理念として、「個人情報に纏わる情報、ないし食品施設の特定につながる情報」はこれを保管しないものとする。ダウンロード API の利用時にも個人情報の類は使用することはない。
ダウンロード時に厨房機器をユニークなものとして特定する手段としては、以下の情報を付加する事によって行うものとする。
・製造メーカーコード（標準通信仕様書にて定義済み）
・機種名（メーカー独自に設定されたもの）
・シリアル No（メーカーが製品を一意に特定できるもの）
同様に、取得に伴うユニークキーとして上記を扱うものとする。
よって、マーケットプレイスが特定の店舗等に配置された厨房機器のデータを取得する場合は、該当店舗の機種名・シリアル No を別途入手する必要がある。

4 / 18４ 受信を行うデータ仕様
受信を行うデータの文字コードは、UTF-8 とする。
なお、本章で記載するデータはサンプルであり、実際のものではない。
４.１

データ形式

本プラットフォームに対して受信を行うデータ形式は「JSON 形式」とする。
４.２

厨房機器データのダウンロード用フォーマット

計測時刻(measureTime)は JST とする。
{
“makerCode”: “FK”,"modelId": "URD-040F","serialNo": "00F0000","timeList": [{"sensorId": "TMPA","dataList": [{"measureTime": "201809211200000000000", "data": "0"},{"measureTime": "201809211300000000000", "data": "0"},{"measureTime": "201809211400000000000", "data": "0"},{"measureTime": "201809211500000000000", "data": "0"}]},{"sensorId": "SETA","dataList": [{5 / 18

"measureTime": "201809211200000000000", "data": "6"},{"measureTime": "201809211300000000000", "data": "6"},{"measureTime": "201809211400000000000", "data": "6"},{"measureTime": "201809211500000000000", "data": "6"}]},{"sensorId": "RUN","dataList": [{"measureTime": "201809211200000000000", "data": "運転"},{"measureTime": "201809211300000000000", "data": "運転"},{"measureTime": "201809211400000000000", "data": "運転"},{"measureTime": "201809211500000000000", "data": "運転"}]},{"sensorId": "DEF","dataList": [{"measureTime": "201809211200000000000", "data": "冷却"},6 / 18{"measureTime": "201809211300000000000", "data": "冷却"},{"measureTime": "201809211400000000000", "data": "冷却"},{"measureTime": "201809211500000000000", "data": "冷却"}]},{"sensorId": "AL1","dataList": [{"measureTime": "201809211200000000000", "data": "----"},{"measureTime": "201809211300000000000", "data": "----"},{"measureTime": "201809211400000000000", "data": "----"},{"measureTime": "201809211500000000000", "data": "----"}]}]}

7 / 18５ ダウンロード API の種類について
本 PF では、厨房機器データをダウンロードする「厨房機器データダウンロード API」と、厨房機器のメタデータをダウンロードできる「メタデータダウンロード API」の 2 つの API を提供する。各 API の想定する利用者と内容については以下の通りである。
・「厨房機器データダウンロード API」は、マーケットプレイスが本 PF から「4.2 で定義された厨房機器の測定データ」をダウンロードするための API である。
・「メタデータダウンロード API」は、厨房機器メーカーが本 PF に対して登録した「9.2 で定義された厨房機器のセンサー情報を含むメタデータ」を、マーケットプレイスがダウンロードするために用いる API である。
このメタデータを用いる事により、マーケットプレイスは「厨房機器データダウンロード API」で取得したセンサーデータの内容の定義を取得することができる。

8 / 18

６ ダウンロード側セキュリティ認証方法について
Web API との認証方法は「OAuth2.0」を基本としたトークン認証にて行うものとする。
データ利用者は JEHC から事前にトークン取得に必要な ID・パスワードの発行を受ける必要がある。
また、ダウンロード API は、マーケットプレイスが受領する ID・パスワードにて利用可能である。マーケットプ
レイスが受領する ID のパスワード有効期限は 730 日とする。

9 / 18

７ トークン取得/更新用 API 仕様
6 章で取得した ID・パスワードを使ったアクセストークン/リフレッシュトークンの取得、アクセストークンの更新を行う API を下記の通り定義する。
７.１

トークン取得用 API 仕様

認証用のトークンを取得する場合、以下の通りの API 仕様として定義する。本 PF では Microsoft ID
プラットフォームにより ID 管理を行うため、トークン取得には Microsoft Azure の API を使用する。
リクエスト
URL

https://login.microsoftonline.com/organizations/oauth2/v2.0/token

MethodPOST

Content-Typeapplication/x-www-form-urlencoded

Parameter

grant_type=password （固定文字）
username=[username]（ユーザー名）
password=[password] （パスワード）
client_id=[client_id]（PF が指定する値）
scope=[PF が指定する値]

レスポンス{"access_token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","token_type": "bearer","expires_in": 3599,"ext_expires_in": 3599,"refresh_token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

上記レスポンスの access_token がアクセストークンとなり、ダウンロードに必要なトークンとなる。
exipires_in はアクセストークンの有効期限（単位：秒）となる。ext_expires_in は Azure Active
Directory のセキュリティトークンサービスが停止している場合のアクセストークンの有効期間の延長を示
す値（単位：秒）である。exipires_in および ext_expires_in の両方が有効期限切れになった場合そのアクセストークンは無効となる。refresh_token はアクセストークンの期限が切れた後に再度アクセストークンを取得するために必要となる。リフレッシュトークンの有効期限は 90 日である。
参考：Microsoft ID プラットフォームと OAuth 2.0 リソース所有者のパスワード資格情報
https://docs.microsoft.com/ja-jp/azure/active-directory/develop/v2-oauth-ropc
10 / 18

７.２

トークン更新用 API 仕様

認証用のアクセストークンの期限が切れた場合に、リフレッシュトークンによってアクセストークンの更新を行
うための API 仕様を以下の通りとして定義する。７.１と同様に、Microsoft Azure の API を使用する。
リクエスト
URL

https://login.microsoftonline.com/organizations/oauth2/v2.0/token

MethodPOST

Content-Typeapplication/x-www-form-urlencoded

Parameter

grant_type=refresh_token（固定文字）
refresh_token =[refreshtoken] （リフレッシュトークン）
client_id=[client_id]（PF が指定する値）
scope=[PF が指定する値]

レスポンス{"access_token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","token_type": "bearer","expires_in": 3599,"ext_expires_in": 3599,“refresh_token”:"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

上記レスポンスについては、7.1 と同様である。
参考Microsoft ID プラットフォームと OAuth 2.0 認証コード フロー – アクセストークンを更新する
https://docs.microsoft.com/ja-jp/azure/active-directory/develop/v2-oauth2-authcode-flow#refresh-the-access-token

11 / 18

８ 厨房機器ダウンロード API 仕様
本 API は、複数機器複数日の同時ダウンロードの用途が想定されるため「単品ダウンロード」「複数ダウンロード」の 2 パターンを用意する。
また、最新の更新データのみが必要となる場合が想定されるため、「最新データのダウンロード」の機能を定義する。
なお、リクエストの日付(date/from/to)は JST とする。
８.１

日別・単品ダウンロードの場合

厨房機器ダウンロード API のうち、単品・単日のデータダウンロードを行う API を以下の通り定義する。
フクシマガリレイ（FK）製
業務用冷蔵庫（URD-040F）
シリアル No "00F0000",
日付 2019/01/01のデータをダウンロードしたい場合
リクエストURL

https://www.iok-pf.com/dapi/v1/sensor-data-file-mgt/authdownload

MethodPOST

Content-Typeapplication/json

Parameterなし

Headerbearer ****************************************（アクセストークン）

Body{"makerCode":"FK","modelId":" URD-040F ","serialNo":"00F0000""date":"2019-01-01"}

レスポンス：4.2 のフォーマットに準じたダウンロードデータ
８.２

複数日・複数機器同時ダウンロードの場合

厨房機器ダウンロード API のうち、同時に・複数機器のデータをダウンロードする API を以下の通り定義する。
12 / 18

フクシマガリレイ（FK）製

フクシマガリレイ（FK）製

ホシザキ（HZ）製

業務用冷蔵庫（URD-040F）

業務用冷蔵庫（URD-040F）

業務用冷蔵庫（HR-63AT）

シリアル No "00F0000",

シリアル No "00F0001",

シリアル No "000000",

日付 2019/01/01
から 2019/01/05

上記の 3 種類のデータを同時にダウンロードしたい場合は以下の通りとする。
リクエスト
URL

https://www.iok-pf.com/dapi/v1/sensor-data-file-mgt/authdownload

MethodPOST

Content-Typeapplication/json

Parameterなし

Headerbearer ****************************************（アクセストークン）

Body{"device_list": [{"makerCode": "FK","modelId": "URD-040F","serialNo": "00F0000"},{"makerCode": "FK","modelId": "URD-040F","serialNo": "00F0001"},{"makerCode": "HZ","modelId": "HR-63AT","serialNo": "000000"}],"from":"2019-01-01","to":"2019-01-05"}

13 / 18

レスポンス：4.2 のフォーマットに準じたダウンロードデータ
８.３

単品の最新データダウンロードの場合

厨房機器ダウンロード API のうち、単品・最新のデータダウンロードを行う API を以下の通り定義する。
フクシマガリレイ（FK）製
業務用冷蔵庫（URD-040F）
シリアル No "00F0000",の最新データをダウンロードしたい場合
リクエスト
URL

https://www.iok-pf.com/dapi/v1/sensor-data-file-mgt/latestdownload

MethodPOST

Content-Typeapplication/json

Parameterなし

Headerbearer ****************************************（アクセストークン）

Body{"makerCode":"FK","modelId":" URD-040F ","serialNo":"00F0000"}

レスポンス：4.2 のフォーマットに準じたダウンロードデータ
８.４

複数機器の最新データダウンロードの場合

厨房機器ダウンロード API のうち、同時に複数機器の最新データをダウンロードする API を以下の通り定義する。
フクシマガリレイ（FK）製

フクシマガリレイ（FK）製

ホシザキ（HZ）製

業務用冷蔵庫（URD-040F）

業務用冷蔵庫（URD-040F）

業務用冷蔵庫（HR-63AT）

シリアル No "00F0000",

シリアル No "00F0001",

シリアル No "000000",

上記の 3 種類のデータを同時にダウンロードしたい場合は以下の通りとする。

14 / 18

リクエスト
URL

https://www.iok-pf.com/dapi/v1/sensor-data-file-mgt/latestdownload

MethodPOST

Content-Typeapplication/json

Parameterなし

Headerbearer ****************************************（アクセストークン）

Body{"device_list": [{"makerCode": "FK","modelId": "URD-040F","serialNo": "00F0000"},{"makerCode": "FK","modelId": "URD-040F","serialNo": "00F0001"},{"makerCode": "HZ","modelId": "HR-63AT","serialNo": "000000"}]}

レスポンス：4.2 のフォーマットに準じたダウンロードデータ

15 / 18

９ メタデータダウンロード API について
「メタデータダウンロード API」は、ダウンロード API で取得できる厨房機器データのメタデータを取得するための API として定義する。「メタデータ」を参照することにより、ユーザーはダウンロード API で取得した情報のうち「sensorId」の内容を取得することができるようになる。これによって、マーケットプレイス企業は厨房機器メーカーに問い合わせを行うことなく、厨房機器のセンサーデータが何を示しているのかを取得し、開発するシステムやデータベースの定義を行うことができるようになる。
「メタデータ」の定義としては以下の通りとする。
・sensorId：センサーデータの変数名

・sensorName：センサーデータの日本語表記名

・dataType：int/float/bit/stat/string/binary/json の何れか

・unit

：データに付加すべき単位情報

９.１

ダウンロード API のセキュリティ認証について

メタデータダウンロード API でも認証ダウンロード API と同様の認証を行う。そのため、７章で述べたトークン取得/更新 API よりアクセストークンを取得の上 API リクエストを行うものとする。
９.２

メタデータダウンロード API 仕様

メタデータダウンロード API の仕様を以下の通り定義する。
データのダウンロードと異なり、シリアル No の違いによってメタデータが変わる事はない為それらを指定する必要はない。
フクシマガリレイ（FK）製
業務用冷蔵庫（URD-040F）のメタデータをダウンロードしたい場合
リクエスト
URL

https://www.iok-pf.com/dapi/v1/metadownload

MethodPOST

Content-Typeapplication/json

Parameterなし

Headerbearer ************************************（アクセストークン）

Body{"makerCode":"FK",16 / 18

"modelId":" URD-040F "}

レスポンス
{
{
"makerCode":"FK","modelId":"URD-040F","sensorId":"TMPA","sensorName":"庫内温度 A","dataType":"int","unit":"℃"},{"makerCode":"FK","modelId":"URD-040F","sensorId":"SETA","sensorName":"設定温度 A","dataType":"int","unit":"℃"},{"makerCode":"FK","modelId":"URD-040F","sensorId":"RUN","sensorName":"運転","dataType":"string","unit":""},{"makerCode":"FK","modelId":"URD-040F","sensorId":"DEF","sensorName":"霜取","dataType":"string","unit":""

17 / 18

},{"makerCode":"FK","modelId":"URD-040F","sensorId":"AL1","sensorName":"警報 1","dataType":"stat","unit":""}}

以上

18 / 18