文档在线阅读:《美团酒店平台对接文档》
注:点击链接,请选择侧边栏的酒店,继续阅读!
城市id列表下载:《cityid》
请参考《名词定义解释》
参考《美团酒店平台接入参考手册》(简称:参考手册)、对接样例代码,参考手册和样例代码找平台运营人员获取。
对接方对平台每次Http请求都需要美团认证,认证逻辑如下:
Http请求要加上两个请求头(header):
Authorization: | 请求认证 |
Date: | 请求时间 |
Fri, 17 Jun 2016 09:42:55 GMT
Authorization的生成规则是:
Authorization = MWS " "+partnerId":"+ signature
partnerId和signature是变量,partnerId是分配的,signature是生成的。
signature由string_to_sign和clientSecret加密而成。
string_to_sign=request.getMethod().toUpperCase() + " "+ request.getURI().getPath() + "\n" +Date
生成签名算法是HmacSHA1。 例如:
MWS 101:iPqkkqYsizDOTaLo+lPX4bPgYF8=
这个例子中,partnerId是101,签名是iPqkkqYsizDOTaLo+lPX4bPgYF8=
partnerId和clientSecret由平台提供,具体实现可以参考样例代码。
注:具体实现可以参考样例代码。美团认证代码示例
返回结果采用高级加密标准AES进行加密后传输,对接方需要对返回结果进行解密。
秘钥生成:
//KEY_ALGORITHM为加密算法, keyValue为共享秘钥
Key key = new SecretKeySpec(keyValue, KEY_ALGORITHM);
Cipher c = Cipher.getInstance(KEY_ALGORITHM);
c.init(Cipher.ENCRYPT_MODE, key);
加密:
//encryptedValue加密后结果串
byte[] encVal = c.doFinal(data.getBytes());
String encryptedValue = new BASE64Encoder().encode(encVal);
解密:
//decryptedValue解密后结果串
byte[] decordedValue = new BASE64Decoder().decodeBuffer(encryptedData);
byte[] decValue = c.doFinal(decordedValue);
String decryptedValue = new String(decValue);
注:具体实现可以参考样例代码。加密解密代码示例
所有接口均有请求限速,当对接方请求超过限速时将提示“接口访问频率超出限制”,此时可联系平台运营人员进行限速调整。
生产环境地址:https://openplatform-hotel.meituan.com。
WEB站点:https://openplatform-hotel.meituan.com,可进行接口在线测试。