文档中心
一、接口调用原理

调用苏宁的API接口时,即是与苏宁服务器的数据进行一次交互的过程,API调用接口时,API调用端(即用户调用接口运行的程序),调用API服务端的数据(即苏宁提供的服务器,可调用苏宁上的数据)时的交互流程。

二、使用API

现使用在沙箱环境下默认提供的appkey与appsecrect来调用一个接口来获取信息的接口; 本节教你简单学会调用API,其中appkey与appsecrect释义:appkey:苏宁开放平台颁发的唯一标识一个应用的ID号,该appkey可在开发者中心创建应用后获取,本测试使用沙箱提供的默认测试账号(应用密钥,不可对外公开,商家需注意保密,调用API的时候需要使用,可以通过该密钥验证商家的合法性)。

三、数据获取方法

苏宁开放平台调用接口都是通过调用API来实现的,可兼容多种编程语言。只要能够按照苏宁开放服务平台的规范POST调用参数就可以取得相应接口返回的业务数据。

四、调用入口

测试地址:

访问链接:

非SDK调用方式    https://openpre.cnsuning.com/api/http/sopRequest/接口名

SDK调用方式   https://openpre.cnsuning.com/api/http/sopRequest


正式地址:

访问链接:

非SDK调用方式   https://open.suning.com/api/http/sopRequest/接口名

SDK调用方式    https://open.suning.com/api/http/sopRequest


五、调用参数

调用接口(API)时,必须传入的系统级参数以及应用级参数,参见API文档 中每个API接口详细页面的公共参数

六、系统级参数介绍

1、系统级参数需要设置在HTTP请求header参数的设值。


2、列表中为场景系统级参数相关的异常码


错误码

错误描述

解决方案

sys.check.user-permission:overdue

访问令牌已过期

请使用刷新令牌刷新

sys.check.api-permission:inexistence

Api方法不存在

请参考帮助中心

sys.check.api-permission:overdue

Api方法已过期

请参考帮助中心

sys.check.api-permission:authority

无权操作此api

确认是否有访问该方法权限

sys.auth.vendor-request:errory

无权操作此供应商

请确认供应商编码是否正确

sys.controller.api-request:limit

Api请求受控

超过请求次数

sys.check.app-time:error

请求参数错误api请求时间误差大

参考帮助中心

sys.check.request-params:error

请求报文结构错误

参考帮助中心、日期格式等

sys.check.starttime-format:error

请求开始时间错误

参考帮助中心、日期格式等

biz.handler.data-get:success

业务数据查询成功

biz.handler.data-get:fail

业务数据查询失败

检查请求条件

biz.handler.data-get:no-result

业务数据结果为空

sys.check.pageno-format:error

pageNo格式错误,只允许199999之间的整数

检查pageNo输入是否有误

sys.check.pagesize-format:error

pageSize格式错误,只允许150之间的整数(订单相关是1100)

检查pageSize输入是否有误

sys.check.page-param:error

pageNo或者pageSize不在要求范围内,pageNo只允许199999之间的整数,pageSize只允许150之间的整数(订单相关是1100)

检查pageNopageSize输入是否有误

sys.check.miss-time:starttime

不存在开始时间(节点)

检查输入

sys.check.miss-time:endtime

不存在结束时间(节点)

检查输入

sys.check.starttime-value:null

开始时间为空()

检查输入

sys.check.endtime-value:null

结束时间为空()

检查输入

sys.check.starttime-format:error

校验开始时间不合法,格式yyyy-MM-dd HH:mm:ss

检查时间格式

sys.check.endtime-format:error

校验结束时间不合法,格式yyyy-MM-dd HH:mm:ss

检查时间格式

sys.check.query-time:error

开始时间是否小于结束时间

检查开始和结束时间大小

sys.check.query-time:outofrange

时间查询是否超出指定范围

检查时间范围

sys.check.app-sign:null

签名信息为空

检查签名信息

sys.check.app-sign:error

签名信息错误

检查签名信息

sys.check.missing-parameter:apiversion

API版本号未指定

检查API版本号

sys.check.missing-parameter:appRequestTime

请求时间丢失

检查请求时间

sys.check.missing-nestElement:sn_body

缺少sn_body节点

检查sn_body是否存在

sys.check.user-permission:inexistence

用户key不存在

检查用户key是否存在

biz.handler.batch-handler:no-support

非查询类API不支持批量操作

检查API类型

biz.handler.request-message:error

查询类API输入多个业务节点

检查业务节点

sys.check.header-param:null

header参数为空

请检查header参数

sys.controller.api-access:limit

访问限制

sys.controller.api-frequency:limit

访问频率限制

sys.error.network:failure

网络异常

sys.error.network-status:?

响应失败 ?为状态码

sys.check.oauth-permission:authority

访问令牌过期或未进行授权

请重新授权或使用刷新令牌刷新新的访问令牌


七、应用级参数介绍

应用级参数为具体API对应的xml报文或者json报文


输入方式:应用级参数以二进制流的形式直接写入http请求的body里

八、签名

版本号为v1.1签名方式: 


1.业务数据进行base64加密 


2.按照顺序依次拼接appMethod的值,appRequestTime的值,appkey的值,versionNo的值和第一步加密后的值 


3.将第二步的数据进行md5加密,得到签名信息




版本号为v1.2签名方式: 


1.业务数据进行base64加密 


2.按照顺序依次拼接appSecret的值(appKey对应的密钥),appMethod的值,appRequestTime的值,appkey的值,versionNo的值和第一步加密后的值 


3.将第二步的数据进行md5加密,得到签名信息

九、注意事项

1.所有的请求和响应数据编码皆为utf-8格式 


2.只允许用POST请求 3.content-type设置为text/xml;charset=utf-8或者 application/json;charset=utf-8