Skip to main content

购药服务(API模式)

简介:API模式是合作方开发自己的购药页面,用户在合作方完成购药后,通过API接口的形式将购药单数据同步至京东,由京东进行购药履约。#

合作方获取京东侧的药品信息,价格以及库存以后,自行开发页面。用户选择药品,填写地址,购药人相关信息以后通过京东侧预结算接口校验,并渲染合作方自己的预结算页面,用户操作提单后,合作方将订单数据通过结算接口同步至京东侧。提单后,京东侧会将单据的状态信息,拆单信息,物流信息,发票信息等通过合作方提供的接口地址回传给合作方,从而完成整个购药流程。

接入流程说明:#

  1. 合作方获取药品信息,库存信息,判断是否可以购药;合作方通过自行开发的页面收集提单信息包含用药人,药品,收货地址等,调用京东侧预结算页面,返回预结算相关信息,包含价格运费等信息;用户在合作方页面提交购药单同步至京东,京东侧返回京东侧购药单号;提单成功后通过状态同步接口同步支付状态到京东侧;通过取消接口告知用户取消订单,京东侧会返回取消状态,成功,失败,取消中等,若返回取消成功,合作方给用户退款,退款完成通过状态同步京东是否退款成功;京东侧在提单后的各个环境会通过合作方提供的URL地址将订单拆单,状态变更,物流等信息同步至合作方;合作方可以申请开具发票,京东侧开局发票后通过合作方URL将开具的发票信息同步给合作方。
  2. 图中的接口需要双方业务沟通具体对接细节决定是否使用,例如业务中不涉及到拆单,则不需要接入拆单通知,不需要发票,则不需要调用申请以及接收发票等。
  3. 调用京东侧统一走宙斯使用标准接口,通知或者查询合作方的接口需要合作方提供URL地址,京东侧会在各个节点调用合作方的接口进行数据同步。

Image text

一。 【合作方】购药预结算询问【京东】#

二。 【合作方】购药结算生成订单同步【京东】#

三。 【合作方】购药订单状态同步【京东】#

四。 【京东】查询【合作方】订单详情#

入参参数:

参数名类型是否必传描述
orderIdStringY京东订单号
partnerOrderIdStringY合作方订单号

出参参数:

参数名类型描述
orderIdString京东订单号
partnerOrderIdString合作方订单号
partnerOrderStatusString合作方订单状态(PAYED(已支付)、REFUNDED(退款完成)REFUND_FAIL(退款失败))
moneyInteger金额 单位分

data中返回实体示例: {"response":{"code":"0000","data":{"money":2580,"orderId":"193719739885","partnerOrderId":"1397379464179363840","partnerOrderStatus":"PAYED"},"uuid":"4fdb1d17-2397-4e90-aaf4-e80f742887a6"}}

五。 【合作方】取消购药单同步【京东】#

六。 【京东】购药单拆单同步【合作方】#

入参参数:

参数名类型是否必传描述
prescriptionIdStringY处方单号
orderIdStringY购药单单号
subOrderIdListList\<String>Y拆单子单id集合
sourceTimestampLongY源头消息处理时间戳

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

七。 【京东】购药单状态变更同步【合作方】#

入参参数:

参数名类型是否必传描述
prescriptionIdStringY处方单号
orderIdStringY购药单单号
subOrderIdStringN购药单子单号
orderStatusStringY订单状态
operatorStringN操作人
operateDescStringN操作说明
operateTimeStringN操时间 '2020-11-19 20:00:30'
sourceTimestampLongY源头消息处理时间戳

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}}

八。【京东】购药单物流信息同步【合作方】#

入参参数:

参数名类型是否必传描述
prescriptionIdStringY处方单号
orderIdStringY购药单号
subOrderIdStringN购药单子单号
deliverListList\<DeliverInfo>Y订单物流信息
msgIdStringY唯一消息ID,32位
sourceTimestampLongY源头消息处理时间戳

DeliverInfo

参数名类型描述
deliverNoString快递单号
deliverNameString物流公司名称
headingString物流公司头像
deliverPhoneString物流公司官方客服电话
timeString物流时间
txtStatusString物流状态文本描述,例如:已发货、已揽收
descriptionString物流详情描述,例如:已到*营业部

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

九。 【合作方】向【京东】申请开具发票#

十。【京东】购药发票同步【合作方】#

入参参数:

参数名类型是否必传描述
prescriptionIdStringY处方单号
orderIdStringY购药单号
subOrderIdStringN购药单子单号
invoiceInvoiceInfoY发票信息
sourceTimestampLongY源头消息处理时间戳

InvoiceInfo

参数名类型描述
invoiceDateString发票日期 ,格式为 '1999-09-21'
invoiceCodeString发票代码
invoiceNoString发票号码
invoiceTypeInteger发票类型 1 电子,2 纸质
invoicePicString发票图片

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

十一。 【京东】下单成功购药单号同步【合作方】#

说明:

购药单下单后,京东同步下单成功失败状态,然后合作方再把支付成功等同步到京东(三.购药订单状态同步)

入参参数:

参数名类型是否必传描述
prescriptionIdStringY处方单号
orderIdStringY购药单号
createDateStringY下单时间
shipmentTypeIntegerY1.商家自送
orderStatusStringY订单状态
invoiceInvoiceInfoN发票信息
sourceTimestampLongY源头消息处理时间戳

InvoiceInfo

参数名类型描述
invoiceDateString发票日期 ,格式为 '1999-09-21'
invoiceCodeString发票代码
invoiceNoString发票号码
invoiceTypeInteger发票类型 1 电子,2 纸质
invoicePicString发票图片

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

十二。 【京东】下单失败原因同步【合作方】#

入参参数:

参数名类型是否必传描述
prescriptionIdStringY处方单号
failMsgStringY失败原因描述
failCodeStringY失败原因CODE码
sourceTimestampLongY源头消息处理时间戳

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