文档中心 > 酒店客栈-线上预订

在线签约

更新时间:2016/06/28 访问次数:11112

文档说明

      功能描述:PMS系统商与阿里旅行系统对接,实现酒店在线签约。

数据交互

     构造请求数据:PMS系统商在系统中暴露酒店签约的入口,根据阿里旅行提供的接口规则,生成数据集合。

     发送请求数据:把构造完成的数据集合,通过页面链接跳转或表单提交的方式传递给阿里旅行。

     请求地址:http://hotel.alitrip.com/hoc/vendor/entry.htm

     处理请求:阿里旅行处理请求,酒店签约用户根据阿里旅行签约页面指引完成签约。

请求参数说明

含义

请求参数是PMS系统商与阿里旅行进行数据交互时,提供个阿里旅行的请求数据,以便阿里旅行根据这些数据进一步处理。

列表

参数 参数名称 类型(长度) 参数说明 是否必须 样例
vendorId 系统商简称 256 唯一标明一家系统商,系统商定义好后,提供给阿里旅行做配置 zhuzher
hotelCode 酒店CODE 256   20989
hotelName 酒店名称 256   丽晶大酒店
name 酒店签约用户姓名 256   张三
email 酒店签约用户邮箱 256   test@test.com
phone 酒店签约用户电话 256   135888888
userId 系统商内部用户ID 256 系统商可以为识别其内部登录用户的ID作为一个备注  
authKey 是用来防止篡改URL的参数   Md5加密串,计算方式见下面  
toDlink 指定是否需要非直连转直连 boolean 除非有转直连需求,否则不要设置这个值 true
inn 淘客栈签约识别符 int 淘客栈签约则设为1,否则不要设置这个值 1

样例

<form method="get" name="form1" action="http://hotel.alitrip.com/hoc/vendor/entry.htm">
<input type="hidden" name="vendorId" value="xxx">
<input type="hidden" name="hotelCode" value="yyy">
<input type="hidden" name="hotelName" value="一个酒店">
<input type="hidden" name="name" value="张三">
<input type="hidden" name="email" value="zhangsan@example.com">
<input type="hidden" name="phone" value="13012345678">
<input type="hidden" name="userId" value="abc">
<input type="hidden" name="authKey" value="zzzzzzzzzzzzzzz">
<input type="hidden" name="_input_charset" value="utf-8">
</form>

如果你的页面是gbk的,则样例里面的_input_charset值改成gbk

签名

authKey的计算公式

md5("alitrip" + vendorId + hotelCode)

比如 vendorId= ceshi, hotelCode=20989,则签名串:alitripceshi20989

Java md5函数范例

public static String md5(String txt) {
    try {
        MessageDigest md = MessageDigest.getInstance("MD5");
        md.update(txt.getBytes("utf-8"));
        StringBuffer buf = new StringBuffer();
        for (byte b : md.digest()) {
            buf.append(String.format("%02x", b & 0xff));
        }
        return buf.toString();
    } catch (Exception e) {
        return null;
    }
}

FAQ

暂不支持当前系统商

返回
顶部