ロガーデータ取得API


ロガ―設定を実施したロガーデータをJSON形式で取得することができます。

以下のパラメータでロガーデータ取得を行います。

HTTPリクエストメソッド POST
URL http://ortopiaj.jp/php/trend_api.php
BODY JSON形式で設定
JSONキー 必須/任意 説明
CID 必須 企業ID (デフォルト値:"con")
PID 必須 プロジェクトID
UID 必須 ユーザーID(ユーザ権限:デバイスのみ)
PWD 必須 パスワード文字列をハッシュ化 [sha256]
DTYPE 必須 グラフタイプ
0:リアルタイム(生データ:data_native_device_data_[デバイスID]_[クラウドキー])
1:ヒストリカル(分データ:data_calc_minute_data_[デバイスID]_[クラウドキー])
ST 必須 取得開始日時
DTYPE=0:"YYYYMMDDHHMMSS"
DTYPE=1:"YYYYMMDDHHMM"
ET 必須 取得終了日時
DTYPE=0:"YYYYMMDDHHMMSS"
DTYPE=1:"YYYYMMDDHHMM"
PARAM 必須 データを取得したいタグを配列形式で、最大8タグまで指定
DID:デバイスID
CKEY:クラウドキー
TAG:タグ名
OTYPE 任意 データ間引きの方法 0:平均 1:最大 2:最小 3:直値 項目がなければ間引きなし
OPERIOD データ間引きを設定する場合必須 データ間引きの時間間隔 秒数の値を整数で指定
DTYPE=1の場合、分単位の秒数で指定(例:60,120,180...)
TS 任意 1:レスポンスにデータ毎のタイムスタンプ(UNIX時間)を追加
その他または項目なし:追加しない

日時を指定するパラメータでは、ロガーデータに記録されている時刻(デバイスの送信時刻)を指定してください。

データ間引きの時間間隔などパラメータ指定値の目安は、ヒストリカルトレンドのヘルプを参照ください。

なお、直値の間引きは取得時間の範囲と間引き時間からデータ数を求めて、取得データを決定します。

リクエストの例:

{"CID":"con","PID":"XXX","UID":"XXX","PWD":"XXX","DTYPE":1,"ST":"202110040000","ET":"202110070000","OTYPE":0,"OPERIOD":120,"TS":1,
"PARAM":[{"DID":"XXX","CKEY":"XXX","TAG":"XXX"},{"DID":"XXX","CKEY":"XXX","TAG":"XXX"}]}

1度で取得できる期間は1秒~30日までです。30日を越えた場合、30日まで取得します。

また、1度で取得できるデータ数は以下の通りです。

タグ数 1タグあたり取得できるデータ数
1 80,000
2 70,000
3 60,000
4 50,000
5 40,000
6 30,000
7 20,000
8 10,000

レスポンスのパラメータは以下の通りです。

HTTPステータスコード 詳細
200 下記のDATAの説明を参照してください。
400 指定した企業やプロジェクトが存在していません。
401 ユーザー、パスワード、権限が間違っているためログインできませんでした。
404 データを取得する全てのタグ名が存在しません。
500 サーバ内エラー
JSONキー 説明
DATA 以下のフォーマットでレスポンスします。
[
[[設定したタグの1番目の値の配列],[2番目のタグの値の配列],[3番目のタグの値の配列]・・・]
]
TS リクエストでTSに1を指定した場合、データ毎のタイムスタンプ(UNIX時間)を配列形式でレスポンスします。
ET 取得終了日時です。
取得できるデータ数制限以上のデータを取得したい場合、次回の取得開始日時(ST)の設定に利用できます。
DTYPE=0:"YYYYMMDDHHMMSS"
DTYPE=1:"YYYYMMDDHHMM"
OPERIOD データ間引きの設定を行った場合、データ間引きの時間間隔(秒数)の値をレスポンスします。
ERROR レスポンス内容にエラーがある場合にレスポンスします。詳細は以下「ERRORに記載される内容」を参照してください。

レスポンスの例:

{"DATA":[[],[]],"TS":[],"ET":"202110070000","OPERIOD":120}

ERRORに記載される内容:

エラーメッセージ 説明
No json リクエストがJSON形式ではありません。リクエストのフォーマットを確認してください。
No (キー名) Key リクエストに有効な値の入ったキーがありません。リクエストのフォーマットや値を確認してください。
Tags request over リクエストのタグ数が8より多く指定されています。8以下にしてください。
PARAM key contents error デバイスIDやクラウドキー、タグ名の設定がありません。リクエストのフォーマットを確認してください。
Empty data: (デバイスID).(クラウドキー):(タグ名) 取得データが1タグ以上存在しない場合、最後のタグ名が表示されます。リクエストのタグ名を確認してください。
Empty data 取得データが全て存在しません。

PowerShellでリクエストする場合の例:

$response = Invoke-WebRequest -Method POST -Uri "http://localhost/php/trend_api.php" -Body "{`"CID`":`"con`",`"PID`":`"XXX`",`"UID`":`"XXX`",`"PWD`":`"XXX`",`"DTYPE`":1,`"ST`":`"202110040000`",`"ET`":`"202110070000`",`"OTYPE`":0,`"OPERIOD`":120,`"TS`":1,`"PARAM`":[{`"DID`":`"XXX`",`"CKEY`":`"XXX`",`"TAG`":`"XXX`"},{`"DID`":`"XXX`",`"CKEY`":`"XXX`",`"TAG`":`"XXX`"}]}"