购药服务(API模式)
#
简介:API模式是合作方开发自己的购药页面,用户在合作方完成购药后,通过API接口的形式将购药单数据同步至京东,由京东进行购药履约。合作方获取京东侧的药品信息,价格以及库存以后,自行开发页面。用户选择药品,填写地址,购药人相关信息以后通过京东侧预结算接口校验,并渲染合作方自己的预结算页面,用户操作提单后,合作方将订单数据通过结算接口同步至京东侧。提单后,京东侧会将单据的状态信息,拆单信息,物流信息,发票信息等通过合作方提供的接口地址回传给合作方,从而完成整个购药流程。
#
接入流程说明:
- 合作方获取药品信息,库存信息,判断是否可以购药;合作方通过自行开发的页面收集提单信息包含用药人,药品,收货地址等,调用京东侧预结算页面,返回预结算相关信息,包含价格运费等信息;用户在合作方页面提交购药单同步至京东,京东侧返回京东侧购药单号;提单成功后通过状态同步接口同步支付状态到京东侧;通过取消接口告知用户取消订单,京东侧会返回取消状态,成功,失败,取消中等,若返回取消成功,合作方给用户退款,退款完成通过状态同步京东是否退款成功;京东侧在提单后的各个环境会通过合作方提供的URL地址将订单拆单,状态变更,物流等信息同步至合作方;合作方可以申请开具发票,京东侧开局发票后通过合作方URL将开具的发票信息同步给合作方。
- 图中的接口需要双方业务沟通具体对接细节决定是否使用,例如业务中不涉及到拆单,则不需要接入拆单通知,不需要发票,则不需要调用申请以及接收发票等。
- 调用京东侧统一走宙斯使用标准接口,通知或者查询合作方的接口需要合作方提供URL地址,京东侧会在各个节点调用合作方的接口进行数据同步。
一。 【合作方】购药预结算询问【京东】#
二。 【合作方】购药结算生成订单同步【京东】#
三。 【合作方】购药订单状态同步【京东】#
#
四。 【京东】查询【合作方】订单详情入参参数:
参数名 | 类型 | 是否必传 | 描述 |
---|---|---|---|
orderId | String | Y | 京东订单号 |
partnerOrderId | String | Y | 合作方订单号 |
出参参数:
参数名 | 类型 | 描述 |
---|---|---|
orderId | String | 京东订单号 |
partnerOrderId | String | 合作方订单号 |
partnerOrderStatus | String | 合作方订单状态(PAYED(已支付)、REFUNDED(退款完成)REFUND_FAIL(退款失败)) |
money | Integer | 金额 单位分 |
data中返回实体示例: {"response":{"code":"0000","data":{"money":2580,"orderId":"193719739885","partnerOrderId":"1397379464179363840","partnerOrderStatus":"PAYED"},"uuid":"4fdb1d17-2397-4e90-aaf4-e80f742887a6"}}
五。 【合作方】取消购药单同步【京东】#
#
六。 【京东】购药单拆单同步【合作方】入参参数:
参数名 | 类型 | 是否必传 | 描述 |
---|---|---|---|
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}}
#
十一。 【京东】下单成功购药单号同步【合作方】说明:
购药单下单后,京东同步下单成功失败状态,然后合作方再把支付成功等同步到京东(三.购药订单状态同步)
入参参数:
参数名 | 类型 | 是否必传 | 描述 |
---|---|---|---|
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}}