### Successful Response Example Source: https://open.healthjd.com/docs/api-document/insurance/claim/info This is an example of a successful response from the API, indicating that the operation was completed correctly. ```json {"response":{"code":"0000","data":{"affliation":1,"pageSize":1,"resourceId":"123","scrollId":null,"serviceGroupTypeSet":"1,2,3"},"uuid":"f602e02e-a8c6-4fed-94f5-d7052d16b033"}} ``` -------------------------------- ### Signature String Construction Example Source: https://open.healthjd.com/docs/api-document/insurance/claim/info This example shows how to construct the string for signature generation by concatenating parameters in a specific order. The app secret is used at the beginning and end of the string. ```plaintext 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; ``` -------------------------------- ### Error Response Example Source: https://open.healthjd.com/docs/api-document/insurance/claim/info This is an example of an error response from the API, providing a code and error message when an operation fails. ```json {"response":{"code":"错误码","errMsg":"错误描述","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284"}} ``` -------------------------------- ### 业务参数加密后 Source: https://open.healthjd.com/docs/api-document/insurance/fund-pay/info1 经过AES/CBC/PKCS5Padding加密后的密文,作为lpzfParam参数值。 ```text MLyyPLAYrtsMYptk4K0xwKzHLcGFwn1g9VqSu/xYlHL8lHsZQOQ/QYDT/j4grYn2e9gcwUjsBHQlw1SclLacXshHV2V6pGPHiuJxWwlweFQEIZUWXdVmHQ4t+UxRYGfGsxVD/1hByhzvL3mmk4au8LOYTehH8vmFUZPebsn/zb+Ftxer3bQL/g2FRj8N/MUSNfp30YuJXRdNMRbeeBKUS8/wJ04XKR5YEJwFdjFJw50uzjYPBrVj1erGAl1ULa2b8eIwAyGHsC3zJRZZ2Usn/7aF4L5O+0FPzZ4vbN5yWy10BIrFdQBecVBWPBVyoy/wxdHh9rJ9V+98T7mDLcRItiFUZNYN5JfMtRlwKziPjtxRTJTGe8kKreNPZ4yHHLj7Qqz3k6VTsjhF8ah/G8Lrrw== ``` -------------------------------- ### Java SDK接口实现示例 Source: https://open.healthjd.com/docs/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0-%E6%8E%A5%E6%94%B6%E8%B0%83%E7%94%A8 使用Java SDK接收京东开放平台数据同步请求的接口实现。需要实现HTTP接口,并使用SDK进行鉴权和业务处理。 ```java @RequestMapping("/test")public Map index(HttpServletRequest req) { try { // 获取调用参数 String body = RequestUtil.getBody(req); // 鉴权 boolean isLegal = SignUtils.checkSign(req, body, appSecret); // 业务处理 - 开始 // 业务处理 - 结束 // 返回结果 return ResultBuilder.buildSuccessResult(true); } catch (Exception e) { return ResultBuilder.buildErrorResult("0001", "未知异常"); } } ``` -------------------------------- ### GET /prescription/detail Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E8%B4%AD%E8%8D%AFAPI-%E4%B8%80%E9%94%AE%E8%B4%AD%E8%8D%AF%E6%A8%A1%E5%BC%8F 京东侧调用此接口查询合作方的处方单或保险理赔单详情,用于渲染购药结算页面。 ```APIDOC ## GET /prescription/detail ### Description 京东侧调用此接口查询合作方的处方单或保险理赔单详情,用于渲染购药结算页面。 ### Method GET ### Endpoint /prescription/detail ### Parameters #### Query Parameters - **prescriptionId** (String) - Required - 处方单号或者能够获取购药下单信息的单号(比如:理赔案件号) ### Response #### Success Response (200) - **prescriptionId** (String) - 处方单号 - **isEffective** (Boolean) - 处方是否有效 - **createDate** (String) - 处方开具时间 - **effectivePeriodEnd** (String) - 有效期结束时间 - **diseaseDiagnosis** (String) - 疾病诊断 - **drugList** (List) - 药品清单 - **patientInfo** (PatientInfo) - 患者信息 - **picUrl** (String) - 处方图片地址 - **source** (Integer) - 处方单来源 1.处方 2.保险 - **insurance** (InsuranceInfo) - 保险信息 - **userAddress** (UserAddress) - 用户信息地址 #### Response Example { "response": { "code": "0000", "data": { "prescriptionId": "b6b4f082129b1e73d2fffbc84bf9ca5d1b3d307cb6e5648cb264a51ff7e34659", "isEffective": true, "diseaseDiagnosis": "肺痛", "drugList": [{"commonName": "帕博利珠单抗注射液", "drugAmount": 2}], "patientInfo": {"username": "张三"} } } } ``` -------------------------------- ### GET /oauth/token Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E6%A0%87%E5%87%86%E8%81%94%E5%90%88%E7%99%BB%E9%99%86 Exchange an authorization code for an access token. ```APIDOC ## GET /oauth/token ### Description Exchange the authorization code obtained from the partner's authorization page for an access token. ### Method GET ### Endpoint /oauth/token ### Parameters #### Query Parameters - **code** (String) - Required - The authorization code. - **client_id** (String) - Required - The client ID provided by the partner. - **client_secret** (String) - Required - The client secret provided by the partner. - **grant_type** (String) - Required - Fixed value: authorization_code. - **redirect_uri** (String) - Required - The redirect URI. ### Response #### Success Response (200) - **data** (Map) - Data object containing token info - **data.accessToken** (String) - The access token - **data.expireInSeconds** (Integer) - Expiration time in seconds - **code** (String) - Request return code - **message** (String) - Request return message - **requestId** (String) - Unique request identifier #### Response Example { "data": { "accessToken": "", "expireInSeconds": 1800 }, "code": "0000", "message": "成功", "requestId": "a504dee9-826b-41c9-b3ee-cef797868706" } ``` -------------------------------- ### POST /performance/sync Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E6%9D%83%E7%9B%8A%E6%9C%8D%E5%8A%A1-%E7%BB%BF%E9%80%9A 同步履约记录信息至商户系统。 ```APIDOC ## POST /performance/sync ### Description 同步履约记录信息至商户系统。 ### Parameters #### Request Body - **beneficialId** (Long) - 权益ID - **businessType** (Integer) - 权益场景 - **providerCode** (Integer) - 供应商CODE - **totalCount** (Integer) - 权益细项享有总次数 - **residueCount** (Integer) - 权益细项剩余总次数 - **servicePackageConfigId** (Long) - 服务包ID - **servicePackageRecordId** (Long) - 用户服务包ID - **servicePackageType** (Integer) - 服务分类 - **servicePackageSecondType** (Long) - 服务二级分类 - **waitingPeriod** (Integer) - 等待期 - **validityStartTime** (String) - 有效期-开始时间 - **validityEndTime** (String) - 有效期-结束时间 - **orderId** (Long) - 订单ID - **orderTime** (String) - 订单创建时间 - **finishTime** (String) - 订单完成时间 - **cancelTime** (String) - 订单取消时间 - **status** (Integer) - 状态(1有效 2无效) ### Response #### Success Response (200) - **code** (String) - 响应码,0000成功 - **data** (Boolean) - 返回数据true/false - **uuid** (String) - 日志ID - **errMsg** (String) - 错误描述 #### Response Example { "reponse": { "code": "0000", "data": true, "uuid": "f602e02e-a8c6-4fed-94f5-d7052d16b033" } } ``` -------------------------------- ### 带加密参数的完整H5链接 Source: https://open.healthjd.com/docs/api-document/insurance/fund-pay/info1 将URL编码后的密文参数添加到H5链接中,用于直接跳转。 ```url https://pro.m.jd.com/jdhdyf/active/2FSCPNgiFDY3xwKU3d2AzsDmorLp/index.html?utm_source=kong&utm_medium=tuiguang&utm_campaign=t_1003188492_100003&activityPlace=1597979905901&channelNo=10114717431431169&lpzfParam=MLyyPLAYrtsMYptk4K0xwKzHLcGFwn1g9VqSu%2FxYlHL8lHsZQOQ%2FQYDT%2Fj4grYn2e9gcwUjsBHQlw1SclLacXshHV2V6pGPHiuJxWwlweFQEIZUWXdVmHQ4t%2BUxRYGfGsxVD%2F1hByhzvL3mmk4au8LOYTehH8vmFUZPebsn%2Fzb%2BFtxer3bQL%2Fg2FRj8N%2FMUSNfp30YuJXRdNMRbeeBKUS8%2FwJ04XKR5YEJwFdjFJw50uzjYPBrVj1erGAl1ULa2b8eIwAyGHsC3zJRZZ2Usn%2F7aF4L5O%2B0FPzZ4vbN5yWy10BIrFdQBecVBWPBVyoy%2FwxdHh9rJ9V%2B98T7mDLcRItiFUZNYN5JfMtRlwKziPjtxRTJTGe8kKreNPZ4yHHLj7Qqz3k6VTsjhF8ah%2FG8Lrrw%3D%3D ``` -------------------------------- ### Appointment Record Synchronization Error Response Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E6%9D%83%E7%9B%8A%E6%9C%8D%E5%8A%A1-%E7%BB%BF%E9%80%9A This is an example of an error response for appointment record synchronization. It includes an error code, an error message, and a unique UUID for logging. ```json {"reponse":{"code":"错误码","errMsg":"错误描述","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284"}} ``` -------------------------------- ### 实时更新医生信息接口 Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E9%97%AE%E8%AF%8AAPI 京东请求合作方实时更新医生信息,包括图文咨询和电话咨询的开通状态及价格。 ```APIDOC ## POST /api/doctor/updateInfo ### Description 京东请求合作方实时更新医生信息。 ### Method POST ### Endpoint [合作方提供的回调地址] ### Parameters #### Request Body - **isOpenConsult** (integer) - Required - 是否开通图文咨询,1=开通,0=关闭。 - **consultPrice** (BigDecimal) - Required - 图文咨询价格,单位分。 - **isOpenPhone** (integer) - Optional - 是否开通电话咨询 1=开通,0=关闭。 - **doctorId** (long) - Required - 医生ID。 - **phonePriceInfoDTOList** (List) - Optional - 电话价格信息,未开通不不需要此字段。 - **skuId** (long) - Required - 服务ID。 - **telephoneServiceLength** (integer) - Required - 电话问诊服务时长,单位秒。 - **consultPrice** (BigDecimal) - Required - 咨询价格,单位分。 ### Request Example ```json { "isOpenConsult": 1, "consultPrice": "10.00", "isOpenPhone": 1, "doctorId": 12345, "phonePriceInfoDTOList": [ { "skuId": 1001, "telephoneServiceLength": 600, "consultPrice": "20.00" } ] } ``` ### Response #### Success Response (200) - **data** (boolean) - 操作是否成功。 #### Response Example ```json { "code": "0000", "errMsg": "", "uuid": "1ded1b62-c60f-4e4f-9620-a78a16b8f284", "data": true } ``` ``` -------------------------------- ### POST /order/success Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E8%B4%AD%E8%8D%AFAPI-%E4%B8%80%E9%94%AE%E8%B4%AD%E8%8D%AF%E6%A8%A1%E5%BC%8F 当用户在京东侧下单成功后,京东侧调用此接口将订单状态、物流及发票信息回传给合作方。 ```APIDOC ## POST /order/success ### Description 当用户在京东侧下单成功后,京东侧调用此接口将订单状态、物流及发票信息回传给合作方。 ### Method POST ### Endpoint /order/success ### Parameters #### Request Body - **prescriptionId** (String) - Required - 处方单号 - **orderId** (String) - Required - 购药单号 - **createDate** (String) - Required - 下单时间 - **shipmentType** (Integer) - Required - 1.商家自送 - **orderStatus** (String) - Required - 订单状态 - **invoice** (InvoiceInfo) - Optional - 发票信息 - **sourceTimestamp** (Long) - Required - 源头消息处理时间戳 ### Response #### Success Response (200) - **data** (Boolean) - 成功返回 true #### Response Example { "response": { "code": "0000", "data": true } } ``` -------------------------------- ### POST /appointment/sync Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E6%9D%83%E7%9B%8A%E6%9C%8D%E5%8A%A1-%E7%BB%BF%E9%80%9A 同步预约记录信息至商户系统。 ```APIDOC ## POST /appointment/sync ### Description 同步预约记录信息至商户系统。 ### Parameters #### Request Body - **appointmentRecordId** (Long) - 预约服务单号 - **beneficialId** (Long) - 权益ID - **businessType** (Integer) - 权益场景 - **providerCode** (Integer) - 供应商CODE - **servicePackageConfigId** (Long) - 服务包ID - **servicePackageRecordId** (Long) - 用户服务包ID - **patientName** (String) - 患者姓名 - **patientPhone** (String) - 患者手机号 - **patientPhoneExtend** (String) - 分机号 - **visitTime** (String) - 就诊时间 - **visitDepartment** (String) - 就诊科室 - **visitHospital** (String) - 就诊医院 - **remarks** (String) - 备注 ### Response #### Success Response (200) - **code** (String) - 响应码,0000成功 - **data** (Boolean) - 返回数据true/false - **uuid** (String) - 日志ID - **errMsg** (String) - 错误描述 #### Response Example { "reponse": { "code": "0000", "data": true, "uuid": "f602e02e-a8c6-4fed-94f5-d7052d16b033" } } ``` -------------------------------- ### 刷新 access_token 有效期 Source: https://open.healthjd.com/docs/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0-%E7%94%A8%E6%88%B7%E6%8E%88%E6%9D%83 若为企业 API 对接,可使用应用创建账号手动发起步骤 1 和 2,并定时刷新 access_token 有效期,避免接口调用失败。 ```APIDOC ## 刷新 access_token 有效期 ### Description 若为企业 API 对接,可使用应用创建账号手动发起步骤 1 和 2,并定时刷新 `access_token` 有效期,避免接口调用失败。 ### Method GET ### Endpoint https://open-oauth.jd.com/oauth2/refresh_token ### Parameters #### Query Parameters - **app_key** (string) - Required - 应用标识 - **app_secret** (string) - Required - 应用密钥 - **grant_type** (string) - Required - 固定为 refresh_token - **refresh_token** (string) - Required - 步骤 2 或前一次步骤 3 获取的 refresh_token ### Request Example ``` https://open-oauth.jd.com/oauth2/refresh_token?app_key=XXXXX&app_secret=XXXXX&grant_type=refresh_token&refresh_token=XXXXX ``` ### Response #### Success Response (200) - **access_token** (string) - 接口调用令牌 - **expires_in** (integer) - 令牌有效时间,单位秒 - **refresh_token** (string) - 用户刷新 access_token - **scope** (string) - 用户授权的作用域,逗号分隔 - **open_id** (string) - 授权用户唯一标识 #### Response Example ```json { "access_token": "a3207b6b5ad04249ad1dbf6a98248bea", "expires_in": 3600000, "refresh_token": "4ecbbab0e9e443159c518da1d10741ad", "scope": "snsapi_base", "open_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } ``` #### Error Response Example ```json { "code": 40029, "msg": "invalid code", "requestId": "xxxx" } ``` ``` -------------------------------- ### POST /sync/splitOrder Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E8%B4%AD%E8%8D%AFAPI-%E4%B8%80%E9%94%AE%E8%B4%AD%E8%8D%AF%E6%A8%A1%E5%BC%8F 同步购药单拆单信息至合作方。 ```APIDOC ## POST /sync/splitOrder ### Description 同步购药单拆单信息至合作方。 ### Parameters #### Request Body - **prescriptionId** (String) - Required - 处方单号 - **orderId** (String) - Required - 购药单单号 - **subOrderIdList** (List) - Required - 拆单子单id集合 - **sourceTimestamp** (Long) - Required - 源头消息处理时间戳 ### Response #### Success Response (200) - **code** (String) - 状态码,成功为0000 - **data** (Boolean) - 成功返回true #### Response Example {"response":{"code":"0000","errMsg":"","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284","data":true}} ``` -------------------------------- ### 京东商家开放平台API调用概述 Source: https://open.healthjd.com/docs/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0-%E8%B0%83%E7%94%A8API 京东商家开放平台基于HTTP协议,开发者可以通过SDK或自行封装HTTP请求来调用API。调用过程涉及请求封装、签名加解密等环节。 ```APIDOC ## 开放平台API调用概述 京东商家开放平台基于HTTP协议,开发者(ISV)可以使用开放平台提供的SDK(支持多种语言)或自行封装HTTP请求来调用API。调用过程包括请求封装、签名加解密等。 ### 通过SDK直接调用 **引入SDK后,直接参考接口文档中的示例进行调用即可。** 参数说明: * `SERVER_URL`,参考 **3.1、调用入口** * `accessToken` ,授权token,详细可参考**用户授权** * `appKey` ,**应用appKey** * `appSecret` ,**应用appSecret** ### API调用流程 用户需按照开放平台的协议规范拼装正确的URL,通过HTTPS请求获取数据。主要流程包括: 1. **填写参数** 2. **生成签名** 3. **拼装HTTPS请求** 4. **发起请求** 5. **得到响应结果** 6. **解析结果** ``` -------------------------------- ### 权益卡查询请求参数(明文) Source: https://open.healthjd.com/docs/api-document/insurance/user-rights-card/first 卡券查询接口的业务请求参数明文示例。实际调用时,此JSON对象需要使用AES加密。 ```json { "cardNo": "卡号", "createTime": "2021-09-03","userId":"21321421"} ``` -------------------------------- ### 1-移动端-加密URL对接 Source: https://open.healthjd.com/docs/api-document/insurance/fund-pay/info1 此部分详细说明了如何构建一个加密的URL,以便将用户从第三方平台跳转到京东健康购物商城。京东健康会验证并解密URL中的参数以展示相应页面。 ```APIDOC ## 1-移动端-加密URL对接 ### 方案说明 科技公司通过带有加密参数的URL跳转到京东健康购物商城;京东健康对参数验证以及解密后会展示相应页面。 **跳转URL** :`https://xxx&lpzfParam=_加密后的密文_` **url前缀**(XXX):京东提供;每个渠道一个专属url; **完整url示例** : ``` https://pro.m.jd.com/jdhdyf/active/2FSCPNgiFDY3xwKU3d2AzsDmorLp/index.html?utm_source=kong&utm_medium=tuiguang&utm_campaign=t_1003188492_100003&activityPlace=1597979905901&channelNo=10114717431431169&lpzfParam=密文 ``` **加密秘钥** :京东下发; **加密算法** :AES [AES/CBC/PKCS5Padding] 加密算法说明文档(SDK请参考附录文件): https://open.healthjd.com/docs/接入指南/开放平台-加解密说明 ### 业务参数 该内容需要加密成密文,然后作为lpzfParam的参数值传入京东健康 |字段名| 字段描述| 必填| 类型| 备注| |---|---|---|---|---| |cardNo| 渠道卡号| 否| String[50]| 唯一且只能同一个人使用| |cardType| 渠道卡类型| 否| String[50]| 根据业务场景,多类卡片则需传入| |cardType2| 渠道卡类型2| 否| String[50]| 根据业务场景,多类卡片则需传入| |userId| 渠道用户ID| 否| String[60]| 渠道平台唯一用户标识| |token| 渠道token| 否| String[256]| 选填| |userName| 用户姓名| 否| String[50]|| |userPhone| 用户电话| 否| String[50]|| |timestamp| 时间戳(10分钟有效)| 是| String[20]| 格式:yyyy-MM-dd HH:mm:ss| |requestId| 接口请求ID| 是| String[32]| 每次请求都不可重复| ### 参数示例 #### 3.1 业务参数加密前(标准JSON格式) ```json { "cardNo": "N10034103234321", "cardType": "SUB0001", "userId": "U00001", "token": "XXXXXXX", "userName": "张三", "userPhone": "13322232288", "timestamp": "2022-01-11 22:23:11", "requestId": "20211123190910342323" } ``` #### 3.2 业务参数加密后 示例:(加密逻辑请参考:https://open.healthjd.com/docs/接入指南/开放平台-加解密说明 ) ``` MLyyPLAYrtsMYptk4K0xwKzHLcGFwn1g9VqSu/xYlHL8lHsZQOQ/QYDT/j4grYn2e9gcwUjsBHQlw1SclLacXshHV2V6pGPHiuJxWwlweFQEIZUWXdVmHQ4t+UxRYGfGsxVD/1hByhzvL3mmk4au8LOYTehH8vmFUZPebsn/zb+Ftxer3bQL/g2FRj8N/MUSNfp30YuJXRdNMRbeeBKUS8/wJ04XKR5YEJwFdjFJw50uzjYPBrVj1erGAl1ULa2b8eIwAyGHsC3zJRZZ2Usn/7aF4L5O+0FPzZ4vbN5yWy10BIrFdQBecVBWPBVyoy/wxdHh9rJ9V+98T7mDLcRItiFUZNYN5JfMtRlwKziPjtxRTJTGe8kKreNPZ4yHHLj7Qqz3k6VTsjhF8ah/G8Lrrw== ``` #### 3.3 密文urlEncode编码 编码后示例(密文存在网络特殊字符,需要进行urlEncode编码): ``` MLyyPLAYrtsMYptk4K0xwKzHLcGFwn1g9VqSu%2FxYlHL8lHsZQOQ%2FQYDT%2Fj4grYn2e9gcwUjsBHQlw1SclLacXshHV2V6pGPHiuJxWwlweFQEIZUWXdVmHQ4t%2BUxRYGfGsxVD%2F1hByhzvL3mmk4au8LOYTehH8vmFUZPebsn%2Fzb%2BFtxer3bQL%2Fg2FRj8N%2FMUSNfp30YuJXRdNMRbeeBKUS8%2FwJ04XKR5YEJwFdjFJw50uzjYPBrVj1erGAl1ULa2b8eIwAyGHsC3zJRZZ2Usn%2F7aF4L5O%2B0FPzZ4vbN5yWy10BIrFdQBecVBWPBVyoy%2FwxdHh9rJ9V%2B98T7mDLcRItiFUZNYN5JfMtRlwKziPjtxRTJTGe8kKreNPZ4yHHLj7Qqz3k6VTsjhF8ah%2FG8Lrrw%3D%3D ``` #### 3.4 带加密参数的完整H5链接(H5环境可直接跳转) 完整请求链接示例 ``` https://pro.m.jd.com/jdhdyf/active/2FSCPNgiFDY3xwKU3d2AzsDmorLp/index.html?utm_source=kong&utm_medium=tuiguang&utm_campaign=t_1003188492_100003&activityPlace=1597979905901&channelNo=10114717431431169&lpzfParam=MLyyPLAYrtsMYptk4K0xwKzHLcGFwn1g9VqSu%2FxYlHL8lHsZQOQ%2FQYDT%2Fj4grYn2e9gcwUjsBHQlw1SclLacXshHV2V6pGPHiuJxWwlweFQEIZUWXdVmHQ4t%2BUxRYGfGsxVD%2F1hByhzvL3mmk4au8LOYTehH8vmFUZPebsn%2Fzb%2BFtxer3bQL%2Fg2FRj8N%2FMUSNfp30YuJXRdNMRbeeBKUS8%2FwJ04XKR5YEJwFdjFJw50uzjYPBrVj1erGAl1ULa2b8eIwAyGHsC3zJRZZ2Usn%2F7aF4L5O%2B0FPzZ4vbN5yWy10BIrFdQBecVBWPBVyoy%2FwxdHh9rJ9V%2B98T7mDLcRItiFUZNYN5JfMtRlwKziPjtxRTJTGe8kKreNPZ4yHHLj7Qqz3k6VTsjhF8ah%2FG8Lrrw%3D%3D ``` #### 3.5 小程序方案(若是小程序环境需以下处理) **小程序APPID** :`wx862d8e26109609cb` **小程序名称** :京东健康 **小程序页面路径** : `pages/login/wv-common/wv-common?h5_url=将带加密参数的完整H5链接整体encode后拼接到这里` ``` -------------------------------- ### 【京东】查询【合作方】订单详情 Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E8%B4%AD%E8%8D%AFAPI-%E7%BB%93%E7%AE%97%E4%B8%8B%E5%8D%95%E6%A8%A1%E5%BC%8F 京东侧通过此接口查询合作方订单详情,用于核对订单信息。 ```APIDOC ## GET /api/order/query ### Description 京东侧查询合作方订单详情接口。 ### Method GET ### Endpoint /api/order/query ### Parameters #### Query Parameters - **orderId** (String) - Required - 京东订单号 - **partnerOrderId** (String) - Required - 合作方订单号 ### Response #### Success Response (200) - **orderId** (String) - 京东订单号 - **partnerOrderId** (String) - 合作方订单号 - **partnerOrderStatus** (String) - 合作方订单状态(PAYED(已支付)、REFUNDED(退款完成)REFUND_FAIL(退款失败)) - **money** (Integer) - 金额 单位分 #### Response Example ```json { "response": { "code": "0000", "data": { "money": 2580, "orderId": "193719739885", "partnerOrderId": "1397379464179363840", "partnerOrderStatus": "PAYED" }, "uuid": "4fdb1d17-2397-4e90-aaf4-e80f742887a6" } } ``` ``` -------------------------------- ### 查询用户信息接口调用 Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E6%A0%87%E5%87%86%E8%81%94%E5%90%88%E7%99%BB%E9%99%86 通过POST请求携带AccessToken获取用户手机号、openId及名称。 ```http method: POST https://合作方域名/oauth/user/info ``` ```json {"appId":"xxx(可选)","accessToken":"xxx"} ``` -------------------------------- ### 查询医生排班信息接口 Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E9%97%AE%E8%AF%8AAPI 合作方请求京东查询医生排班信息接口,用于电话问诊场景。 ```APIDOC ## GET /api/doctor/schedule ### Description 合作方请求京东查询医生排班信息(电话问诊场景下使用)。 ### Method GET ### Endpoint https://jos.jd.com/apilist?apiGroupId=727&apiId=19609&apiName=jingdong.health.basicdata.doctor.getDoctorScheduleDetailInfo ### Parameters #### Query Parameters - **doctorId** (long) - Required - 医生ID。 - **date** (string) - Required - 查询日期,格式YYYY-MM-DD。 ### Response #### Success Response (200) - **data** (object) - 排班信息。 - **scheduleList** (array) - 排班列表。 - **startTime** (string) - 开始时间。 - **endTime** (string) - 结束时间。 - **availableSlots** (integer) - 可用号源数量。 #### Response Example ```json { "code": "0000", "errMsg": "", "uuid": "1ded1b62-c60f-4e4f-9620-a78a16b8f284", "data": { "scheduleList": [ { "startTime": "09:00:00", "endTime": "10:00:00", "availableSlots": 5 } ] } } ``` ``` -------------------------------- ### POST /order/fail Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E8%B4%AD%E8%8D%AFAPI-%E4%B8%80%E9%94%AE%E8%B4%AD%E8%8D%AF%E6%A8%A1%E5%BC%8F 当用户在京东侧提单失败时,京东侧调用此接口将失败原因同步给合作方。 ```APIDOC ## POST /order/fail ### Description 当用户在京东侧提单失败时,京东侧调用此接口将失败原因同步给合作方。 ### Method POST ### Endpoint /order/fail ### Parameters #### Request Body - **prescriptionId** (String) - Required - 处方单号 - **failMsg** (String) - Required - 失败原因描述 - **failCode** (String) - Required - 失败原因CODE码 - **sourceTimestamp** (Long) - Required - 源头消息处理时间戳 ### Response #### Success Response (200) - **data** (Boolean) - 成功返回 true #### Response Example { "response": { "code": "0000", "data": true } } ``` -------------------------------- ### 配置Controller处理415错误 Source: https://open.healthjd.com/docs/common 通过指定produces属性解决接收同步消息时的415错误。 ```java @RestController@RequestMapping("/member")@Slf4jpublic class TestController {@RequestMapping(value = "/jd/notify/create" ,method = RequestMethod.POST,produces = {MediaType.TEXT_HTML_VALUE}) public Map jdNotifyCreate(HttpServletRequest request) { log.info("fffff"); String method = request.getMethod(); String body = RequestUtil.getBody(request); // SignUtils.checkSign(request,body,s) return ResultBuilder.buildSuccessResult("chenggong"); } } ``` -------------------------------- ### 医生信息变更响应格式 Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E5%8C%BB%E7%94%9F%E8%8D%AF%E5%93%81%E7%A7%91%E5%AE%A4/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0-%E5%8C%BB%E7%94%9F 处理医生基础信息变更通知时,需返回的JSON响应结构。包含成功与失败两种标准格式。 ```json {"reponse":{"code":"0000","data":true,"uuid":"f602e02e-a8c6-4fed-94f5-d7052d16b033"}} ``` ```json {"reponse":{"code":"错误码","errMsg":"错误描述","uuid":"1ded1b62-c60f-4e4f-9620-a78a16b8f284"}} ``` -------------------------------- ### 通过 code 获取 access_token Source: https://open.healthjd.com/docs/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0-%E7%94%A8%E6%88%B7%E6%8E%88%E6%9D%83 使用授权码(code)、AppKey 和 AppSecret 调用此接口换取接口调用令牌(access_token)。 ```HTTP https://open-oauth.jd.com/oauth2/access_token?app_key=XXXXX&app_secret=XXXXX&grant_type=authorization_code&code=XXXXX ``` -------------------------------- ### POST /自定义业务接口 Source: https://open.healthjd.com/docs/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0-%E6%8E%A5%E6%94%B6%E8%B0%83%E7%94%A8 开发者需提供一个POST接口以接收京东侧的数据同步请求。该接口需要处理公共参数、进行签名验证,并返回符合规范的JSON响应。 ```APIDOC ## POST /自定义业务接口 ### Description 接收京东开放平台的数据同步请求,包含签名验证和业务逻辑处理。 ### Method POST ### Parameters #### Query Parameters - **app_key** (String) - Required - 宙斯申请应用的key - **method** (String) - Required - 京东侧调用方法名 - **v** (String) - Required - 版本号 - **sign** (String) - Required - 签名 - **timestamp** (String) - Required - 时间字符串 (YYYY-MM-DD HH:MM:SS) #### Request Body - **360buy_param_json** (String) - Required - 业务参数JSON字符串 ### Response #### Success Response (200) - **reponse.code** (String) - 响应码,0000表示成功 - **reponse.data** (Object) - 业务返回数据 - **reponse.uuid** (String) - 日志ID #### Response Example { "reponse": { "code": "0000", "data": true, "uuid": "f602e02e-a8c6-4fed-94f5-d7052d16b033" } } ``` -------------------------------- ### 权益卡查询失败响应报文 Source: https://open.healthjd.com/docs/api-document/insurance/user-rights-card/first 权益卡查询接口的失败响应示例。 ```json {"success":1,"msg": "操作失败"} ``` -------------------------------- ### 获取AccessToken接口调用 Source: https://open.healthjd.com/docs/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%96%87%E6%A1%A3/%E6%A0%87%E5%87%86%E8%81%94%E5%90%88%E7%99%BB%E9%99%86 使用授权码code通过GET请求换取AccessToken,需提供client_id和client_secret进行身份验证。 ```http method: Get https://合作方域名/oauth/token?grant_type=authorization_code&code={合作方的code}&client_id={client_id}&redirect_uri={redirect_uri}&client_secret={client_secret} 参数:code={授权码}client_id={client_id}client_secret={client_secret}grant_type=authorization_coderedirect_uri={redirect_uri} ``` -------------------------------- ### 调用入口与参数 Source: https://open.healthjd.com/docs/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0-%E8%B0%83%E7%94%A8API 提供了京东商家开放平台API服务的URL地址以及调用API时必须传入的系统参数。 ```APIDOC ### 调用入口 调用京东商家开放平台API服务的URL地址: | 调用环境 | 服务地址(https) | |---|---| | 正式环境 | https://api.jd.com/routerjson | | 测试环境 | https://api-dev.jd.com/routerjson | ### 调用参数 #### 系统参数 调用任何API都需传入的参数: | 参数名称 | 参数类型 | 是否必传 | 参数描述 | |---|---|---|---| | **method** | String | 是 | API接口名称 | | **access_token** | String | 否 | 授权token,接口需要用户授权时则必填 | | **app_key** | String | 是 | 应用的appKey | | **sign** | String | 是 | 参数签名,详见“5.签名算法” | | **timestamp** | String | 是 | 时间戳,格式为yyyy-MM-dd HH:mm:ss | | **format** | String | 否 | json,暂时只支持json | | **v** | String | 是 | 2.0,API协议版本 | | **360buy_param_json** | String | 是 | 接口级别参数,以json形式传递 | #### 接口级别参数 更多API接口级别参数参考接口文档。 ``` -------------------------------- ### API Navigation Source: https://open.healthjd.com/docs/api-document/insurance/fund-pay/info This section lists the available API endpoints for integration. ```APIDOC ## API Navigation ### Description This section provides a list of available API endpoints for both mobile and server-side integrations. ### Endpoints - **1-移动端-加密URL对接** - Description: Mobile endpoint for encrypted URL integration. - **2-服务端接口对接说明** - Description: Server-side API integration guidelines. ### 2.1-查询直付卡(账户)列表 - Method: GET (Assumed) - Endpoint: /api/v1/direct-payment-cards - Description: Retrieves a list of direct payment cards (accounts). ### 2.2-直付正向下单 - Method: POST (Assumed) - Endpoint: /api/v1/orders/direct-payment - Description: Places a direct payment order. ### 2.3-直付逆向退款 - Method: POST (Assumed) - Endpoint: /api/v1/orders/refund - Description: Processes a reverse refund for a direct payment order. ### 2.4-获取直付手机验证码 - Method: POST (Assumed) - Endpoint: /api/v1/verification-codes/direct-payment - Description: Obtains a mobile verification code for direct payment. ### 2.5-正向订单确认扣款 - Method: POST (Assumed) - Endpoint: /api/v1/orders/confirm-deduction - Description: Confirms deduction for a forward order. ### 2.6-物流信息同步 - Method: POST (Assumed) - Endpoint: /api/v1/shipments/sync - Description: Synchronizes logistics information. ### 2.7-订单信息同步 - Method: POST (Assumed) - Endpoint: /api/v1/orders/sync - Description: Synchronizes order information. ### 2.8-反查合作方订单信息 - Method: GET (Assumed) - Endpoint: /api/v1/partners/orders/{partnerOrderId} - Description: Retrieves partner order information by partner order ID. - Parameters: - **partnerOrderId** (string) - Required - The ID of the partner's order. ### 2.9-反查合作方算费金额 - Method: GET (Assumed) - Endpoint: /api/v1/partners/orders/{partnerOrderId}/fee - Description: Retrieves the calculated fee for a partner's order. - Parameters: - **partnerOrderId** (string) - Required - The ID of the partner's order. ### 2.10-查询京东用户直付卡信息 - Method: GET (Assumed) - Endpoint: /api/v1/users/jd/direct-payment-cards - Description: Retrieves JD user direct payment card information. ```