ロガーデータ取得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`"}]}" |