九医云商城对外文档

九医云商城对外文档


1-3 九医云商城对外通用接口

九医云商城Sass对外通用接口

版本号 变更日期   变更描述                                                     变更人
V1.0   2023/09/18 创建                                                         李呈云

[TOC]

一、概述

> 本文档主要是九医云平台通用接口规范。包括:通用接口中参数及返回值说明等内容。

二、接口规范

2.1安全验证

> - 本套接口遵循Bearer Token (RFC 6750) 用于OAuth 2.0授权访问资源 > - 业务接口中以sign系统级参数进行请求校验,除Token请求接口外均需携带签名进行交互 > - 业务接口中以timestamp(时间戳10位)系统级参数有效时间为100秒 > - 业务接口中以nonce系统级参数校验重放攻击,唯一随机数,可以是uuid,每次请求都随机生成

2.2协议格式

2.2.1  通信协议

> - 请求参数与返回参数都以JSON 格式作为数据格式 > - 字符集默认使用 UTF-8,请勿使用其它字符集 > - 所有业务接口默认为post

2.2.2  数据约束

> - 与日期,时间有关的信息以yyyy-MM-dd HH:mm:ss格式传输 > - 与金额有关的信息以元为单位,保留两位小数(可按具体需求) > - 业务接口非必填参数可不传,若传,则参数值不能为空

2.3  系统级参数约束

2.3.1  请求说明

> - 请求参数采用 JSON 格式 > - 包含sign,appKey,timestamp,nonce,input字段

参数名称   参数类型 必填 说明                                    
appKey     string   Y     商户Key(九医云提供)                        
timestamp long     Y     取当前时间戳(10位)                      
nonce     string   Y     唯一随机数,可以是uuid,每次请求都随机生成
sign       string   N     签名值                                  
input     object   N     业务模型                                

2.3.2  返回说明

> - 返回结果采用 JSON 格式 > - 包含code、msg、output字段

参数名称 参数类型 必填 说明                    
code     Integer   Y     200 标识成功,非200 失败
msg       string   Y     返回信息                
nonce     string   Y     请求时携带的随机数      
output   object   N     返回数据,json 格式      

2.4  签名方法

客户端和服务端之间约定一个相同的秘钥secret(九医云提供),作为加密字符串的一部分

生成规则由字符串secret + timestamp + nonce拼接后进行MD5加密得出小写字符串后进行SHA1加密后得出小写字符串作为数据签名

demo:

secret=Hwdiicysdgrffc012342de_dsr$221
timestamp=1637725871
nonce=BE6DD046-CAFB-B26F-7C9006BE48EA48D4
tempStr = Hwdiicysdgrffc012342de_dsr$2211637725871BE6DD046-CAFB-B26F-7C9006BE48EA48D4
md5Str = MD5(tempStr);  得出 1d121b5435f3281112c5a0c8ff66b77c
sign = SHA1(md5Str);        得出 39d8b31606bc3cf349540c9f52d586ea60aeb924

三、校验获取Token接口详细说明

> - 测试接口地址:https://test.91medicine.net/gateway/auth-server/ > - 生产接口地址:https://cloud.91medicine.cn/gateway/auth-server/

3.1 OAuth Bearer Token获取接口

> - Url路径:oauth/token

3.1.1 接口请求模型

参数名称   参数类型 必填 说明                
grant_type string   Y     传入固定值:password  
username   string   Y     用户名(九医云技术提供)
password   string   Y     密码(九医云技术提供)  

3.1.2 接口返回模型

参数名称     参数类型 必填 说明                      
access_token string   Y     返回的token                
expires_in   int       Y     剩余有效期(秒) 一般是86399
token_type   string   Y     请求业务接口头部类型bearer

Demo:

Method:GET
Request:
grant_type=pwd&username=jiuwei&password=yf2023&platform=shop&Auto-Key=e33cc4e2-91a2-43d0-abeb-cbfcc42eb1e4&client_id=dt&client_secret=dt&scope=all&need=false&headStoreUuid=

Response:
{
    "code": 0,
    "msg": "",
    "data": {
        "access_token": "baa2dc2b-2bf7-4202-bb13-f7ef3f16fcc9",
        "token_type": "bearer",
        "refresh_token": "dbf99cbe-3699-42ab-b423-32ac28e07e23",
        "expires_in": 601631,
        "scope": "all"
    }
}

页面列表

ITEM_HTML