保单理赔赔案同步
#
一、对接指南请根据文档: https://open.healthjd.com/docs/intro 进行申请开发者,创建应用
并根据文档步骤,获取授权,进行接口调用,接口调用过程中如发现问题,可先行查看常见问题进行解决。
其他开发对接说明
合作方所有接口请求需要为Content-Type为application/x-www-form-urlencoded类型,请勿使用application/json等其他类型;所有接口均为post请求,合作方均需对京东侧的请求接口进行签名验证
准备联调前,需要合作方将宙斯申请的appkey,appsecret,合作方接口的调用地址提供给京东侧,配置好以后方可联调
联调测试阶段,调用宙斯时使用域名为:https://api-dev.jd.com/ 该域名用于联调;上线后使用宙斯正常域名:https://api.jd.com
通知类接口需要合作方处理幂等问题,并根据源头消息处理时间戳自行控制消息的顺序。
#
二、京东请求合作方服务【java接入方式】(合作方提供可访问的接口地址)
使用提供的jar包,接收京东测调用,接口提供方式为http接口,Accept为text/html,text/javascript,text/html,注意produces配置; 简单例子,入参使用HttpServletRequest接收,返回使用jar包中工具类 ResultBuilder.buildSuccessResult
@RequestMapping("/test")@ResponseBodypublic Map<String, JosResult> index(HttpServletRequest req) { try { //获取调用参数 String body = RequestUtil.getBody(req); //鉴权 boolean isLegal = SignUtils.checkSign(req, body, "申请宙斯后的appSecret"); //body json字符串中获取信息,做业务 todo //合作方业务处理 //返回结果 return ResultBuilder.buildSuccessResult("根据接口说明返回的结果,比如布尔类型 true "); } catch (Exception e) { return ResultBuilder.buildErrorResult("错误码","错误描述"); }}
#
三、京东请求合作方服务【非java接入方式】(合作方提供可访问的接口地址,并按照说明进行参数签名鉴权,并返回规定格式数据)
京东测调用时,会使用以下方式进行调用,链接上可获取到的参数如下表
参数名 | 类型 | 描述 |
---|---|---|
app_key | String | 宙斯申请应用的key |
method | String | 京东侧调用方法名 |
v | String | 版本号 |
sign | String | 签名 |
timestamp | String | 时间字符串,格式为:2020-06-29 16:54:41 |
链接格式如下:
https://www.demo.com/doctorChange?app_key=D0AAA6C17F41177CB9A9F6707455CC27&method=jingdong.health.basicdata.doctor.getDoctorInfoList&v=2.0&sign=F692ADA8386C42B41CDD5640711DBAD3×tamp=2020-06-29+16%3A42%3A40
参数举例:
360buy_param_json:{"affliation":1,"pageSize":1,"resourceId":"9a79e1ed5d3f46adb7667b6d9fc9ff06","scrollId":null,"serviceGroupTypeSet":"1,2,3"}
通过上述字段进行签名,具体对接流程如下
提供post接口,接口路径
例如:https://www.demo.com/jdnotify
接口进行签名验证
接口获取参数,一种参数从链接上获取5个固定参数,另一种参数从parameter中获取参数,key为360buy_param_json;
获取全部参数后,进行签名验证操作,将获取到的所有参数放入有序map,包含从链接和param中获取的所有参数,map根据key升序排列,map需要排除掉sign参数【sign不参与签名】;
拼接字符串,字符串方式为app_secret+ 上一步所有参数排序key+value +app_secret;
拼接结果如下:
e2180c50df99488badbc7a64be2a9c4e360buy_param_json{"affliation":1,"pageSize":1,"resourceId":"9a79e1ed5d3f46adb7667b6d9fc9ff06","scrollId":null,"serviceGroupTypeSet":"1,2,3"}app_keyD0AAA6C17F41177CB9A9F6707455CC27methodjingdong.health.basicdata.doctor.getDoctorInfoListtimestamp2020-06-29 16:54:41v2.0e2180c50df99488badbc7a64be2a9c4e;
对字符串进行md5加密转大写后得到签名sign;
使用得到的签名与传递过来的签名字段进行对比,若相同,则签名验证通过
处理接入合作方自己的业务
返回京东最终处理结果
#
四、参数说明入参由2部分组成,链接上获取的5个固定参数,和params中获取的由json串组成的360buy_param_json
合作方调用京东侧的相关参数,统一通过宙斯文档查看;京东侧调用合作方的参数通过本文档进行查看
所有接口参数均会包含统一入参,统一出参,后续文档只会说明放入360buy_param_json中的业务入参,与放入data中的业务出参
京东侧调用合作方需要合作方返回固定参数格式如下
参数名 | 下级参数 | 类型 | 描述 |
---|---|---|---|
reponse | 返回结果 | ||
--- | code | String | 错误码,0000时为正确,京东侧通过0000判断成功 |
--- | data | object | 返回数据 |
--- | uuid | String | 日志id,方便双方对接时获取日志 |
--- | errMsg | String | 错误描述,当code不等于0000时,给出错误描述,方便对接查找问题 |
正确结果:
{"response":{"code":"0000","data":{\"affliation\":1,\"pageSize\":1,\"resourceId\":\"123\",\"scrollId\":null,\"serviceGroupTypeSet\":\"1,2,3\"},"uuid":"f602e02e-a8c6-4fed-94f5-d7052d16b033"}}
错误结果:
{"response":{"code":"错误码","errMsg":"错误描述","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284"}}
入参参数:
(渠道根据自身需要自主选择其中的字段)
字段分类 | 字段命名 | 字段类型 | 字段描述 | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
赔案基本信息 | claimNo | String | JDH赔案ID | ||||||||||||||||||||||||||
jdClaimFilingTime | String | 立案时间例:2021-03-18 19:30:21 | |||||||||||||||||||||||||||
jdClaimFinishTime | String | 结案时间例:2021-03-18 19:30:21 | |||||||||||||||||||||||||||
eventType | Integer | 理赔案件事件类型( 2赔案立案,3赔案完成,4赔案取消,10开票完成) | |||||||||||||||||||||||||||
claimTime | String | 出险日期例:2021-03-18 19:30:21 | |||||||||||||||||||||||||||
calculateAmount | BigDecimal | 总核算金额(单位:分) | |||||||||||||||||||||||||||
claimAmount | BigDecimal | 总赔付金额(单位:分) | |||||||||||||||||||||||||||
保单基本信息 | thirdPolicyNo | String | 保司保单号 | ||||||||||||||||||||||||||
jdhPolicyNo | String | JDH保单号 | |||||||||||||||||||||||||||
人员基本信息 | thirdInsuredPersonId | String | 保司被保人人员ID | ||||||||||||||||||||||||||
insuredPersonName | String | 被保险人姓名(加密传输) | |||||||||||||||||||||||||||
insuredPersonCardType | Integer | 被保险人证件类型 | |||||||||||||||||||||||||||
insuredPersonCardNo | String | 被保险人证件号(加密传输) | |||||||||||||||||||||||||||
insuredPersonSex | Integer | 被保险人性别(1男,2女) | |||||||||||||||||||||||||||
insuredPersonBirthday | String | 被保险人生日 例:2021-03-18 | |||||||||||||||||||||||||||
理赔规则信息 | thirdProductNo | String | 保司险种编码 | ||||||||||||||||||||||||||
jdhProductNo | String | JDH险种编码 | |||||||||||||||||||||||||||
thirdProductPlanCode | String | 保司计划编码 | |||||||||||||||||||||||||||
thirdRiskCode | String | 保司责任编码 | |||||||||||||||||||||||||||
医院信息 | hospitalVenderId | String | JDH医院编码 | ||||||||||||||||||||||||||
hospitalTitleName | String | JDH医院名字 | |||||||||||||||||||||||||||
问诊信息 | diagId | String | 问诊单号 | ||||||||||||||||||||||||||
rxId | String | 处方单号 | |||||||||||||||||||||||||||
patientId | String | 患者ID | |||||||||||||||||||||||||||
diagnoseTime | String | 问诊时间例:2021-03-18 19:30:21 | |||||||||||||||||||||||||||
rxPic | String | 电子处方图片(3月22日新增)(24小时有效)(加密传输) | |||||||||||||||||||||||||||
diseaseDesc | String | 主诉(加密传输) 互医的diseaseDesc字段 | |||||||||||||||||||||||||||
diseaseName | String | 诊断疾病名称 互医的diagResult字段 | |||||||||||||||||||||||||||
icd10Str | String | ICD10代码,互医的disease字段(可以为空,保司若强校验ICD10需自行做兜底,或取诊断疾病名称进行映射) | |||||||||||||||||||||||||||
possible | String | 拟诊 互医的possible字段 | |||||||||||||||||||||||||||
diagResult | String | 医生建议互医的doctorAdvise字段 | |||||||||||||||||||||||||||
购药信息 | orderId | String | 购药单号 | ||||||||||||||||||||||||||
payTime | String | 支付时间例:2021-03-18 19:30:21 | |||||||||||||||||||||||||||
amount | BigDecimal | 优惠前订单总金额不含配送(单位:分) | |||||||||||||||||||||||||||
amountAddDelivery | BigDecimal | 优惠前订单总金额含配送(单位:分) | |||||||||||||||||||||||||||
amountAfterDiscount | BigDecimal | 优惠后订单总金额不含配送(单位:分) | |||||||||||||||||||||||||||
orderCalculateAmount | BigDecimal | 购药订单核算总金额(单位:分) | |||||||||||||||||||||||||||
orderClaimAmount | BigDecimal | 购药赔付总金额(单位:分) | |||||||||||||||||||||||||||
orderType | Integer | 购药方式(自营1, 店送2) | |||||||||||||||||||||||||||
invoicePicList | List[String] | 发票图片列表 | |||||||||||||||||||||||||||
deliverNoList | List[Map] |
仅订单完成时给出物流单号,如果拆单则传输多个单号(3月22日新增) | |||||||||||||||||||||||||||
patientName | String | 姓名(加密传输) | |||||||||||||||||||||||||||
phoneNumber | String | 收货人手机号(3月22日新增)(加密传输) | |||||||||||||||||||||||||||
province | String | 收货省 | |||||||||||||||||||||||||||
city | String | 收货市 | |||||||||||||||||||||||||||
addressDetail | String | 详细收货地址(3月22日新增)(加密传输) | |||||||||||||||||||||||||||
drugList | List[Map] | 药品清单列表
| |||||||||||||||||||||||||||
领款信息 | payType | Integer | 支付类型:个人或企业 | ||||||||||||||||||||||||||
accountName | String | 户名(加密传输) | |||||||||||||||||||||||||||
bankAccount | String | 银行账号(加密传输) | |||||||||||||||||||||||||||
bankName | String | 银行名称 |
出参参数:
data中返回布尔类型值,此接口根据code=0000 && data=true 判定成功
{"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}}