获取保存数据API


通过此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秒至30天;如果超过30天,则限定为30天。

此外,一次可获取的数据数量如下

标签名的数量 每个标签名的数据数量上限
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 指定的公司ID或项目ID不存在。
401 由于用户ID、密码或权限不正确,无法登录。
404 要检索数据的所有标签名称都不存在。
500 服务器内部错误
JSON键 说明
DATA 应答数据的格式如下。
[
[[第一个标签名的数据的数组].[第二个标签名的数据的数组],[第三个标签名的数据的数组]・・・]
]
TS 如果TS在请求中被设置为1,响应将是每个数据的时间戳阵列(UNIX时间)。
ET 获取的结束日期和时间。
如果你想获得超过限制数的数据,这可以用前次返回的结束时间,指定开始时间(ST),再次获取数据。
DTYPE=0:"YYYYMMDDHHMMSS"
DTYPE=1:"YYYYMMDDHHMM"
OPERIOD 如果设置了数据抽取,则返回实际用于数据抽取的时间间隔(以秒为单位)。
ERROR 如果响应内容中存在错误,则返回详细的错误内容。请参见以下“ERROR中包含的信息”部分。

答复的例子:

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

ERROR中包含的信息:

ERROR信息 说明
No json 请求不是JSON格式的。 请检查请求的格式。
No Key 该请求不包含有效值的键。 请检查请求的格式和价值。
Tags request over 请求中的标签数量超过了8个,请减少到8个或更少。
PARAM key contents error 没有设置设备ID、云键(cloud key)或标签名称。 请检查请求的格式。
Empty data: 设备ID.云键:标签名 如果检索到的一个以上的数据不存在的标签名,将显示最后一个标签名称。 请检查要求的标签名称。
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`"}]}"