视频问诊

简介

视频问诊服务是针对用户提供的一种快捷的视频形式接诊的医疗服务。

用户购买此视频问诊后,可进入视频候诊房间等待医生接诊;接诊过程中如出现意外情况中断视频,可继续重连;问诊结束后,医生将给出相应的总结建议。

服务细则

  • 接诊医生范围

    视频问诊提供接诊服务的医生均为公立三甲医院全科医生

  • 服务时效及时长

    视频问诊提供7*24小时服务,单次视频问诊时长最长30分钟

  • 服务意外中断

    视频问诊意外中断后,用户可在原来的问诊记录中找到上次视频问诊记录,重新进入继续发起问诊

  • 服务退款细则

    视频问诊购买后,医生未接诊前可自主取消;视频问诊购买后,1小时内没有与医生正常通话,问诊自动退款

服务接入建议

  • 视频问诊提供三种方式的接入,分别为H5、小程序、SDK方式
  • 如通过H5和SDK方式接入视频问诊时,建议同步接通视频问诊相关回调,并在用户侧做相应的提醒,以提高视频接通率
  • 视频问诊接入时,春雨侧一般不处理用户支付相关逻辑,支付及用户权益等逻辑由合作方侧完成,春雨侧负责视频连接
  • 视频问诊接入流程,春雨侧提供两种标准商务场景供合作方选择,可根据实际场景接入服务,详见下方商务场景“单次视频问诊”、“权益卡视频问诊”

服务流程示意图

单次视频问诊

场景介绍

  • 单次视频问诊服务场景是:用户通过合作方侧访问春雨视频问诊入口后,春雨侧则认为该用户是可以免费问诊的,无需进行支付
  • 用户支付的逻辑均在合作方侧完成,合作方可自行根据自己的业务逻辑来定制,春雨侧只负责免费连接视频问诊
  • 合作方与春雨侧结算是按照实际完成的视频问诊订单来扣减企业服务包使用数量
  • 如用户上次视频问诊未完成,则从合作方视频入口发起时,依然会继续该用户上一次未完成的视频问诊,继续与医生进行连接

接入流程

用户信息同步接口

鉴权说明:在接口中标明用户表示为「user_id/phone」的接口,表示该接口支持第三方用户id、手机号参与鉴权,如使用手机号,生成签名时将phone替换成user_id计算签名。当传递用户手机号时,会在春雨为该手机号自动创建用户。 说明:合作方调用此接口,将用户身份信息传给春雨,春雨入库成功后,可发起视频问诊

URL:/cooperation/server/video/inquiry/set_user_video_info/

请求方式:POST

请求参数:

名称 说明 类型 必要 备注
user_id/phone 用户标识 string
partner 合作方标识 string 我要申请
sign 签名 string 必须在服务器端生成生成方法
atime 时间戳 long 当前UNIX TIMESTAMP签名时间戳(如:137322417)
patient_name 用户姓名 string 张三
sex 性别 string
birthday 出生日期 string YYYY-MM-DD
identity_card 身份证号 string

返回:

名称 说明 类型 必要 备注
error_code 错误码 int 正常返回0
error_msg 错误信息 string

跳转视频问诊服务-H5

说明:调用此接口,春雨调起H5进行视频问诊。当用户无正在进行的问诊时,创建新问诊并接入,当用户有中断未完成的问诊时,自动重连。

【此接口非API接口,直接拼好参数下发给用户侧作为H5链接访问即可】

URL:/cooperation/saas/jump_service_use_page/

请求方式:GET

请求参数:

名称 说明 类型 必要 备注
user_id/phone 用户标识 string
partner 合作方标识 string 我要申请
sign 签名 string 必须在服务器端生成生成方法
atime 时间戳 long 当前UNIX TIMESTAMP签名时间戳(如:137322417)
coop_service_type 业务场景 string 视频问诊场景值为 video_inquiry_saas

返回:

直接跳转服务页面进行问诊

视频问诊H5兼容性

说明:基于 WebRTC 实现,目前支持桌面端和移动端的主流浏览器,详细支持度:参见链接

如需检测Webview是否具备WebRTC能力,使用该链接在相应的webview访问即可

您可以使用 rtc-detect 用来检测当前环境对WebRTC的支持度,以及当前环境的详细信息。(建议视频问诊前先使用下列代码检测,未通过检测会出现黑屏现象,业务侧酌情处理):

安装

npm install rtc-detect

使用方法

          
          import RTCDetect from 'rtc-detect';
          // 初始化监测模块
          const detect = new RTCDetect();
          // 获得当前环境监测结果
          const result = await detect.getCodecAsync();
          // result 包含了当前环境编解码支持度
          console.log('result is: ' + result);
          const {isH264EncodeSupported, isH264DecodeSupported} = result;
          if (isH264EncodeSupported && isH264DecodeSupported){
            // 通过检测
          } else {
            // 未通过检测
          }
          
          

跳转视频问诊服务-小程序

说明:调用此接口,春雨调起小程序进行问诊。当用户无正在进行的问诊时,创建新问诊并接入,当用户有中断未完成的问诊时,自动重连。

URL:/cooperation/saas/jump_wxapp/

请求方式:GET

请求参数:

名称 说明 类型 必要 备注
user_id/phone 用户标识 string
partner 合作方标识 string 我要申请
sign 签名 string 必须在服务器端生成生成方法
atime 时间戳 long 当前UNIX TIMESTAMP签名时间戳(如:137322417)
coop_service_type 业务场景 string 视频问诊场景值为 video_inquiry_saas
is_json 是否返回 json int 0 表示自动跳转小程序,用于微信外跳转(APP、H5);
1 表示获取小程序跳转参数,用于第三方微信小程序内跳转;

返回:

(is_json=0)

直接跳转小程序页面问诊

(is_json=1)

名称 说明 类型 必要 备注
error_code 错误码 int 正常返回0
error_msg 错误信息 string
token string
session_id string

备注:小程序内跳转使用微信提供的跳转方式,使用接口中返回的参数按下述规则拼参数

appid: wx214b7e2bcde837d6

path: pages/open_login/index?token={token}&session_id={session_id}

权益卡视频问诊

场景介绍

  • 权益卡视频问诊服务场景是:合作方提前定义好自己业务涉及到的权益卡类型,例如月卡31天无限次视频问诊,由春雨生成权益标识,供合作方使用
  • 合作方通过接口调用的方式将自己平台的用户设置对应的权益,例如黄金会员使用权益卡31天5次视频问诊,铂金会员使用权益卡31天10次视频问诊等
  • 合作方侧是否付费及付费流程在合作方侧完成,设置用户权益后,通过接口跳转春雨的H5/小程序进行视频问诊,无需再次付费
  • 当用户使用视频问诊服务后,春雨会通过接口实时告知合作方用户当前剩余权益次数,合作方可自行进行展示
  • 合作方与春雨进行结算的方式有两类,一类是按照实际完成的视频问诊订单来扣减企业服务包使用数量,一类是按照成功同步用户权益次数进行收费

接入流程

用户同步权益接口

说明:接入方调用此接口,春雨为用户增加策略对应服务权益,一个策略包含了若干服务类型和相应的可使用次数,以及有效期,在同步权益成功后立即生效。同一个用户只可以有一个有效策略。

URL:/cooperation/server/saas/set_user_benefit_strategy/

请求方式:POST

请求参数:

名称 说明 类型 必要 备注
user_id/phone 用户ID string
partner 合作方标识 string 我要申请
sign 签名 string 必须在服务器端生成生成方法
atime 时间戳 long 当前UNIX TIMESTAMP签名时间戳(如:137322417)
strategy_key 策略标识 string 线下提供
name 用户姓名 string

返回:

名称 说明 类型 必要 备注
error_code 错误码 int 正常返回0
error_msg 错误信息 string

跳转视频问诊服务-H5

说明:调用此接口,春雨调起H5的服务介绍页后,可进行视频问诊。

【此接口非API接口,直接拼好参数下发给用户侧作为H5链接访问即可】

URL:/open-platform/m-saas/benefit-description/

请求方式:GET

请求参数:

名称 说明 类型 必要 备注
user_id/phone 用户标识 string
partner 合作方标识 string 我要申请
sign 签名 string 必须在服务器端生成生成方法
atime 时间戳 long 当前UNIX TIMESTAMP签名时间戳(如:137322417)
coop_service_type 业务场景 string 视频问诊场景值为 video_inquiry_saas

返回:

直接跳转服务介绍H5页面

跳转视频问诊服务-小程序

说明:当在第三方APP或小程序中跳转春雨小程序时,使用【跳转视频服务-H5】接口中生成的链接作为参数,通过微信提供的方式进行跳转。春雨侧提供跳转小程序的appid和页面路径

微信跳转参数:

appid: wx214b7e2bcde837d6

path=pages/index/index?url= encodeURIComponent(H5_url)

查询用户权益接口

说明:调用此接口,返回用户当前的权益情况

URL:/cooperation/server/saas/get_user_benefit_strategy/

请求方式:POST

请求参数:

名称 说明 类型 必要 备注
user_id/phone 用户ID string 用户唯一标识,合作方定义(可为字母、数字、下划线或其组合)
partner 合作方标识 string 我要申请
sign 签名 string 必须在服务器端生成生成方法
atime 时间戳 long 当前UNIX TIMESTAMP签名时间戳(如:137322417)

返回:

名称 说明 类型 必要 备注
error_code 错误码 int 正常返回0
error_msg 错误信息 string
strategy_key 策略id string 返回绑定的策略标识,若用户没有绑定的策略,则返回空字符串
usage_info 使用情况 dict 无绑定策略时返回空字典
key:coop_service_type
value:usage_item
total_count 可用次数 int 当 is_unlimited=False 时必传
is_unlimited 是否是无限次 bool 默认 False
used_count 已使用次数 int

usage_info 数据示例:

示例:三甲问诊共3次,使用1次;三甲快捷电话共3次,使用0次

            
              {
                  "qc_hospital_upgrade": {
                  "total_count": 3,
                  "is_unlimited": False,
                  "used_count": 1
                },
                "fast_phone_3a": {
                  "total_count": 3,
                  "is_unlimited": False,
                  "used_count": 0
                }
              }
            
          

权益使用回调

说明:当用户使用权益,创建服务后,春雨调用此接口通知合作方

URL:复用回调管理-医生回复通知接口URL,通过status判断回调功能

请求方式:POST

请求参数:

名称 说明 类型 必要 备注
user_id/phone 用户ID string 与同步权益接口使用的用户ID key值相同
partner 合作方标识 string 我要申请
sign 签名 string 必须在服务器端生成生成方法
atime 时间戳 long 当前UNIX TIMESTAMP签名时间戳(如:137322417)
status 回调类型 string status值为saas_use
coop_service_type 服务类型 string
use_count 使用次数 int

返回:

名称 说明 类型 必要 备注
error_code 错误码 int 正常返回0
error_msg 错误信息 string

视频问诊通用回调

视频问诊状态变更回调

说明:当视频问诊状态发生变更时,春雨调用此接口通知合作方。

URL:即合作方管理后台-账户管理-信息配置中填写的视频问诊状态变更回调路径

请求方式:POST

请求参数:

名称 说明 类型 必要 备注
atime 时间戳 long
sign 签名 string 参考文档,使用service_id参与计算
service_id 服务id int
user_id/phone 用户标识 string
doctor_id 医生id string
clinic_name 科室名称 string
doctor_name 医生姓名 string
doctor_avatar 医生头像 string
event_type 事件类型 string
start_time 问诊开始时间 string 问诊开始时传 YYYY-MM-DD HH:MM:SS
end_time 问诊结束时间 string 问诊结束时传 YYYY-MM-DD HH:MM:SS
user_info 用户信息 dict
name 姓名 string
sex 性别 string m:男 f:女 b:未知
age 年龄 Int 显示xx岁
summary_info 总结信息 dict 医生发送总结时传
possible_disease 可能疾病 string
suggestion 处理意见 string
suggestion_detail 详细意见 string

返回:

名称 说明 类型 必要 备注
error_code 错误码 int 正常返回0
error_msg 错误信息 string

视频问诊事件类型event_type取值如下:

取值 说明
user_enter 用户进入
doctor_enter 医生进入
start 问诊开始
user_interrupt 用户退出中断
doctor_interrupt 医生退出中断
finish 问诊结束
send_summary 医生发送总结
refund 问诊退款