# 【服务包】接入文档

# 1.接口说明

# 1.1 静态基础数据(合作方提供)

# 1.1.1 批量获取医院信息

  1. 该接口主要用来批量获取合作方提供的医院信息
  2. 如果指定了 hospitalId,就获取指定医院的信息

接口名:

hospitals

请求参数:

序号 字段 名称 类型 必填 备注
1 hospitalId 医院 ID string ✖️ 缺省时查询所有医院的信息
2 cityCode 城市 code string ✖️ 缺省时查询所有城市医院
3 areaCode 区域 code string ✖️ 缺省时查询城市下的所有区域医院

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 count 总记录条数 int ✔️
4 rsp 返回详情 array[HospitalInfo] ✔️

# HospitalInfo

序号 字段 名称 类型 必填 备注
1 hospitalId 医院 ID string ✔️
2 hospitalName 医院名称 string ✔️ 如医院有东、西院区,本次合作的业务在东院区,医院名称就需要返回 XX 医院(东院区),不能返回 xx 医院,同理则返回 XX 医院(西院区)
3 hospitalShortName 医院简称 string ✖️
4 cityCode 城市编码 string ✔️ 参考附录 CityCode & AreaCode
5 areaCode 区域编码 string ✔️ 参考附录 CityCode & AreaCode
6 address 医院地址 string ✔️
7 detail 医院介绍 string ✖️
8 tel 医院联系方式 string ✖️
9 geo 医院经纬度地址 string ✔️ 格式: 经度,维度 (以高德/腾讯地图为准)
10 url 医院官网链接 string ✖️
11 logo 医院 logo 链接 string ✔️
12 alias 医院别名 string ✖️
13 hospitalLevel 医院等级 int ✔️ HospitalLevel
14 hospitalType 医院类型 int ✔️ HospitalType
15 hospitalRules 医院预约规则 array[string] ✖️
16 branches 分院列表 array[HospitalInfo] ✔️
17 payMethod 支付方式 int ✖️ 0:现场支付 1:现场和线上都支持 2:强制线上
18 payPassTime 非当天支付过期时间 int ✖️ 单位:分 默认:半小时
部分合作方的当天和非当天支付时间不一样
19 todayPayPassTime 当天支付过期时间 int ✖️ 单位:分 默认:半小时
20 treatGuide 就诊指引 string ✖️
22 isNeedTreatCard 是否需要就诊卡 int ✔️ 0:不需要;1:需要

# 1.2 动态数据(合作方提供)

# 1.2.1 批量获取医院服务包列表信息

  1. 该接口主要用来批量获取合作方医院所提供的服务包信息
  2. 如果只有一个 hospitalId,就获取单个医院的服务包信息

接口名:

packageList

请求参数:

序号 字段 名称 类型 必填 备注
1 hospitalIds 医院 ID 集合 array[string] ✖️ 缺省查询所有医院的服务包信息

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 count 总记录条数 int ✔️
4 rsp 返回详情 array[PackageInfo] ✔️

# PackageInfo

序号 字段 名称 类型 必填 备注
1 hospitalId 医院 ID string ✔️
2 packageList 服务包列表 array[PackageDetailInfo] ✔️
3 nurseList 分配的护士名单 array[NurseInfo] ✖️ 每个服务包可能分配到护士列表名单

# NurseInfo

序号 字段 名称 类型 必填 备注
1 nurseName 护士姓名 string ✔️
2 nursePhone 护士手机号 string ✔️
3 realTime 实际上门时间 string ✔️ 格式:yyyy-MM-dd HH:mm:ss 同步状态为21时必填
4 orderComeTime 预约上门时间 string ✔️ 格式:yyyy-MM-dd 同步状态为20时必填
5 detailComeTime 详细上门时间 string ✔️ 上午,下午 同步状态为20时必填
6 reason 取消原因 string ✖️

# PackageDetailInfo

序号 字段 名称 类型 必填 备注
1 packageNo 服务包编号 string ✔️ 这里要求同一个合作方全局唯一,便于后续业务数据之间的流转
2 packageName 服务包名称 string ✔️ 居家护理项目
3 nursingIterms 服务内容 string ✔️ 项目描述
4 suitPeople 适用人群 string ✖️
5 siteRequirement 现场要求 string ✖️
6 feeExplain 费用说明 string ✔️
7 callFee 上门费 int ✔️ 单位:
8 nursingFee 护理费 int ✔️ 单位:
9 totalFee 总费用 int ✔️ 单位:
10 appointRule 预约规则 array[string] ✖️ 如果有多条,用数组的方式返回
11 specialDept 所属护理专科 string ✔️
12 instructions 使用说明 string ✖️
13 thumbnail 缩略图 string ✔️
14 detailHeadImage 详情页头部图片 string ✔️

# 1.2.2 获取指定服务包的排班号源信息

接口名:

sourceInfo

请求参数:

序号 字段 名称 类型 必填 备注
1 packageNo 服务包编号 string ✔️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 count 总记录条数 int ✔️
4 rsp 返回详情 array[ScheduleInfo] ✔️

# ScheduleInfo

序号 字段 名称 类型 必填 备注
1 scheduleId 排班 ID string ✔️
2 treatDate 上门服务日期 string ✔️ 格式:yyyy-MM-dd
3 sourceType 班别代码 string ✔️ 详见 SourceType
4 sourceTypeName 班别名称,如上午、下午 string ✖️
5 sourceInfos 号源详情 array[SourceInfo] ✔️

# SourceInfo

序号 字段 名称 类型 必填 备注
1 sourceId 号源 ID string ✔️ 要求号源 ID 唯一,并且可以对应查询到具体是哪个服务包哪一天的排班等信息
2 sourceBeginTime 上门服务开始时间 string ✔️ 格式:HH:mm
3 sourceEndTime 上门服务结束 时间 string ✔️ 格式:HH:mm
4 leftNum 剩余可预约数量 int ✔️ 如果有对应的日期排班,但是 leftNum 为 0,将会显示已约满。如果没有对应日期排班,将会显示置灰

# 1.2.3 提交订单

  1. 用户在腾讯健康小程序提交订单后,我们就会把相关信息提交到合作方
  2. 等待微信支付回调腾讯健康后,会再次通过接口把支付状态同步给合作方
  3. 在提交订单后,要求合作方先锁定一个号源,如果有支付失败或者取消订单的请求再释放号源

接口名:

submitOrder

请求参数:

序号 字段 名称 类型 必填 备注
1 hospitalId 医院 ID string ✔️
2 sourceId 号源 ID string ✔️
3 phone 手机号 string ✖️
4 cardNo 证件号码 string ✖️
5 cardType 证件类型 string ✖️ 详见 CardType
6 name 就诊人姓名 string ✖️
7 sex 就诊人性别 int ✖️ 0 :男,1:女,2:其他
8 birthday 就诊人出生日期 string ✖️ yyyy-MM-dd
9 patientId 就诊人 ID string ✖️ 如果是就诊卡的模式,只需要带就诊人的 ID 和就诊卡(treatCardNo)即可
10 guardianName 监护人姓名 string ✖️
11 guardianCardType 监护人证件类型 string ✖️ 详见 CardType
12 guardianCardNo 监护人证件号 string ✖️
13 guardianPhone 监护人手机号 string ✖️
14 guardianSex 监护人性别 int ✖️
15 guardianRelation 监护人与就诊人关系 int ✖️ 详见 GuardianPatientRelationType
16 invoiceTitle 发票抬头 string ✖️
17 invoiceTitleType 发票抬头类型 int ✖️ 1:个人 2:公司
18 invoiceEmail 发票发送邮箱 string ✖️
19 taxNo 税号 string ✖️
20 remark 用户备注 string ✖️
21 packageNo 服务包编号 string ✔️
22 addressRegion 上门地址--四级区域 string ✔️ eg:广东省 深圳市 南山区 粤海街道
23 addressDetail 上门地址--详细地址 string ✔️ eg: xxx 小区 xxx 栋 xxx 门牌号
24 addressLongitude 上门地址--经度 string ✔️
25 addressLatitude 上门地址--纬度 string ✔️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 OrderInfo ✔️

# OrderInfo

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️

# 1.2.4 同步支付结果

  1. 如果支付失败,腾讯健康会自动扭转订单状态为预约失败且合作方需要释放掉号源
  2. 如果支付成功,腾讯健康侧订单会进入到待审核阶段

接口名:

syncPayResult

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️
2 payAmount 用户实际支付的费用 int ✖️ 单位:分。支付成功微信回调时,用户支付的费用。如果是医保模式,这里是个账金额
3 tradeNo 第三方支付的交易流水号 string ✔️ 如 :微信支付,这里就是微信支付的商户内部订单号
4 transactionId 微信支付订单号 string ✔️ 微信支付侧的订单号,不同于商户内部订单号,不能自定义
5 tradeState 订单状态 string ✔️ SUCCESS—支付成功, REFUND—转入退款, NOTPAY—未支付, CLOSED—已关闭, REVOKED—已撤销(刷卡支付), USERPAYING--用户支付中, PAYERROR--支付失败(其他原因,如银行返回失败)

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 object ✔️

# 1.2.5 取消订单

  1. 当用户发起取消操作时,会将请求同步给合作方去审核

接口名:

cancelOrder

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 Object ✔️

# 1.2.6 同步退款结果

  1. 用户取消或者合作方侧审核订单不通过时,腾讯健康会发起退款,退款成功后会通过该接口把退款结果同步给合作方

接口名:

syncRefundResult

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️
2 tradeNo 第三方支付的交易流水号 string ✔️ 如 :微信支付,这里就是微信支付的商户内部订单号 同支付结果同步里面的 tradeNo
3 refundId 微信退款订单号 string ✖️
4 refundAmount 退款金额 int ✔️ 单位:分

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 object ✔️

# 1.2.7 获取服务码

  1. 当用户提交的订单被审核通过后,去获取服务码,用于护士上门时核销
  2. 腾讯健康拉取到服务码后会存储下来,避免频繁请求合作方

接口名:

getServiceQrCode

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 ServiceQrCode ✔️

# ServiceQrCode

序号 字段 名称 类型 必填 备注
1 qrCode 服务码 string ✔️ base64 编码
2 status 服务码状态 int ✔️ 0:未使用 1:已核销

# 1.2.8 申请开发票

  1. 在用户下单后,有些场景用户可能要补开发票

接口名:

invoiceApply

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️
2 invoiceTitle 发票抬头 string ✖️
3 invoiceTitleType 发票抬头类型 int ✖️ 1:个人 2:公司
4 invoiceEmail 发票发送邮箱 string ✖️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 object ✔️

# 1.2.9 售后申请

  1. 在订单完成后,可能有一些售后行为通过该接口同步

接口名:

postSaleApply

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️
2 type 售后类型 array[int] ✔️ 详见PostSaleType
3 refundAmount 退款金额 int ✔️
4 reason 申请原因 string ✔️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 object ✔️

# 1.3 同步数据(腾讯健康提供)

# 1.3.1 同步订单审核状态

  1. 订单生成时,审核通过与否可以通过该接口同步
  2. 订单取消时,审核通过与否也可以通过该接口同步

接口名:

syncOrderInfo

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️
2 orderStatus 订单审核状态 int ✔️ 详见OrderStatus
3 nurseInfo 护士信息 NurseInfo ✖️ 当订单审核通过时,需要告知具体分配到的护士信息,同步状态为 20,21必填
4 remark 备注 string ✖️
5 refundAmount 退款金额 int ✖️ 单位:分 当 orderStatus 为 22 时,腾讯健康会进行部分退款操作
6 completeTime 订单完成时间 string ✔️ 格式:yyyy-MM-dd HH:mm:ss 同步状态为21时必填

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 object ✔️

# 1.3.2 同步售后信息

接口名:

syncPostSaleInfo

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️
2 refundAmount 退款金额 int ✖️ 如果是退款申请通过,有可能最终退款金额和用户申请的不一致,以该金额为准进行部分退款
3 status 售后状态 PostSaleStatus ✔️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 object ✔️

# 1.3.3 主动取消订单

接口名:

doCancelOrder

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️
2 refundAmount 退款金额 int ✔️ 0 代表全部退款
3 refundReason 退款原因 string ✔️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 object ✔️

# 1.3.4 查询订单状态

接口名:

queryOrderStatus

请求参数:

序号 字段 名称 类型 必填 备注
1 orderId 订单 ID string ✔️

返回参数:

序号 字段 名称 类型 必填 备注
1 code 状态码 int ✔️ 0:正常,其他:异常。具体见附录说明
2 message 状态描述 string ✔️
3 rsp 返回详情 object ✔️

rsp

序号 字段 名称 类型 必填 备注
1 status 订单状态 int ✔️ 详见NursingOrderStatus

# 2.附录

# Code

说明
0 成功
非 0 失败
-404 查找记录为空

具体每个业务接口可以再详细对接定义

# HospitalLevel

说明
1 三甲
2 三乙
3 三丙
4 二甲
5 二乙
6 二丙
7 一甲
8 一乙
9 一丙
11 一级
12 二级
13 三级
10 其他

# SourceType

说明
0 晚上(18:00 - 06:00)
1 上午(06:00 - 12:00)
2 下午(12:00 - 18:00)
3 全天(00:00 - 23:59)
5 其他

# HospitalType

说明
1 国营
2 民营
3 合资
4 外资
5 个体
9 其它

# CardType

说明
01 身份证
02 港澳居民证
03 护照
04 军人证
05 其他

# OrderStatus

类型 说明
10 int 审核不通过
20 int 审核通过
21 int 服务已完成
22 int 服务已完成(已申请部分退款)
23 int 服务已完成(部分退款已完成)
24 int 服务未完成(已申请全部退款)
30 int 更新上门护士信息

# GuardianPatientRelationType

说明 备注
0 未知
1 本人
2 父母
3 子女
4 夫妻
5 亲属
6 朋友

# PostSaleType

类型 说明
1 int 退款
2 int 服务质量投诉
3 int 功能问题反馈
4 int 其他

# PostSaleStatus

类型 说明
1 int 处理中
2 int 处理完成
3 int 审核不通过

# NursingOrderStatus

类型 说明
-1 int 未知
13 int 预约中(待审核)
41 int 待上门
42 int 服务完成
44 int 医院售后处理中
1002 int 订单已取消

# CityCode & AreaCode

具体的行政区域代码可以参考链接:

最新县及县以上行政区划代码 (opens new window)