top

建恒流量计服务器使用说明——微信数据端

基本信息:

服务器的域名:https://weixin.hengxiao.net/
服务器使用说明文档:https://weixin.hengxiao.net/

以下均以JSON为例。对应HTTP Header为:

Content-Type: application/json
Accept: application/json

该API不支持以XML格式收发信息


用户注册

地址:https://api.gentos.hengxiao.net/v1/user/auth/register

用POST的形式发送一个JSON对象。
user_token是微信用于辨认用户的ID。通常是英文乱码。


200 OK代表注册成功

/* 发送消息的格式 */
{
  "user_token": string
}

用户注册状态

地址:https://api.gentos.hengxiao.net/v1/user/auth/check/

用POST的形式发送一个JSON对象
user_token是微信用于辨认用户的ID。通常是英文乱码。


若该用户没有关联流量计,返回registered字样。 否则,返回unregistered字样。

/* 发送消息的格式 */
{
  "user_token": string 
}

/* 接收消息的格式 */
registered/unregistered

用户流量计关联

地址:https://api.gentos.hengxiao.net/v1/user/flowmeter/link/

用POST的形式发送一个JSON对象。
user_token是微信用于辨认用户的ID。通常是英文乱码。
flowmeter_serial_number是流量计的ID。
flowmeter_nickname是用户给流量计定的昵称。


200 OK代表关联成功

/* 发送消息的格式 */
{
  "user_token": string,
  "flowmeter_serial_number": string,
  "flowmeter_nickname": string
}

关联流量计列表

地址:https://api.gentos.hengxiao.net/v1/user/flowmeter/list/

用POST的形式发送一个JSON对象
user_token是微信用于辨认用户的ID。通常是英文乱码。


若该用户没有关联流量计,返回为空。 否则,会返回一个流量计的Array。里面包含了流量计的信息,包括ID和昵称,以及最新的读数和最新读数的时间。

/* 发送消息的格式 */
{
  "user_token": string 
}

/* 接收消息的格式 */
[Flowmeters]

/* 其中,Flowmeter的数据格式是 */
{
  "serial_number": string, // 流量计ID
  "nickname": string, // 流量计昵称
  "latest_flow": integer, // 最新读数
  "latest_measure_time": string // 最新读数的时间
}

获取流量计最新读数

地址:https://api.gentos.hengxiao.net/v1/user/flow/view/

用POST的形式发送一个JSON对象。
user_token是微信用于辨认用户的ID。通常是英文乱码。
flowmeter_nickname是用户给流量计定的昵称。


value是流量计的最新读数。
measure_time是该读数的获得时间。

/* 发送消息的格式 */
{
  "user_token": string,
  "flowmeter_nickname": string
}

/* 接收消息的格式 */
{
  "value": integer,
  "measure_time": string
}

获取流量计历史读数

地址:https://api.gentos.hengxiao.net/v1/user/flow/view/

用POST的形式发送一个JSON对象。
user_token是微信用于辨认用户的ID。通常是英文乱码。
flowmeter_nickname是用户给流量计定的昵称。
start_time是获取读数的起始时间。(此参数为可选项。若未提供则视为从宇宙大爆炸开始。)
end_time是获取读数的终止时间。(此参数为可选项。若未提供则视为此时此刻。)


value是流量计的最新读数。
measure_time是该读数的获得时间。

/* 发送消息的格式 */
{
  "user_token": string,
  "flowmeter_nickname": string,
  "start_time": string,
  "end_time": string
}

/* 接收消息的格式 */
[
  {
    "value": integer,
    "measure_time": string  
  }, ...
]