为了方便合作方接入掌上生活以使用某些服务,开放平台站点为合作方提供了文档查看、SDK下载以及在线测试等功能。
合作方在接入掌上生活之前,需完成以下工作:
通过掌上生活开放平台,提交合作方接入申请,包括合作方信息和应用信息,申请合作方唯一编号(mid)以及应用号(aid)
与掌上生活交换SM2公钥,公钥长度为65字节,私钥长度为32字节,详情见第五小节:算法说明
掌上生活方根据mid,aid,接口开通访问权限
掌上生活采用两种方式为合作方提供服务:API和cmblife协议。
指合作方通过API来使用掌上生活提供的服务,合作方需要以以下方式进行请求: 请求接口地址如下所示,其中,funcName为接口名,不同场景,需要参考相应的文档。
测试环境
https://sandbox.cdcc.cmbchina.com/AccessGateway/transIn/{funcName}.json
生产环境
https://open.cmbchina.com/AccessGateway/transIn/{funcName}.json
请求方式
POST
contentType
x-www-form-urlencoded
请求报文
key1=URLEncode(value1)&key2=URLEncode(value2)...
指合作方根据规范拼接cmblife协议,来调用掌上生活客户端对外提供的服务。协议格式如下:
cmblife://{funcName}?key1=URLEncode(value1)&key2=URLEncode(value2)...
其中,funcName为协议名,不同场景,需要参考相应的文档。
参数分为公共参数和业务参数两类,放于同一级。公共参数的说明如下:
请求参数
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| mid | String | Y | 合作方唯一ID,32位定长 |
| aid | String | Y | 应用唯一ID,32位定长 |
| date | String | Y | 时间戳 yyyyMMddHHmmss |
| random | String | Y | 随机字符串,保证签名不可预测,不长于32位 |
| keyAlias | String | N | 合作方密钥对别名 |
| cmbKeyAlias | String | N | 掌上生活密钥对别名 |
| encryptBody | String | N | 加密报文,是否需要加密,请查看各API的说明文档 |
| sign | String | Y | 签名,具体详见签名规范 |
响应参数
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| respCode | String | Y | 返回码 |
| respMsg | String | Y | 返回话术 |
| date | String | Y | 时间戳 yyyyMMddHHmmss |
| keyAlias | String | N | 合作方密钥对别名 |
| cmbKeyAlias | String | N | 掌上生活密钥对别名 |
| encryptBody | String | N | 加密报文,是否需要加密,请查看各API的说明文档 |
| sign | String | Y | 签名,具体详见验签规范 |
公钥长度为65字节,私钥长度为32字节。非对称密钥是基于国密推荐的椭圆曲线生成的,国密推荐曲线sm2p256v1
SM4/CBC/PKCS5Padding,密钥长度为16字节,明文长度不做要求,IV长度为16字节。
无需生成密钥。