Skip to main content

保单理赔赔案同步

一、对接指南#

请根据文档: 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_keyString宙斯申请应用的key
methodString京东侧调用方法名
vString版本号
signString签名
timestampString时间字符串,格式为: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返回结果
---codeString错误码,0000时为正确,京东侧通过0000判断成功
---dataobject返回数据
---uuidString日志id,方便双方对接时获取日志
---errMsgString错误描述,当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"}}

入参参数:
(渠道根据自身需要自主选择其中的字段)

字段分类字段命名字段类型字段描述
赔案基本信息claimNoStringJDH赔案ID
jdClaimFilingTimeString立案时间例:2021-03-18 19:30:21
jdClaimFinishTimeString结案时间例:2021-03-18 19:30:21
eventTypeInteger理赔案件事件类型( 2赔案立案,3赔案完成,4赔案取消,10开票完成)
claimTimeString出险日期例:2021-03-18 19:30:21
calculateAmountBigDecimal总核算金额(单位:分)
claimAmountBigDecimal总赔付金额(单位:分)
保单基本信息thirdPolicyNoString保司保单号
jdhPolicyNoStringJDH保单号
人员基本信息thirdInsuredPersonIdString保司被保人人员ID
insuredPersonNameString被保险人姓名(加密传输)
insuredPersonCardTypeInteger被保险人证件类型
insuredPersonCardNoString被保险人证件号(加密传输)
insuredPersonSexInteger被保险人性别(1男,2女)
insuredPersonBirthdayString被保险人生日 例:2021-03-18
理赔规则信息thirdProductNoString保司险种编码
jdhProductNoStringJDH险种编码
thirdProductPlanCodeString保司计划编码
thirdRiskCodeString保司责任编码
医院信息hospitalVenderIdStringJDH医院编码
hospitalTitleNameStringJDH医院名字
问诊信息diagIdString问诊单号
rxIdString处方单号
patientIdString患者ID
diagnoseTimeString问诊时间例:2021-03-18 19:30:21
rxPicString电子处方图片(3月22日新增)(24小时有效)(加密传输)
diseaseDescString主诉(加密传输) 互医的diseaseDesc字段
diseaseNameString诊断疾病名称 互医的diagResult字段
icd10StrStringICD10代码,互医的disease字段(可以为空,保司若强校验ICD10需自行做兜底,或取诊断疾病名称进行映射)
possibleString拟诊 互医的possible字段
diagResultString医生建议互医的doctorAdvise字段
购药信息orderIdString购药单号
payTimeString支付时间例:2021-03-18 19:30:21
amountBigDecimal优惠前订单总金额不含配送(单位:分)
amountAddDeliveryBigDecimal优惠前订单总金额含配送(单位:分)
amountAfterDiscountBigDecimal优惠后订单总金额不含配送(单位:分)
orderCalculateAmountBigDecimal购药订单核算总金额(单位:分)
orderClaimAmountBigDecimal购药赔付总金额(单位:分)
orderTypeInteger购药方式(自营1, 店送2)
invoicePicListList[String]发票图片列表
deliverNoListList[Map]
字段命名字段类型字段描述
deliverNoString物流单号
deliverCompanyString物流公司

仅订单完成时给出物流单号,如果拆单则传输多个单号(3月22日新增)

patientNameString姓名(加密传输)
phoneNumberString收货人手机号(3月22日新增)(加密传输)
provinceString收货省
cityString收货市
addressDetailString详细收货地址(3月22日新增)(加密传输)
drugListList[Map]药品清单列表
字段命名字段类型字段描述
drugNameString药品通用名
approvalNumberString批准文号(3月22日新增)
specificationString规格(3月22日新增)
drugIdString药品ID
skuIdString商品ID
skuCountInteger数量
skuPriceBigDecimal优惠后单价
totalPriceBigDecimal优惠后总价
领款信息payTypeInteger支付类型:个人或企业
accountNameString户名(加密传输)
bankAccountString银行账号(加密传输)
bankNameString银行名称

出参参数:
data中返回布尔类型值,此接口根据code=0000 && data=true 判定成功
{"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}}