附录:在线预约挂号API接口文档
# 文档介绍
尚医通API接口文档
版本:V1.0
# 文档说明
本技术文档用来指导医院与尚医通系统的顺利对接。请相关技术人员详细阅读本文档
# 阅读对象
医院编程人员及测试人员
# 业务术语
医院编号
- 医院与尚医通合作后,尚医通合提供给医院的唯一标识ID号(hoscode)。
签名密钥
- 医院与尚医通合作后,尚医通提供给医院,用于接口调用的MD5数字签名算法的密码串(signKey)
# 安全控制
接口采用数据签名的方式来保证医院与尚医通系统间的身份验证、中间信息传递的完整性,以便进行电子商务安全当中非常重要的交易身份辨识、不可抵赖、防止篡改等功能。
# 业务接口
# 传参说明
所有参数递交的方式必须为POST,参数值编码为gb2312
- 如果采用拼接(如http://localhost?a=1&b=李四)的形式提交,传参时要对参数值进行url编码,尤其是汉字、网址等
- 采用Form表单形式提交则不需要。参数值不要带空格
验签参数sign生成
- 组成加密串。所有变量值按照参数名(不包含sign参数)升序用|连接,最后连接signKey
- 加密。采用32位Md5小写(编码utf-8)加密
- 例子
- 假设接口参数a=1,b=张三,c=13012345678,指派给商户的 签名密钥signKey=1234567890
- 加密串如下:1|张三|13012345678|1234567890
- MD5(32位小写)加密值核对
- Md5("123456")=e10adc3949ba59abbe56e057f20f883e
所有的字段都使用驼峰形式
- 如:agent_id改为agentId
# 返回/通知结果
所有接口同步返回
# 平台接口
# 上传医院
医院的基本信息与规则信息
# 提交地址
http://localhost/api/hosp/saveHospital
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
hosname | string | 50 | 是 | 医院名称 |
hostype | string | 1 | 是 | 医院类型(1:三级甲等,2:三级乙等,3:二级甲等,4:二级乙等,5:一级) |
provinceCode | string | 18 | 是 | 省code(国家统计局对应省的code) |
cityCode | string | 50 | 是 | 市code(国家统计局对应市的code) |
districtCode | string | 10 | 是 | 区code(国家统计局对应区的code) |
address | string | 20 | 是 | 详情地址 |
logoData | string | 11 | 是 | 医院logo(转换为base64字符串) |
intro | string | 是 | 医院简介 | |
route | string | 255 | 是 | 坐车路线 |
bookingRule | string | 8000 | 是 | 预约规则,json数据 |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
- 关于 bookingRule
- 属性说明
- cycle:预约周期
- releaseTime:放号时间
- stopTime:停挂时间
- quitDay:退号截止天数
- 如:就诊前一天为-1,当天为0
- quitTime:退号时间 rule:预约规则,以数组形式传递
- 例子
- 属性说明
{
"cycle": "1",
"releaseTime": "08:30",
"stopTime": "11:30",
"quitDay": "-1",
"quitTime": "15:30",
"rule": [
"西院区预约号取号地点:西院区门诊楼一层大厅挂号窗口取号",
"东院区预约号取号地点:东院区老门诊楼一层大厅挂号窗口或新门诊楼各楼层挂号/收费窗口取号"
]
}
2
3
4
5
6
7
8
9
10
11
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 上传科室
科室信息
# 提交地址
http://localhost/api/hosp/saveDepartment
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
depcode | string | 50 | 是 | 科室编号 |
depname | string | 1 | 是 | 科室名称 |
intro | string | 18 | 是 | 科室描述 |
bigcode | string | 50 | 是 | 大科室编号 |
bigname | string | 10 | 是 | 大科室名称 |
address | string | 20 | 是 | 详情地址 |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 上传排班
排班信息
# 提交地址
http://localhost/api/hosp/saveSchedule
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
depcode | string | 20 | 是 | 科室编号 |
title | string | 30 | 是 | 职称 |
docname | string | 30 | 是 | 医生名称 |
skill | string | 300 | 是 | 擅长技能 |
workDate | string | 10 | 是 | 安排日期(yyyy-MM-dd) |
workTime | int | 是 | 安排时间(0:上午 1:下午) | |
reservedNumber | int | 可预约数 | ||
availableNumber | int | 剩余预约数 | ||
amount | string | 5 | 挂号费 | |
status | int | 排班状态(-1:停诊 0:停约 1:可约) | ||
hosScheduleId | string | 30 | 排班编号(医院自己的排班主键) | |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 查询医院
医院信息
# 提交地址
http://localhost/api/hosp/hospital/show
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 查询科室
科室信息
# 提交地址
http://localhost/api/hosp/department/list
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
pageNum | Int | 是 | 第几页 | |
pageSize | Int | 是 | 每页个数 | |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 查询排班
医院信息
# 提交地址
http://localhost/api/hosp/schedule/list
# 请求参数
变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
pageNum | Int | 是 | 第几页 | |
pageSize | Int | 是 | 每页个数 | |
timestamp | long | 是 | 时间戳;从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数 |
# 同步返回
结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码; 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 删除科室
删除科室信息
# 提交地址
http://localhost/api/hosp/department/remove
# 请求参数
变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
depcode | string | 30 | 是 | 科室编号 |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 删除排班
删除排班信息
# 提交地址
http://localhost/api/hosp/schedule/remove
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
hosScheduleId | string | 30 | 排班编号(医院自己的排班主键) | |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 医院接口
# 预约下单
医院的基本信息与规则信息
# 提交地址
${basePath}/order/submitOrder
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
depcode | string | 20 | 是 | 科室编号 |
hosScheduleId | string | 30 | 排班编号(医院自己的排班主键) | |
reserveDate | string | 10 | 是 | 安排日期(yyyy-MM-dd) |
reserveTime | int | 是 | 安排时间(0:上午 1:下午) | |
amount | string | 5 | 挂号费 | |
name | string | 20 | 就诊人姓名 | |
sex | int | 就诊人性别 | ||
birthdate | string | 20 | 就诊人出生年月 | |
phone | string | 11 | 就诊人手机 | |
isMarry | int | 就诊人是否结婚 | ||
provinceCode | string | 50 | ||
cityCode | string | 50 | 是 | 市code(国家统计局对应市的code) |
districtCode | string | 10 | 是 | 区code(国家统计局对应区的code) |
address | string | 20 | 是 | 就诊人详情地址 |
contactsName | string | 11 | 是 | 联系人姓名 |
contactsCertificatesType | int | 否 | 联系人证件类型 | |
contactsCertificatesNo | string | 30 | 是 | 联系人证件号 |
contactsPhone | string | 11 | 是 | 联系人手机 |
isInsure | int | 是否有医保 | ||
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
data业务数据字段:
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hosRecordId | string | 是 | 预约记录唯一标识(医院预约记录主键) | |
number | int | 是 | 预约序号 | |
reservedNumber`` | int | 是 | 排班可预约数 | |
availableNumber | int | 是 | 排班剩余预约数 | |
fetchTime | string | 50 | 是 | 取号时间 |
fetchAddress | string | 200 | 是 | 取号地址 |
# 更新支付状态
平台支付成功,通过该接口更新医院支付状态
# 提交地址
${basePath}/order/updatePayStatus
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
hosRecordId | string | 是 | 预约记录唯一标识(医院预约记录主键) | |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |
# 取消预约
平台通过该接口取消预约
# 提交地址
${basePath}/order/updateCancelStatus
# 请求参数
◎ 变量定义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
hoscode | string | 30 | 是 | 给医院分配的唯一标识 |
hosRecordId | string | 是 | 预约记录唯一标识(医院预约记录主键) | |
timestamp | long | 是 | 时间戳。从1970-01-01 00:00:00算起的毫秒数 | |
sign | string | 32 | 是 | 验签参数。 |
# 同步返回
◎ 结果参数含义
字段名 | 类型 | 长度 | 必输 | 说明 |
---|---|---|---|---|
code | string | 是 | 结果编码。 200:请求成功 不等于200:请求失败(message:失败原因) | |
message | string | 100 | 是 | 结果描述 |
data | string | 5000 | 是 | 业务数据 |