订单支付
API对接流程
接口调用介绍
1、调用入口
环境地址,即调用接口(API)时,都通过访问该地址,来获取该接口需要获取的数据正式环境:http://api.wyn88.com/router/rest
测试环境:http://apitest.wyn88.com:8080/router/rest
2、调用参数
调用API ,必须传入系统参数和应用参数。系统参数详细介绍如下;应用参数由于不同 API 各自不同,这里以 vienna.member.login 为例说明,更多请参考API文档。1).系统级参数
名称 | 类型 | 是否必须 | 描述 |
method | string | Y | API接口名称 |
timestamp | string | Y | 时间戳,格式为yyyy-mm-dd HH:mm:ss,例如:2013-05-06 13:52:03。维也纳API服务端允许客户端请求时间误差为10分钟。 |
format | string | N | 可选,指定响应格式。目前只支持格式为json |
sid | string | Y | 分配给应用的sid ,向维也纳申请获得 |
v | string | Y | API协议版本,可选值:2.0。 |
sign | string | Y | 对 API 输入参数进行 md5 加密获得,详细参考如下 3、签名sign |
sign_method | string | N | 参数的加密方法选择,可选值是:md5 |
session | string | Y | API分配给渠道用户的SessionKey,通过渠道授权获取。参考vienna.channel.auth。 |
2).应用级参数
名称 | 类型 | 是否必须 | 描述 |
mobile
| string | Y | 手机。
|
passoword
| string | Y | 密码。
|
3).签名sign
调用API 时需要对请求参数进行签名验证,TOP服务器也会对该请求参数进行验证是否合法的。方法如下: 根据参数名称(除签名和图片,还有value等于空的)将所有请求参数按照字母先后顺序排序:key + value .... key + value,
例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1,参数名和参数值链接后,得到拼装字符串bar2baz3foo1
系统支持MD5加密方式:
md5:将api_secret 拼接到参数字符串头、尾进行md5 32位加密后,再转化成大写,
格式:byte2hex(md5(api_secretkey1value1key2value2...api_secret))
3.调用示例
调用API:vienna.member.login ,使用系统默认MD5加密,因为各语言语法不一致,以下实例只体现逻辑。为便于说明
1)输入参数为:
method=vienna.member.login
timestamp=2014-10-24 10:05:05
format=json
sid=514909aa
v=1.0
mobile=13510308852
password=123456
sign_method=md5
session=45595bb3d65246399134d37803e2333f
2)按照参数名称升序排列:
format=json
method=vienna.member.login
mobile=13510308852
password=123456
sid=514909aa
session=45595bb3d65246399134d37803e2333f
sign_method=md5
timestamp=2014-10-24 10:05:05
v=1.0
3)连接字符串
连接参数名与参数值,并在首尾加上api_secret,假设api_secret=12345678。如下:
12345678formatjsonmethodvienna.member.loginmobile13510308852password123456s
ession45595bb3d65246399134d37803e2333fsid514909aasign_methodmd5timestamp 2014-10-24 10:05:05v1.012345678
4)生成签名:
32位大写MD5值->D98653BE0EA7C59AB3DB3FA5A9F99871
5)拼装HTTP请求
将所有参数值转换为UTF-8编码,然后拼装,通过浏览器访问该地址,即成功调用一次接口,如下:
http://apitest.wyn88.com:8080/router/rest?sid=514909aa&method=vienna.member.login&v=1.0&session=45595bb3d65246399134d37803e2333f×tamp=2014-10- 24%2010:05:05&format=json&sign_method=md5&mobile=13510308852&password=123456&sign=D98653BE0EA7C59AB3DB3FA5A9F99871
4.注意事项
1)所有的请求和响应数据编码皆为utf-8格式,url里的所有参数值请做urlencode编码。如果请求的Content-Type是 application/x-www-form-
urlencoded, http body里的所有参数值也做urlencode编码;如果是multipart/form-data格式,每个表单字段的参数值无需编码,但每个表单
字段的charset部分需要指定为utf-8
2)商品等公开信息查询类API建议用get请求,交易等隐私信息查询和修改类API建议用post请求