功能描述: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;
}
}