API交互示意图
开发流程示意图
第三方可根据春雨提供的api按照如下大致流程进行开发
账号同步/注册接口
账号不存在
账号已存在
URL: /cooperation/server/login
请求方式: POST
请求参数:
返回:
post数据示例
{ "partner": "test", "user_id": "test_user", "password": "12345678", "sign": "cb5a715fdbeb7220", "atime": "1608207278" }
响应示例
{ "error": 0, "error_msg": "user logged in ok" }
普通众包服务
简介
指用户不筛选医生资质发起提问,由春雨通过智能分诊匹配合适医生;医生可以选择是否认领问题,若在24小时内医生未回复,该问题即会被系统关闭。
接入流程
1、申请测试partner和partner_key,并参考基本注意事项。
2、提供第三方接口用于接收医生回复通知、问题关闭通知。
3、同步第三方账户信息(即调用账号同步/登陆接口),对于新用户发起一次即可。
4、第三方创建众包问题(由系统分配科室,或由第三方自主选择科室)。
5、通过管理后台模拟医生回复问题, 第三方接口问题的回复通知,或者根据需求由春雨人员配合回复医生问题。
6、第三方提交用户追问。
7、第三方发起问题关闭,并接收问题关闭通知。
8、测试完后,联系春雨人员开通正式环境账户后即可,第三方需要提供接收业务警报的邮箱地址。
9、完整的问诊流程需要结合通用接口来实现
创建众包问题接口
URL: /cooperation/server/free_problem/create
{ "user_id": "test_user", "partner": "test", "content": "[{\"type\": \"patient_meta\",\"age\": \"20岁\",\"sex\": \"男\"},{\"type\": \"text\",\"text\": \"创建免费问诊问题测试\"}]", "sign": "b26144805c3f88f4", "atime": "1608207611" }
{ "error": 0, "problem_id": 443258121 }
众包升级服务
即春雨平台会将用户问题智能分配给特定医生等级或特定医院等级的医生;比起普通众包服务,众包升级具备更优质的服务质量。
当用户发起提问,春雨平台首先对匹配的医院或医生等级进行筛选,而后进行智能分诊,若在1小时内没有回复,系统即自动关闭该问题。
创建众包升级问题接口
URL: /cooperation/server/problem/create_paid_problem/
{ "user_id": "test_user", "partner": "test", "content": "[{\"type\": \"patient_meta\",\"age\": \"20岁\",\"sex\": \"男\"},{\"type\": \"text\",\"text\": \"创建众包升级问诊问题测试\"}]", "sign": "b26144805c3f88f4", "atime": "1608207611", "partner_order_id": "000001", "pay_type": "qc_hospital_upgrade" }
{ "error": 0, "error_msg": "", "problem_id": 443258122 }
众包升级问题退款接口
退款条件:医生未回答情况下才可调用该接口实现退款
URL: /cooperation/server/problem/refund
{ "user_id": "test_user", "problem_id": "443258127", "partner": "test", "sign": "5a236b488f7eaacc", "atime": "1608208460" }
{ "error": 0, "error_msg": "" }
定向图文服务
指用户付费购买指定医生的图文咨询服务。
包括四种产品形态:找医生/名医咨询/推荐医生/搜索医生,具体请参见下方的接口说明。
包含两种服务标准:普通定向咨询和名医咨询,普通定向咨询指用户购买指定医生的图文咨询,医生通过图文形式耐心细致的解答用户健康问题,最多30次交互/医生首次回复48H后问题关闭;名医咨询是指由春雨平台精选的各个专科领域的大牌专家资源,用户付费购买后,专家将以图文形式提供明确、放心的诊疗建议;需要注意的是,名医咨询最多10次交互/医生首次回复48H后问题关闭。
1、申请测试 partner和partner_key,并参考基本注意事项。
3、同步第三方账户信息,对于新用户发起一次即可。
4、第三方查询推荐医生,获取医生列表。
5、第三方创建付费问诊记录,并引导用户在第三方APP内进行付费(付费流程由第三方自己实现)。
6、第三方发送付费成功通知,春雨创建付费问题后返回相关问题信息给第三方。
7、第三方调用相关接口进行问题交互,方法同众包问题交互一样。
8、第三方接收问题关闭通知,触发方式:第三方主动发起 或 春雨医生拒绝问题。
9、测试完毕后,联系春雨人员开通正式环境账户后即可,第三方需要提供接收业务警报的邮箱地址。
10、第三方开发定向问诊需用以下接口结合通用接口来完善整个流程。
找医生接口
说明:第三方根据一级科室编号查询医生,获取医生列表;该接口可借助筛选名医来实现名医咨询服务,若不筛选名医将返回春雨普通医生和名医
URL: /cooperation/server/doctor/get_clinic_doctors
{ "clinic_no": "1", "famous_doctor": "1", "user_id": "test_user", "start_num": "20", "count": "20", "partner": "test", "sign": "24c0b782f23e71f1", "atime": "1608209559" }
{ "error": 0, "doctors": [{ "clinic_name": "儿科", "second_clinic_name": "小儿科", "good_at": "发育迟缓、头痛、遗传代谢病", "hospital_name": "北京第一医院", "hospital_grade": "三级甲等", "id": "0000001", "image": "https://resource.chunyu.mobi/@/media/images/image1.jpg", "name": "测试医生", "price": 100, "purchase_num": 771, "title": "主治医师", "is_famous_doctor": false, "tel_online": false, "tel_price": "{\"10\": -1, \"15\": -1, \"20\": -1, \"30\": -1}" }, { "clinic_name": "儿科", "second_clinic_name": "小儿科", "good_at": "多动症、小儿癫痫、抽动症", "hospital_name": "解放军总医院", "hospital_grade": "三级甲等", "id": "0000002", "image": "https://resource.chunyu.mobi/@/media/images/image2.jpg", "name": "测试医生2", "price": 10000, "purchase_num": 1000, "title": "主任医师", "is_famous_doctor": true, "tel_online": true, "tel_price": "{\"10\": 16000, \"15\": 24000, \"20\": 40000, \"30\": -1}" }] }
推荐医生接口
URL: /cooperation/server/doctor/get_recommended_doctors
{ "ask": "孩子发烧总不好", "user_id": "test_user", "partner": "test", "sign": "c30cd1025b2e7912", "atime": "1608260984" }
搜索医生接口
说明:按照疾病、症状、医院、科室、医生名搜索医生(此接口为搜索接口非过滤接口,返回的搜索结果可能与搜索词存在偏差),一次返回20个医生
URL: /cooperation/server/doctor/search_doctor/
{ "user_id": "test_user", "query_text": "头疼", "famous_doctor": "1", "page": "1", "partner": "test", "sign": "d47372cb2e28ba13", "atime": "1608261465" }
创建定向问题
说明:付费记录有效时间为1小时
URL: /cooperation/server/problem/create_oriented_problem/
{ "doctor_id": "clinic_web_ae8068a4df5f189e", "content": "[{\"type\": \"patient_meta\",\"age\": \"20岁\",\"sex\": \"男\"},{\"type\": \"text\",\"text\": \"测试创建定向问诊问题\"}]", "partner": "test", "partner_order_id": "000001", "price": "200", "user_id": "test_user", "sign": "162c86f9d6c94a65", "atime": "1608262345" }
{ "problem_id": 443258142, "error": 0, "error_msg": "" }
付费问题退款
说明:第三方可借助该接口实现用户主动发起付费问题退款,退款只能在医生未回答的情况下才能成功。
图文急诊服务
急诊服务是一项高效的图文问诊服务。当用户提问后,能够得到医生快速回复(60秒),图文急诊达到20次交互或医生首次回复30分钟后问题关闭。
服务价格以商务合同中敲定的为准,在接口参数中不做体现。
服务流程
1. 先获取图文急诊信息
2. 根据获取到的科室和价格信息创建图文急诊(注意服务时间)
获取图文急诊信息接口
说明:获取春雨图文急诊开通的相关信息,包括开通的时间,价格,科室
URL: /cooperation/server/problem/get_emergency_graph_info/
请求方式:POST
{ "user_id": "test_user", "partner": "test", "sign": "6de9382451be403f", "atime": "1608276441" }
{ "error": 0, "clinic_info": [ { "clinic_no": "fa", "clinic_name": "小儿科", "begin": "07:00", "end": "15:45", }, { "clinic_no": "ha", "clinic_name": "皮肤科", "disabled": true } ] }
创建急诊问题接口
说明:用户确定需要问诊的急诊科室,调用此接口生成付费急诊问题
URL: /cooperation/server/problem/create_emergency_graph/
{ "user_id": "test_user", "content": "[{\"type\": \"patient_meta\",\"age\": \"15岁\",\"sex\": \"男\"},{\"type\": \"text\",\"text\": \"测试创建急诊问诊问题\"}]", "clinic_no": "fa", "partner_order_id": "1700", "partner": "test", "sign": "64bff638925fecea", "atime": "1608284147" }
{ "problem_id": 443258195, "error": 0, "error_msg": "" }
通用接口
问题追问接口
URL: /cooperation/server/problem_content/create
{ "user_id": "test_user", "partner": "test", "problem_id": "443258196", "content": "[{\"type\": \"text\",\"text\": \"测试追问\"}]", "sign": "1bad37f433370896", "atime": "1608285064" }
{ "error": 0, "content_id": 11536441 }
问题详情接口
URL: /cooperation/server/problem/detail
n 新问题
n
a 已认领---医生认领,等待医生回答
a
s 已回复
s
c 已关闭
c
p 被举报---因为含有违禁词/辱骂医生等原因被举报
p
状态转换示意图 点击查看
状态转换示意图
{ "user_id": "test_user", "problem_id": "443258234", "partner": "test", "sign": "d3ba697b786a9a17", "atime": "1608449384" }
{ "problem": { "id": 443258234, "status": "a", "ask": "医生你好,测试创建众包升级问题(男,40岁)", "clinic_no": "2", "star": -1, "level": "", "has_assessed": false, "interaction": 1 }, "content": [ { "id": 11536625, "type": "p", "content": "[{\"text\": \"医生你好,测试创建众包升级问题(男,40岁)\", \"type\": \"text\"}]", "created_time_ms": 1608450103000 }, { "id": 11536628, "type": "d", "content": "[{\"text\": \"快速医生回复,时间: 2020-12-20 15:42:02.676034\", \"type\": \"text\"}]", "created_time_ms": 1608450123000 }, { "id": 11536629, "type": "p", "content": "[{\"text\": \"测试追问\", \"type\": \"text\"}]", "created_time_ms": 1608450134000 } ], "doctor": { "id": "clinic_web_ae8068a4df5f189e", "name": "测试医生", "image": "https://test.chunyutianxia.com/media/images/fc7d/8968fe2e5cb5?imageMogr2/thumbnail/150x", "title": "主治医师", "level_title": "二级甲等医院主治医师", "clinic": "2", "hospital": "上饶市妇幼保健院" }, "error": 0, "error_msg": "" }
医生详情接口
URL: /cooperation/server/doctor/detail
{ "user_id": "test_user", "doctor_id": "04c580dbeb2007220123", "partner": "test", "sign": "4d7de1d90f54c62d", "atime": "1608518154" }
{ "id": "04c580dbeb2007220123", "name": "测试医生", "image": "https://resource.chunyu.mobi/@/media/images/99b3/5f9530432279?imageMogr2/thumbnail/150x", "title": "主治医师", "clinic_name": "小儿科", "hospital": "北京301医院", "hospital_grade": "三级甲等", "good_at": "临床工作20多年,经验丰富,擅长小儿呼吸道感染等诊治。", "solution_score": 98, "recommend_rate": 88, "good_rate": 92.8, "description": "", "price": 2500, "tags": [ "百强医院", "从业26年", "北京市市" ], "reward_num": 7, "reply_num": 942, "fans_num": 55, "is_famous_doctor": false, "education": "1994年上海第二医科大学儿科系毕业,2006年去香港玛丽医院进修。", "achievement": "", "welcome": "欢迎关注我的小儿科个人诊所,希望能为你提供健康方面的帮助。", "tel_price": "{\"10\": 1000, \"15\": -1, \"20\": -1, \"30\": -1}", "tel_online": true, "error": 0, "error_msg": "" }
医生总结信息
说明:
在咨询过程中或服务关闭后7天内,医生可通过图文形式向用户下发总结。医生总结是医生的可选交流方式,并非所有问题都会下发总结。
总结信息可通过两种方式传达到合作方:1、通过【医生回复通知接口】以回调形式同步;2、通过【问题详情接口】同步。在这两种方式中,会对医生总结进行特殊标识,具体请参见接口规范。
医生可多次撰写总结,但春雨平台侧每个问题只会保留一份总结,以最后一次为准(即推送可能收到多次,但问题详情接口里只会体现一份总结,合作方可酌情设计该功能)。
查询问题分配科室接口
URL: /cooperation/server/problem/get_problem_clinic_no/
{ "user_id": "test_user", "partner": "test", "ask": "浑身发热,没劲", "sign": "fdb57eee1bb66c91", "atime": "1608518632" }
{ "error": 0, "error_msg": "", "clinic_no": "aa" }
评价问题接口
服务细则
1、问题未关闭时,交互3次以上可进行评价
2、问题关闭后:关闭后30天内可以评价;接收评价的有效期为问题关闭后30天内,超过30天,不能再评价;测试环境的有效期为问题关闭后1小时
3、评价次数限制:每个问题仅支持接收一次评价数据
接口信息
URL: /cooperation/server/problem/assess
{ "bad": { "1101": '不友好', "1102": '不细致', "1201": '等好久没回复', "1301": '完全听不懂', "1302": '感觉不专业', "1303": '没有帮助',} "good": { "2101": '希望更热情', "2102": '希望更细致', "2201": '希望回复更快', "2301": '希望讲得更透彻',} "best": { "3101": '态度非常好', "3102": '非常清楚', "3201": '回复很及时', "3301": '非常专业认真', "3302": '意见很有帮助', "3303": '非常敬业',} }
{ "user_id": "test_user", "partner": "test", "problem_id": "443258196", "assess_info": "{\"level\": \"best\", \"tag_keys\":[\"3201\", \"3102\"]}", "content": "[{\"type\": \"text\",\"text\": \"医生解答的挺好的,给个好评。\"}]", "sign": "fdb57eee1bb66c91", "atime": "1608518632" }
问题删除接口
删除问题后,"我的提问历史"接口中,会删除掉这个问题。
注意:问题未关闭时调用此接口时,会先关闭问题。请用户确保问诊完毕,不需要和医生交互后使用。
URL: /cooperation/server/problem/delete
{ "user_id": "test_user", "partner": "test", "problem_id": "443258241", "atime": "1608519397", "sign": "7d752c229c9cd583" }
问题关闭接口
说明:第三方通过此接口主动关闭问题,主动关闭条件:状态不是已关闭且医生有回复
URL: /cooperation/server/problem/close
{ "user_id": "test_user", "partner": "test", "problem_id": "443258242", "atime": "1608519713", "sign": "8fddaee19d525886" }
我的提问历史
URL: /cooperation/server/problem/list/my
{ "user_id": "test_user", "start_num": "0", "count": "10", "partner": "test", "sign": "3bb28a7c0f4a463e", "atime": "1608520177" }
[{ "problem": { "id": 443258245, "status": "a", "star": 5, "to_doc": false, "price": 6.0, "title": "医生您好,测试创建众包问题(...", "ask": "医生您好,测试创建众包问题(男,40岁)", "clinic_no": "2", "has_answer": true, "flag": "n", "created_time_ms": 1608519977000, "assess_remark": "挺好的,评价一下这个。", "clinic_name": "儿科", "created_time": "2020-12-21 11:06:17", "need_assess": false, "level": "best" }, "doctor": { "id": "clinic_web_ae8068a4df5f189e", "name": "测试医生", "title": "主治医师", "image": "https://test.chunyutianxia.com/media/images/fc7d/8968fe2e5cb5?imageMogr2/thumbnail/150x", "clinic_no": "2", "clinic": "小儿科", "hospital": "上饶市妇幼保健院", "hospital_grade": "二级甲等", "level_title": "二级甲等医院主治医师" } }]
H5资源访问登录跳转
URL: /cooperation/saas/login_redirect/
请求方式: GET
示例:
其中问诊记录测试环境url:
https://www.chunyuyisheng.com/cooperation/wap/my_all_services_page/?partner=xxx&from_saas=1
嵌套登录接口后下发给用户端:
https://www.chunyuyisheng.com/cooperation/saas/login_redirect/?url=https%3A%2F%2Fwww.chunyuyisheng.com%2Fcooperation%2Fwap%2Fmy_all_services_page%2F%3Fpartner%3Dxxxx%26from_saas%3D1&partner=xxx&atime=1676883201&user_id=test_user1&sign=1f46b8e32d7ebd2e
退款及举报逻辑
针对众包升级、定向图文类型的付费问题,涉及到如下退款场景时,将下发对应的系统通知和文案
退款类型
1、退款类型共包括5类,具体参见下表《退款类型》
2、举报逻辑与被举报引起的退款(具体参见表《因被举报引起的退款逻辑》)
规则说明1:问题因被系统举报或被医生举报可能引发退款,举报逻辑共包括4种类型,其中3种涉及退款;
规则说明2:凡被举报的问题,平台侧都会下发多次推送通知,第1次下发关闭通知,是否做退款处理请以第2次通知为准,具体处理逻辑及文案细节见表;
因被举报引起的退款逻辑
问题被举报时会被立即关闭。若此时医生尚未回复,则退款;若医生回复后被医生举报,则先关闭问题,由客服审核举报,如果医生举报正确,则不退款;医生举报错误则退款并降低医生的指数。通知关闭情况见图:
黑名单逻辑
当问题被医生举报并达到一定次数时,该用户将被拉入春雨平台的黑名单中;当用户被拉入黑名单后,将导致该用户后续创建问题失败.
错误信息为:"因违背提问原则,此功能暂不可用。如有疑问请联系春雨客服"
回调管理
回复通知接口
当服务被医生回复、总结时,春雨主动请求合作方配置的链接地址,传递医生回复数据。
1.服务关闭和服务退款两个通知并不互斥,在特殊场景中(特殊情况:已交互的问题被举报时)会先关闭服务;2.各类服务都可调用该接口,如同时接入多种服务类型,传不同的参数即可,根据status区分来自哪种服务类型。
URL: 即合作方管理后台-账户管理-信息配置中填写的回复回调路径
reply 医生回复
reply
{ "error": 0, // 0 代表成功,其它 代表异常 "error_msg": "" //错误信息 }
服务关闭通知接口
当服务关闭、退款等状态变更时,春雨主动请求合作方配置的链接地址,传递订单状态数据。
开发时请注意:问题关闭和问题退款两个通知并不互斥,在一些场景中会先关闭问题
URL: 即合作方管理后台-账户管理-信息配置中填写的关闭回调路径
close 回答完毕后关闭
close
refund 问题退款
refund
服务创建通知接口
当图文服务创建时,春雨主动请求合作方配置的链接地址,传递订单状态数据。
常见错误码
系统文案
API接入合作方可考虑自行增加以下系统消息逻辑以优化用户体验