功能描述:PMS系统商与阿里旅行系统对接,实现酒店在线签约。
请求参数是PMS系统商与阿里旅行进行数据交互时,提供个阿里旅行的请求数据,以便阿里旅行根据这些数据进一步处理。
参数 | 参数名称 | 类型(长度) | 参数说明 | 是否必须 | 样例 |
---|---|---|---|---|---|
vendorId | 系统商简称 | 256 | 唯一标明一家系统商,系统商定义好后,提供给阿里旅行做配置 | 是 | zhuzher |
hotelCode | 酒店CODE | 256 | 是 | 20989 | |
hotelName | 酒店名称 | 256 | 是 | 丽晶大酒店 | |
name | 酒店签约用户姓名 | 256 | 是 | 张三 | |
酒店签约用户邮箱 | 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
md5("alitrip" + vendorId + hotelCode)
比如 vendorId= ceshi, hotelCode=20989,则签名串:alitripceshi20989
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; } }