023-61709229

清洗机接口

发布日期:2022-09-04发布人:管理员

概述

对接方式

1、第三方系统上传设备运行参数数据:先登陆,获取Token,再通过Token上传相应数据即可;

 


【签名与登陆

对接说明

 

1、追溯系统提供WebAPI

2、数据提交方式:Post

3、数据格式:JSON

4、数据传输格式:utf-8

5、对接地址:现场配置,如:http://192.168.x.x:12345/api.ashx

 

数据格式

1post和返回格式相同;

字段

必填

说明

dateTime

接口发生时间,格式:yyyy-MM-dd HH:mm:ss

如果提交的时间与服务器时间相差超过5分钟,返回失败

rndCode

一个随机字符串,推荐使用GUID

data

报文正文,一个JSON,各函数另附说明

dataLng

报文字符串长度,中文按1个长度计算,如果与data的长度不一致,返回失败

sign

签名,一个md5结果大写字符串,参见签名说明


签名说明

sign=md5(dateTime.ToString("yyyy-MM-dd HH:mm:ss")   "|"   rndCode  "|"   sKey   "|"   dataLng)

 

1、md5的时候把字符串按GBK2312的方式编码后参与计算;

2、sKey:现场分配;

 

参考代码(c#):

/// <summary>

/// 返回sign

/// </summary>

/// <param name="dtime">流水时间</param>

/// <param name="dataLng">流水正文长度</param>

/// <param name="sKey">系统分配的sKey</param>

/// <returns></returns>

public static string GetMD5(DateTime dtime, int dataLng,string sKey)

{

    //获取需要加密的字符串

    string encypStr = dtime.ToString("yyyy-MM-dd HH:mm:ss")   "|"   Guid.NewGuid().ToString("N")   "|"   sKey   "|"   dataLng;

    //返回加密后的内容

    return System.BitConverter.ToString((new MD5CryptoServiceProvider()).ComputeHash(Encoding.GetEncoding("GB2312").GetBytes(encypStr))).ToUpper();

}

 


成功时返回报文正文说明

{... ... "OK":true,  ... ... }

成功时报文正文里必有:OK:true

其它内容参见各函数说明;

 

 

示例:

{

  "dateTime": "2021-01-01 00:00:00",

  "rndCode": "df4a4949-dabb-4b15-9038-0409ebf047ae",

  "dataLng": "???",

  "sign": "xxxx",

  "data": {

"OK": true

...... (有可能不存在其它参数)

  }

}

 

失败时返回报文正文说明

{... ..."OK":false,"Message":"错误说明", ... ...}

失败时报文正文里必有:OK:false Message

Message里表示失败原因,如果有用户界面,该失败原因可直接向用户显示;

 

示例:

{

  "dateTime": "2021-01-01 00:00:00",

  "rndCode": "df4a4949-dabb-4b15-9038-0409ebf047ae",

  "dataLng": "???",

  "sign": "xxxx",

  "data": {

    "OK": false,

    "Message": "???"

  }

}

 


函数说明

登陆

传入参数

字段

必填

说明

menukey

login.webonekey

username

现场分配

nodecode

现场分配

 

返回内容

字段

必填

说明

token

一个字符串,小于或等于50字节,24小时内有效,作为其它函数的参数使用

rsUser

登陆的操作员相关信息,不使用可忽略,如姓名

kehuid

登陆的医院相关信息,不使用可忽略,如医院名称

rsKeshi

登陆的科室相关信息,不使用可忽略,如科室名称

...


其它还有一些可选信息,可忽略

 

示例:

{

  "dateTime": "2021-01-01 00:00:00",

  "rndCode": "df4a4949-dabb-4b15-9038-0409ebf047ae",

  "dataLng": "???",

  "sign": "xxxx",

  "data": {

    "menukey": "login.webonekey",

    "username": "???",

    "nodecode": "???"

  }

}

 

实例:

{"data":"{\"menukey\":\"login.webonekey\",\"username\":\"621764\",\"nodecode\":\"741A2E10-5FF2-4C66-AE2F-00124887765D\"}","dateTime":"2021-09-02 16:10:49","rndCode":"31f5d485-71b1-44c3-ab29-9f376bcd62be","dataLng":99,"sign":"B380C2D9AD401A21989D406057218419"}

 

里面没有换行符,因显示的原因产生了换行


【业务函数

根据自身业务情况,单笔上传和整批次上传选其一进行开发即可。如果客户要求实时显示设备运行数据(如温度曲线和压力曲线),则必须实时采用单笔上传。

 

 

【单笔上传

传入参数

字段

必填

说明

menukey

liuchen.mjzsDevRecAdd

gxtoken

登陆时获取的token

devNo

设备编号,现场分配

runIndex

总运行批次号

dayRunIndex

当日运行批次号

progName

运行程序

A0

A0值

dateTime

采集时间

isEnd

是否结束:True已经是最后一笔/False未结束

jieDuanName

运行阶段

wenDu

温度,支持小数

yaLi

压力,支持小数

wenDu2

温度,如腔外温度

wenDu3

温度,如多点监测的温度

wenDu4

温度,如多点监测的温度

yaLi2

压力

 

返回内容

字段

必填

说明

无必要字段



 


【整批次上传

传入参数

字段

必填

说明

menukey

liuchen.mjzsDevRecAdds

gxtoken

登陆时获取的token

devNo

设备编号,现场分配

runIndex

总运行批次号

dayRunIndex

当日运行批次号

progName

运行程序

A0

A0值

beginDateTime

开始时间

endDateTime

结束时间

Recs

运行数据列表

 

Recs列表内容:至少包括6条记录;

字段

必填

说明

jieDuanName

运行阶段

wenDu

温度,支持小数

yaLi

压力,支持小数

wenDu2

温度,如腔外温度

wenDu3

温度,如多点监测的温度

wenDu4

温度,如多点监测的温度

yaLi2

压力

 

返回内容

字段

必填

说明

无必要字段