开放平台统一采用HTTP Form Post方式传输数据(https加密通道)
所有接口均为同步请求-响应模式,即合作伙伴发起请求,平台返回响应。
所有的请求和响应数据编码均为utf-8格式
content-type设置为text/xml;charset=utf-8或者application/json;charset=utf-8
请求
请求参数以HTTPPOST参数形式体现,包括如下字段:
参数名称 |
说明 |
access_token |
临时Token |
format |
数据格式,XML或JSON |
version |
接口版本,当前为1.0 |
req_time |
时间戳,格式为yyyy-MM-dd_HH:mm:ss, 例如:2014-04-25_20:23:30。API服务端允许客户端请求时间误差为10分钟 |
biz_method |
业务方法,与接口名称相同。例如:STORE_INFO |
biz_param |
业务方法的参数,以format指定的格式封装具体的业务参数(公共规则见下示例。具体字段参考各接口规范) |
sign |
sign(参数签名):将参数access_token, format、version、req_time、biz_method、biz_param(Base64编码)和secret的值,按顺序以竖线(|)分隔相加,组成一个字符串。再使用MD5进行签名(32位小写字符) |
完整HTTP请求报文示例如下(以XML为例):
access_token=1234567890
format=XML
version=1.0
req_time=2014-04-25_20:23:30
biz_method=STORE_INFO
biz_param=
<request>// 请求根元素
<STORE_INFO_PARAM >
...
</STORE_INFO_PARAM >
</request>
sign=kfdafdsaerwoirpueqwireuqwp
响应数据的字段如下:
参数名称 |
说明 |
status |
0,处理成功 其它值,处理错误 |
message |
错误消息 |
uuid |
标识本次数据交互的唯一ID,接入方应当记录下来作为系统问题校对依据 |
data |
业务方法的返回数据,以format指定的格式封装具体的数据(参考具体的接口规范) |
完整响应报文示例如下(以XML为例):
<response> // 响应根元素
<status>1012</status>
<message>Api版本错误</message>
<uuid>218970f517854cc48889503d4d7775b0</uuid>
<data>
<STORE_INFO_RESULT
>…
</STORE_INFO_RESULT
>
</data>
</response>
过程说明
1. 接入方系统发起身份认证请求
2. 平台校验身份认证通过后,返回临时accessToken
3. 接入方系统使用临时accessToken进行后续业务接口调用(可根据accessToken失效期,或通过判断超时错误信息,发起下一次身份认证请求)
AppKey和AppSecret
AppKey作为应用标识,代表应用身份
AppSecret作为被签名值的组成部分,本身不在网络上传输。
获取步骤:
1. 向俄信通提出申请,成功后则获取AppKey,以及AppSecret。
请求
请求参数以HTTP POST参数形式体现,但字段有别于一般的接口请求,如下:
参数名称 |
说明 |
app_key |
应用标识 |
format |
数据格式,XML或JSON |
version |
接口版本,当前为1.0 |
req_time |
时间戳,格式为yyyy-MM-dd_HH:mm:ss, 例如:2014-04-25_20:23:30。API服务端允许客户端请求时间误差为10分钟 |
sign |
将参数app_key, format、version、req_time和 secret的值,按顺序以竖线(|)分隔相加,组成一个字符串。再使用MD5进行签名 |
完整HTTP请求报文示例如下(以XML为例):
app_key=1234567890
format=XML
version=1.0
req_time=2014-04-25_20:23:30
sign=kfdafdsaerwoirpueqwireuqwp
响应
参数名称 |
说明 |
status |
0成功;其它值,处理错误 |
access_token |
临时Token |
expire_time |
Token有效期截至时间戳,格式为yyyy-MM-dd_HH:mm:ss, 例如:2014-04-25_20:23:30 目前默认为请求时间+120分钟 |
报文示例:
<accessToken>
<status>0</status>
<access_token>oiqweuriwqer92384</access_token>
<expire_time>2014-04-25_20:23:30</create_time>
</accessToken>