购药服务(一键购药模式)
简介:一键购药模式通常指合作方能够开具处方,通过京东侧提供H5/小程序购药页面链接将处方单号带入,从而进跳转到京东侧进行购药的模式。#
合作方在自己的页面处理完业务,当用户想要购药时,通过京东侧提供的页面链接,将处方单号(也可以是其他单号,比如保险理赔单号)通过链接带入购药页面,京东侧通过处方单号查询合作方的处方信息(或保险理赔信息等),从而渲染购药结算页面,并且下单满足用户购药的需求。提单后,京东侧会将单据的状态信息,拆单信息,物流信息,发票信息等通过合作方提供的接口地址回传给合作方,从而形成整个一键购药模式的闭环。
接入流程说明:#
- 合作方通过接口查询与接收京东侧通知获取到药品相关信息,用于生成合作方的处方,处方上的药品需要是京东侧提供的药品;生成处方后通过京东侧提供的url地址从合作方页面跳转到京东大药房页面走购药流程,并接收后续的数据同步。
- 图中的接口需要双方业务沟通具体对接细节决定是否使用,例如业务中不涉及到拆单,则不需要接入拆单通知,不关心提单失败情况,则不需要接入提单失败通知等。
- 调用京东侧统一走宙斯使用标准接口,通知或者查询合作方的接口需要合作方提供URL地址,京东侧会在各个节点调用合作方的接口进行数据同步。
一。 【京东】查询【合作方】处方单详情接口#
入参参数:
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| prescriptionId | String | Y | 处方单号或者能够获取购药下单信息的单号(比如:理赔案件号) |
出参参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| prescriptionId | String | 处方单号或者能够获取购药下单信息的单号 |
| isEffective | Boolean | 处方是否有效 |
| createDate | String | 处方开具时间 |
| effectivePeriodEnd | String | 有效期结束时间 |
| diseaseDiagnosis | String | 疾病诊断 |
| drugList | List\<PrescriptionDrug> | 药品清单 |
| patientInfo | PatientInfo | 患者信息 |
| picUrl | String | 处方图片地址 |
| source | Integer | 处方单来源 1.处方 2.保险 默认为1 |
| insurance | InsuranceInfo | 保险信息 |
| userAddress | UserAddress | 用户信息地址(需要覆盖地址时) |
PrescriptionDrug
| 参数名 | 类型 | 描述 |
|---|---|---|
| drugCode | String | 药品编码 |
| drugSkuId | String | 药品skuId |
| drugAmount | Integer | 药品数量 |
| drugUsage | String | 药品用法 |
| drugDosage | String | 药品用量 |
| drugDosageUnit | String | 药品用量单位 |
| drugFrequency | String | 用药频次 |
| drugDays | Integer | 用药天数 |
| commonName | String | 通用名 |
| spec | String | 规格 |
| authorizedNo | String | 批准文号 |
| dosageFrom | String | 剂型 |
| remark | String | 备注 |
PatientInfo
| 参数名 | 类型 | 描述 |
|---|---|---|
| username | String | 用户姓名 |
| gender | Integer | 性别;0=女,1=男 |
| weight | String | 患者体重 |
| age | String | 患者年龄 |
| birthday | String | 患者生日,格式为 '1999-09-21' |
| allergicHistory | String | 患者过敏史 |
| medicalHistory | String | 患者既往病史 |
| bearStatus | Integer | 生育状态;0=无,1=备孕期,2=怀孕期,3=哺乳期 |
| idCardType | Integer | 证件类型,1.身份证 |
| patientIdCard | String | 患者身份证号,需要根据加密方式进行加密返回 |
| patientPhone | String | 患者手机号(用于通知用药人处方审核消息),需要根据加密方式进行加密返回 |
InsuranceInfo
| 参数名 | 类型 | 描述 |
|---|---|---|
| onInsuranceDate | String | 出险日期,格式为 '1999-09-21' |
| validPeriod | String | 购买有效期,格式为 '1999-09-21' |
| effectiveYear | String | 生效年度 |
| guaranteePlan | String | 保障计划 |
| personalPolicyNo | String | 个人保单号 |
| isEffective | Boolean | 理赔案件号是否有效 |
| effectivePeriodEnd | String | 理赔案件号有效期结束时间 |
| provinceId | String | 省ID |
| provinceName | String | 省名称 |
| cityId | String | 市ID |
| cityName | String | 市名称 |
| money | String | 理赔金额,请传入整数,分为单位,比如1013 代表10元1角3分 |
UserAddress
| 参数名 | 类型 | 描述 |
|---|---|---|
| addressFull | String | 全地址,加密 示例:北京是北京市经济开发区旧宫镇京东总部2号楼西门 |
| addressDetail | String | 详细地址,加密 示例:总部2号楼西门 |
| name | String | 收货人姓名,加密 |
| phone | String | 收货人手机号,加密 |
| longitude | String | 经度 |
| latitude | Boolean | 纬度 |
data中返回实体示例: {"response":{"code":"0000","data":{"prescriptionId":"b6b4f082129b1e73d2fffbc84bf9ca5d1b3d307cb6e5648cb264a51ff7e34659","isEffective":true,"diseaseDiagnosis":"肺痛","drugList":[{"authorizedNo":"H20190042","commonName":"帕博利珠单抗注射液","dosageFrom":"针剂","drugAmount":2,"drugCode":"1018","drugDosage":"120mg","drugFrequency":"3周一次","drugUsage":"5","remark":"EGFR-和ALK-局部晚期一线治疗","spec":"100mg/4ml"}],"patientInfo":{"bearStatus":0,"birthday":"1966-04-23","gender":1,"idCardType":1,"patientIdCard":"e25bdcd2aad627646eded77ea850637a9707b55366055397c39b9f1d67f0e14b","patientPhone":"8de08d2f004421d4d5e4a06393626aaf","username":"张三"},"picUrl":"https://??.jpg","source":2,"insurance":{"cityId":"320200","cityName":"无锡市","effectiveYear":"2015","guaranteePlan":"医惠锡城2015","money":"333333.0","personalPolicyNo":"0001772987123321","provinceId":"320000","provinceName":"江苏省","validPeriod":"2018-02-08"}},"uuid":"ce7c28ec-1a37-47bf-aec5-9e2fb42b13f5"}}
二。 【京东】下单成功购药单号同步【合作方】#
入参参数:
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| prescriptionId | String | Y | 处方单号 |
| orderId | String | Y | 购药单号 |
| createDate | String | Y | 下单时间 |
| shipmentType | Integer | Y | 1.商家自送 |
| orderStatus | String | Y | 订单状态 |
| invoice | InvoiceInfo | N | 发票信息 |
| sourceTimestamp | Long | Y | 源头消息处理时间戳 |
InvoiceInfo
| 参数名 | 类型 | 描述 |
|---|---|---|
| invoiceDate | String | 发票日期 ,格式为 '1999-09-21' |
| invoiceCode | String | 发票代码 |
| invoiceNo | String | 发票号码 |
| invoiceType | Integer | 发票类型 1 电子,2 纸质 |
| invoicePic | String | 发票图片 |
出参参数:
data中返回布尔类型值,此接口根据code=0000 && data=true 判定成功
{"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}}
三。 【京东】下单失败原因同步【合作方】#
入参参数:
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| prescriptionId | String | Y | 处方单号 |
| failMsg | String | Y | 失败原因描述 |
| failCode | String | Y | 失败原因CODE码 |
| sourceTimestamp | Long | Y | 源头消息处理时间戳 |
出参参数:
data中返回布尔类型值,此接口根据code=0000 && data=true 判定成功
{"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}}
四。 【京东】购药单拆单同步【合作方】#
入参参数:
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| prescriptionId | String | Y | 处方单号 |
| orderId | String | Y | 购药单单号 |
| subOrderIdList | List\<String> | Y | 拆单子单id集合 |
| sourceTimestamp | Long | Y | 源头消息处理时间戳 |
出参参数:
data中返回布尔类型值,此接口根据code=0000 && data=true 判定成功
{"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}}
五。 【京东】购药单状态变更同步【合作方】#
入参参数:
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| prescriptionId | String | Y | 处方单号 |
| orderId | String | Y | 购药单单号 |
| subOrderId | String | N | 购药单子单号 |
| orderStatus | String | Y | 订单状态 |
| operator | String | N | 操作人 |
| operateDesc | String | N | 操作说明 |
| operateTime | String | N | 操时间 '2020-11-19 20:00:30' |
| sourceTimestamp | Long | Y | 源头消息处理时间戳 |
orderStatu枚举值 NEEDPAY("NEEDPAY", "待支付"), PAYED("PAYED", "已支付"), AUDIT_PASS("AUDIT_PASS", "审核通过"), AUDIT_UNPASS("AUDIT_UNPASS", "审核不通过"), ORDER_FINISH("ORDER_FINISH", "京东订单完成"), CANCELED("CANCELED", "订单已取消");
出参参数:
data中返回布尔类型值,此接口根据code=0000 && data=true 判定成功
{"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}}
六。【京东】购药单物流信息同步【合作方】#
入参参数:
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| prescriptionId | String | Y | 处方单号 |
| orderId | String | Y | 购药单号 |
| subOrderId | String | N | 购药单子单号 |
| deliverList | List\<DeliverInfo> | Y | 订单物流信息 |
| msgId | String | Y | 唯一消息ID,32位 |
| sourceTimestamp | Long | Y | 源头消息处理时间戳 |
DeliverInfo
| 参数名 | 类型 | 描述 |
|---|---|---|
| deliverNo | String | 快递单号 |
| deliverName | String | 物流公司名称 |
| heading | String | 物流公司头像 |
| deliverPhone | String | 物流公司官方客服电话 |
| time | String | 物流时间 |
| txtStatus | String | 物流状态文本描述,例如:已发货、已揽收 |
| description | String | 物流详情描述,例如:已到*营业部 |
出参参数:
data中返回布尔类型值,此接口根据code=0000 && data=true 判定成功
{"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}}
七。【京东】购药发票同步【合作方】#
入参参数:
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| prescriptionId | String | Y | 处方单号 |
| orderId | String | Y | 购药单号 |
| subOrderId | String | N | 购药单子单号 |
| invoice | InvoiceInfo | Y | 发票信息 |
| sourceTimestamp | Long | Y | 源头消息处理时间戳 |
InvoiceInfo
| 参数名 | 类型 | 描述 |
|---|---|---|
| invoiceDate | String | 发票日期 ,格式为 '1999-09-21' |
| invoiceCode | String | 发票代码 |
| invoiceNo | String | 发票号码 |
| invoiceType | Integer | 发票类型 1 电子,2 纸质 |
| invoicePic | String | 发票图片 |
出参参数:
data中返回布尔类型值,此接口根据code=0000 && data=true 判定成功
{"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}}
