维也纳酒店集团API

订单支付

API对接流程

1.文档说明
2.申请api渠道帐号
3.开发调试
3.通过渠道授权获取session,参考vienna.channel.auth
3.sign签名方式,所有参数参考sign
4.上线

接口调用介绍

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请求