厦门大学实验室资源信息管理系统
接口说明文档
1系统概述
厦门大学实验室资源信息管理系统,以下简称“校级平台”,各院级实验仪器管理系统,以下简称“院级系统”。管理单位可以按照统一的数据标准及格式规范,通过接口的方式将报送数据至校级平台。
本接口采用REST接口方式,提交与返回的数据为JSON格式,以实现校级平台与各院级系统在数据与服务方面的对接,更加有效地开展实验室资源信息管理服务。
本规范适用于各院级系统。
校级平台与院级系统共涉及4个接口,具体如下:
接口名称 | 用途 |
预约请求接口 | 接收校级平台推送的用户预约请求,返回仪器预约页面 |
仪器数据获取接口 | 接收校级平台推送的仪器信息 |
仪器数据报送接口 | 接收院级系统向校级平台推送仪器信息 |
使用记录上报接口 | 接收院级系统向校级平台推送仪器使用记录接口 |
用户信息接口 | 用于院级系统与校级用户统一认证和管理 |
接口描述:校级平台通过该接口将预约请求推至院级系统,获取相应院级系统返回的仪器预约页面。
请求消息参数描述
参数名称 | 类型 | 是否为空 | 描述 |
innerID | String | 否 | 仪器所属单位内部的唯一编码; |
insCode | String | 否 | 管理单位的唯一标识; |
响应消息参数描述
参数名称 | 类型 | 是否为空 | 描述 |
页面的地址(url) | String | 否 | 仪器预约页面的url |
接口流程
(1)校级系统发布预约仪器服务;
(2)用户点击预约按钮,接口将用户的预约请求(仪器所属单位内部编码innerID及单位唯一标识)送至相应的院级系统;
(3)院级系统接收到校级平台推送的预约请求,通过在线平台的预约审核流程对预约请求进行审核,根据审核结果并返回具体的仪器预约页面;
(4)用户可以在院级系统返回的预约页面中进行仪器预约操作。
注意事项
(1)校级平台统一分配院级单位的唯一标识;
(2)校级平台不提供仪器预约服务,只能将用户预约请求推送至院级系统,由院级系统提供具体的仪器预约服务;
(3)院级系统返回给校级平台的是具体的仪器与预约页面url,而不是院级系统的首页或其他页面,并且确保预约页面能打开;
(4)院级系统返回的预约页面中必须包括该仪器的开放日历及机时安排情况;
接口描述:院级系统获取校级平台仪器数据的接口。
请求消息参数描述
参数名称 | 类型 | 是否为空 | 描述 |
insCode | String | 否 | 院级单位的唯一标识 |
instruType | int | 否 | 填报数据类型: 9 仪器信息 |
响应消息参数描述
参数名称 | 类型 | 是否为空 | 描述 | ||
状态码 | int | 否 | 仪器数据推送结果: 100代表成功 101代表数据存取成功,并根据结果提示信息 200代表单位编码错误 201代表填报数据类型错误 202代表推送的数据json字符串格式错误 203代表验证数据格式错误 204代表其他异常 301代表数据库操作异常 | ||
仪器数据集合 | List | 否 | 见返回示例说明 | ||
返回示例说明
{"status":100,
"list":[
{
"CollegeName":"xxxx",//学院名称
"UnitNumber":"2J02",//单位号
"SASACClassificationNum":"2400502",//国资分类号
"InstrumentChineseName":"xxxx",//仪器名称(中文)
"InstrumentClassificationNumber":"03052207",//仪器分类号
"Model":"MCR302",//型号
"Specifications":"MCR302",//规格
"UnitPrice":"",//单价
"DateOfProduction":"2013\/12\/6 0:00:00",//出厂日期
"PurchaseDate":"2013\/12\/6 0:00:00",//购置日期
"StorageTime":"2014\/11\/25 0:00:00",//入库时间
"CountryOfOrigin":"xxxx",//生产国别
"CountryCode":"156",//国别码
"Manufacturer":"xxxx"//生产厂家
}
]
}
接口描述:院级系统上报校级平台仪器数据的接口。
请求消息参数描述
参数名称 | 类型 | 是否为空 | 描述 |
insCode | String | 否 | 院级单位的唯一标识 |
instruType | int | 否 | 填报数据类型: 9 仪器信息 |
仪器数据集合 | List | 否 | 见仪器数据集合字段说明 |
仪器数据集合字段说明
参数名称 | 是否必填 | 参数说明 | 示例参考 |
isCourtyardNew | 是 | 是否院级新增仪器 | 0为否 1为是 |
CollegeName | 是 | 学院名称 | |
UnitNumber | 是 | 单位号 | |
SASACClassificationNum | 是 | 国资分类号 | |
InstrumentChineseName | 是 | 仪器名称(中文) | |
InstrumentClassificationNumber | 是 | 仪器分类号 | |
Model | 是 | 型号 | |
Specifications | 是 | 规格 | |
UnitPrice | 是 | 单价 | |
DateOfProduction | 是 | 出厂日期 | |
PurchaseDate | 是 | 购置日期 | |
StorageTime | 是 | 入库时间 | |
CountryOfOrigin | 是 | 生产国别 | |
CountryCode | 是 | 国别码 | |
Manufacturer | 是 | 生产厂家 | |
InstrumentSharingCode | 是 | 仪器共享分类编码 | |
FundsNardNumber | 是 | 经费卡号 | |
MainTechnicalIndex | 是 | 主要技术指标 | |
MajorFundingSources | 是 | 主要经费来源 | |
MainTestResearchArea | 是 | 主要测试研究领域与代码 | |
FunctionalFeatures | 是 | 功能特色 | |
SharedMode | 是 | 共享模式 | |
OneYearOffCampusOpen | 是 | 一年内可用于对校外开放机时 | |
MeasurementCertification | 是 | 是否通过计量认证 | |
PlacePosition | 是 | 放置位置 | |
InstrumentImage | 是 | 仪器图片 | |
InstrumentResponsiblePerson | 是 | 仪器负责人 | |
InstrumentResponsiblePersonTel | 是 | 仪器负责人联系电话 | |
InstrumentResponsiblePersonMail | 是 | 仪器负责人电子邮箱 | |
InstrumentEinglishName | 否 | 仪器名称(英文) | |
响应消息参数描述
参数名称 | 类型 | 是否为空 | 描述 |
状态码 | int | 否 | 仪器数据推送结果: 100代表成功 101代表数据存取成功,并根据结果提示信息 200代表单位编码错误 201代表填报数据类型错误 202代表推送的数据json字符串格式错误 203代表验证数据格式错误 204代表其他异常 301代表数据库操作异常 |
接口流程
(1)校级平台发布仪器数据报送服务;
(2)院级系统通过该接口推送仪器数据至校级平台;
(3)校级平台验证单位唯一标识和仪器类别的正确性;验证失败则返回相应状态码;
(4)校级平台对上报的仪器数据进行验证,验证通过进行数据库存储,已报过的数据则进行更新;验证失败返回相应状态码;
注意事项
(1)院级系统通过接口报送的数据格式按照附录1中仪器数据报送接口的各类型仪器示例。
(2)校级平台统一分配院级单位的唯一标识;院级单位可登录校级平台查看本单位的唯一标识,院级系统需保存单位标识关联表;
(3)管理单位院级系统需将平台负责人的通讯邮箱上报校级平台;校级平台对数据验证的错误信息会以邮件的方式发送院级系统负责人的邮箱;
(4)院级系统接与校级平台的对接过程中,如果多次出现错误状态码,及时联系相关人员。
接口描述:院级系统将仪器使用记录数据上报到校级平台的接口。
请求消息参数描述
参数名称 | 类型 | 是否为空 | 描述 |
insCode | String | 否 | 院级系统的唯一标识 |
使用记录的集合 | List | 否 | 详见使用记录的集合字段说明 |
使用记录的集合字段说明
参数名称 | 是否必填 | 参数说明 | 示例参考 |
AppointmentStart | 是 | 预约时间(起) | 2013/12/6 0:00:00 |
AppointmentEnd | 是 | 预约时间(止) | 2013/12/6 0:00:00 |
AppointmentLength | 是 | 预约时长 | |
ControllerRecordStart | 是 | 控制器记录时间(起) | 2013/12/6 0:00:00 |
ControllerRecordEnd | 是 | 控制器记录时间(止) | 2013/12/6 0:00:00 |
ControllerRecordLength | 是 | 控制器记录的实际测试时长 | |
SampleNumber | 否 | 样品个数 | |
SendSampleName | 是 | 预约或送样人姓名 | |
SendSampleNumber | 是 | 预约或送样人教工号(学工号) | |
SendSampleGroup | 是 | 预约或送样人所属课题组 | |
SendSampleGroupHead | 是 | 预约或送样人所属课题组负责人 | |
CardPersonName | 是 | 刷卡人姓名 | |
CardPersonNumber | 是 | 刷卡人教工号(学工号) | |
CardPersonGroup | 是 | 刷卡人所属课题组 | |
OrderItemName | 否 | 预约检测项目名称 | |
SendSampleItemName | 否 | 送样检测项目名称 | |
响应消息参数描述
参数名称 | 类型 | 是否为空 | 描述 |
状态码 | int | 否 | 服务成效数据推送结果: 100代表成功 200代表单位编码错误 201代表推送的数据json字符串格式错误 202代表数据验证错误 203代表其他异常 301代表数据库操作异常 |
接口流程
(1)校级贵重仪器设备管理系统根据从各学院抓取的仪器设备使用情况数据作为计费数量的依据;
(2)院级系统调用该接口将单位的仪器设备使用情况数据推送至校级平台;
(3)校级平台首先验证单位唯一标识的正确性,验证通过则获取仪器设备使用情况数据;验证失败则返回相应的状态码;
(4)校级平台将上报的仪器设备使用情况数据进行验证,验证通过则保存到数据库中,验证失败则返回相应的状态码;
注意事项
(1)院级系统通过该接口报送的仪器设备使用情况数据按照附录1中的仪器使用记录接口的示例。
(2)校级平台统一分配院级单位的唯一标识;院级系统需保存单位标识关联表;院级单位可登录校级平台查看本单位的唯一标识;
(3)院级系统需将平台负责人的通讯邮箱地址上报校级平台;校级平台对数据的验证错误信息会以邮件的方式发送院级系统负责人的邮箱;
(4)院级系统接与校级平台的对接过程中,如果多次出现错误的状态码,需联系相关人员。
校级平台提供用户信息接口,用于院级系统与校级平台的用户统一认证和管理。具体详情见Oauth说明文档。
对接用户认证开发指南
(1) 管理单位网站重定向用户到校级平台提供的authorize接口,如果用户同意授权,校级平台会把用户重定向回到院级单位网站,并附上授权码authorize_code;
(2) 校级单位网站使用authorize_code向校级平台的access_token接口发起请求,校级平台在验证请求合法后,会返回访问令牌access_token;
(3) 校级单位网站使用access_token向resource接口发起请求,获取用户信息。
1. 用户在校级平台发起“预约仪器”请求,校级平台将请求重定向到院级平台。
2. 院级平台检查用户登录状态,若是登录状态,则直接转到仪器预约页面;若处于未登录状态,则转到步骤3代表的登录页面。
3. 单位平台的登录页面中要有“使用校级平台账号登录”入口。
4. 若用户选择直接使用院级平台账号登录,则登陆后转到仪器预约页面;若用户选择“使用校级平台账号登录”,则开始授权认证过程。
5. 重定向用户到校级平台authorize接口,请求authorize_code。校级平台authorize接口访问标准如下:
1) URL
2)
,固定为code | |||
redirect_uri | true | string | 授权回调地址,需与注册时设置的回调地址一致 |
scope | true | string | 申请scope权限所需参数,只提供read一种 |
state | true | string | 用于保持请求和回调的状态,在回调时,会回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置。这个参数可用于防止跨站请求伪造(CSRF)攻击 |
3) 返回数据
返回值字段 | 字段类型 | 字段说明 |
code | string | 用于调用access_token接口,获取授权后的access token |
state | string | 如果传递参数,会回传该参数 |
4) 示例:
请求:
6. ,访问校级平台的access_token接口,请求access_token。校级平台access_token接口访问标准如下:
5) URL
6)
,填写authorization_code | |||
code | true | string | 调用authorize获得的code值 |
redirect_uri | true | string | 回调地址,需与注册应用里的回调地址一致 |
7) 返回数据
返回值字段 | 字段类型 | 字段说明 |
access_token | string | 用于调用资源访问接口,获取用户数据 |
expires_in | string | access_token的生命周期,单位是秒数 |
8) 示例
请求:
"access_token": "ACCESS_TOKEN",
"expires_in": 1234,
}
7. 获得校级平台返回的access_token,访问校级平台resource接口,请求用户信息。校级平台的resource接口访问标准如下:
9) URL
10)
11)
"username ": "USERNAME",
"email": "EMAIL",
}
8. 院级系统获得用户信息。
9. 院级系统本地应有一个数据库表(新建数据库表或者修改原有数据表,后文用”关联表“代替),用来维持着院级系统账号与校级平台账号的关联关系,保证在获得用户信息后,通过查询关联表,可以获知该用户是否已经进行过关联操作,若查询结果为该用户已经进行过关联,则登录对应的院级系统账号,并转到仪器预约页面;若该用户未进行过关联,进入步骤10。
10. 询问用户是否将校级平台账号关联到已有院级系统账号,若用户选择是则将用户已有院级系统账号与校级平台账号加入关联表;若用户选择否则转到注册页面,该页面利用已经获得的用户信息自动填充相关注册项目,注册用户院级系统账号(注册流程同院级系统正常注册流程),并将账号关联信息加入关联表。
本文来源:https://www.2haoxitong.net/k/doc/a5b11469f38583d049649b6648d7c1c708a10bae.html
文档为doc格式