【磐河旅行】之酒店API接口对接实录
1、项目需求概述:
通过对接第三方磐河旅行的酒店API接口实现在我们的APP 、微信小程序、H5上可提供用户酒店查询、酒店预订、退订等功能。效果如下图:




2、酒店接口功能拆分
除了酒店静态数据字典(如酒店城市数据、酒店品牌数据等)接口主要分数据查询类和订单操作类共有7个接口方法。
酒店数据查询类接口有:酒店搜索接口、酒店详情接口、酒店房型及产品查询接口
酒店订单操作类接口有:下单接口、支付接口、订单取消接口、订单退订接口、订单详情接口。 (PS:磐河旅行开放平台的 订单取消接口和订单退订接口是同一个接口,统称订单取消接口,他们是根据当前订单状态判断 用户发起的是订单未支付时申请取消操作 还是 订单已确认时申请退订操作)。所以酒店API接口涉及的整体业务还是相对简单易懂的。
下图是磐河旅行的酒店在线文档 接口列表

这里需要补充的是除了以上查询类和订单类接口,磐河旅行还有一个订单状态变更推送接口,也就是说当订单状态发生变化时,他们会通过下单时我方传入的回调地址,把变更的订单号及状态回调推送通知给我们,此时我们拿到订单号后需要调用他们的酒店订单详情接口来同步我们的本地订单状态。
3、【磐河旅行】接口技术栈和闭坑方法总结
磐河旅行酒店API接口采用REST风格,对外暴露HTTP服务。如果没有特殊说明,磐河旅行分销开放平台API提供基于http协议,post方式,基于json格式的数据访问,数据编码为UTF-8。有两种调用方式:
1. 分销商主动发起,调用磐河旅行分销开放平台API的请求。
2. 磐河旅行分销开放平台发起,回调分销商系统的请求。(就是我刚上面说的订单状态变更推送接口)
闭坑方法之一:先用Postman调试,请求头部一律记得设置Content-Type:application/json
所以这里强烈推荐一个HTTP API接口免费调试工具:Postman。对接时强烈建议先通过Postman把接口调试通了,然后再coding到自己的代码中,这样可以排除因为自己写的http请求方法和请求方式等问题导致的接口调试失败。

(为了测试调用方便部分接口get/post都支持)但这里请求方式强烈建议一律用POST,(请求头部一律记得设置)Content-Type:application/json。磐河开放平台所有接口方法都支持这种请求方式,强烈建议,少走弯路。
闭坑方法之二:当没订单状态发生变更时没有收到回调时,请用postman自行模拟推送下。
首选确保下单时传入了正确的回调地址,其次确保我们预留的回调地址 外网是可以正常访问的,所以在遇到接受不到回调通知时,先排查下这两个问题,第二个问题用postman自己模拟推送下 看是否返回 HTTPStatus 200即可知晓。
闭坑方法之三:不是所有已确认状态的酒店订单都可以申请退订,至少需要满足两点条件,可以取消且在取消时限内。
订单详情接口中有返回取消政策类型和最晚免费取消时限。根据这两个字段判断

所以前端需要根据这两个字段 判断是否显示 退订 按钮。只有取消政策类型是 限时取消且当前时间小于 免费取消最晚时间内才可以申请退订。
4、上线前准备:
上线前可通过 磐河旅行分销后台 开启白名单,配置自己服务器IP。同时支付接口也有签名验证。所以需要保存和自己的appkey和秘钥

因为磐河旅行的支付方式是预充值,一单一结的,支付接口就是余额支付代扣接口。所以上线前需要确保酒店账户有足够余额,否则会导致下单支付失败。
通过磐河旅行分销后台可以配置,余额不足预警值,当余额低于我们设置的预警值时,磐河旅行会发送短信通知提醒我们。

订单确认成功通知短信,如果需要磐河旅行发送的话,需要联系他们免费开通,默认他们是不发送的,因为我们平台自己发送短信给客户的,所以就没有开启。
【磐河旅行】之酒店API接口对接实录的更多相关文章
- 快递鸟顺丰物流api接口对接多种方法整理
目前很多自营电商平台.ERP系统.仓储系统.快递柜企业,对物流模块数据需求还是比较旺盛的.之前有介绍过简单的接口对接方法,这次给大家整理介绍两种快递数据的获取方法. 接口秘钥可以向顺丰公司申请,或者一 ...
- 快递查询API接口对接方法
各类接口 快递查询API有即时查询和订阅查询两种,即时是请求即返回数据,订阅则是订阅快递单号到接口,有物流轨迹更新则全量返回数据.目前常用的有快递鸟.快递100.快递网等. 快递鸟即时API可以查询3 ...
- c#后台代码请求访问api接口
前言:最近公司项目与外部api接口对接较多 ,写下自己的代码总结.介绍两种访问方式(HttpClient.HttpWebRequest) 一.HttpWebRequest 访问Api private ...
- Web Api 与 Andriod 接口对接开发经验
最近一直急着在负责弄Asp.Net Web Api 与 Andriod 接口开发的对接工作! 刚听说要用Asp.Net Web Api去跟 Andriod 那端做接口对接工作,自己也是第一次接触Web ...
- Asp.Net Web Api 与 Andriod 接口对接开发经验,给小伙伴分享一下!
最近一直急着在负责弄Asp.Net Web Api 与 Andriod 接口开发的对接工作! 刚听说要用Asp.Net Web Api去跟 Andriod 那端做接口对接工作,自己也是第一次接触Web ...
- Asp.Net Web Api 与 Andriod 接口对接开发
Asp.Net Web Api 与 Andriod 接口对接开发经验,给小伙伴分享一下! 最近一直急着在负责弄Asp.Net Web Api 与 Andriod 接口开发的对接工作! 刚听说要用A ...
- php后台对接ios,安卓,API接口设计和实践完全攻略,涨薪必备技能
2016年12月29日13:45:27 关于接口设计要说的东西很多,可能写一个系列都可以,vsd图都得画很多张,但是由于个人时间和精力有限,所有有些东西后面再补充 说道接口设计第一反应就是r ...
- 【产品经理】产品经理不懂API接口是什么,怎么和程序员做朋友?
接口不是技术经理来写吗?没接过它,一脸不清楚地节奏 开放即共享,是互联网的一个重要属性和精神.它是一种服务模式,一个特殊的产品,目前较大规模的互联网企业都有自己的开放平台. 如果把自己局限为一个功能产 ...
- 对飞猪H5端API接口sign签名逆向实验
免责声明 本文章所提到的技术仅用于学习用途,禁止使用本文章的任何技术进行发起网络攻击.非法利用等网络犯罪行为,一切信息禁止用于任何非法用途.若读者利用文章所提到的技术实施违法犯罪行为,其责任一概由读者 ...
- 快递Api接口 & 微信公众号开发流程
之前的文章,已经分析过快递Api接口可能被使用的需求及场景:今天呢,简单给大家介绍一下微信公众号中怎么来使用快递Api接口,来完成我们的需求和业务场景. 开发语言:Nodejs,其中用到了Neo4j图 ...
随机推荐
- 为什么总是应该考虑给定 List 的初始大小
在 .Net 技术中,使用 List<> 来存储数据是很常见的.List<> 是一个可以动态增长的泛型集合类型,可以存储任何类型的数据. 但是,在实际使用中,很多人并不注意给定 ...
- ATM+购物车(思路流程)
ATM +购物车(思路流程) 启动文件 首先,创建一个start.py作为整个项目启动的启动文件 然后导入os和sys模块,从core中导入src,也就是展示给用户看的 在src.py用户视图层中,先 ...
- 模型驱动设计的构造块(上)——DDD
为了保证软件实践得简洁并且与模型保持一致,不管实际情况如何复杂,必须运用建模和设计的实践. 某些设计决策能够使模型和程序紧密结合在一起,互相促进对方的效用.这种结合要求我们注意每个元素的细节,对细节问 ...
- Jenkins&&gitlab2
Jenkins slave 添加jenkins slave节点: jenkins slave节点创建工作目录与基本环境配置,如果jenkins slave节点需要clone代码和执行java 代码编 ...
- js修改数组中的属性名
将数组 [{id:"1",name:"AAA"}] 修改为 ===> [{id:"1",text:"AAA",va ...
- 数位排序【第十三届蓝桥杯省赛C++C组】
数位排序 小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序. 当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面. 例如,\(2022\) 排在 \( ...
- 《Effective C++》实现 章节
Item26:尽可能延后变量定义式的出现时间 Item27:尽量少做转型动作 关于这一点,专门开了一个新的总结: http://blog.csdn.net/m0_37316917/article/de ...
- centos7.6在防火墙放开端口
假设要在centos7.6防火墙上开启443端口 前言:文章内容可能会因环境不同而有所差异,所谓集思广益说不定灵感就来了呢; 文章初衷旨在交流学习.记录个人成长,如果能帮助到您,那就点个赞噢. 1.查 ...
- IDEA 2022.1.3 创建一个 Maven 管理的 Web 项目
新建一个空项目,用于管理模块 创建完成,如下所示 删除 src 目录 删除后,如下所示 新建一个 Maven 模块 新建完成,如下所示 右键 pro07-javaweb-begin 模块,选择 Add ...
- 使用“宝塔一键迁移”工具,将typecho博客迁移到京东云cvm云主机
作者:京东科技 林中 服务器更换.网站搬家,对于很多开发者新手来说不是一件容易的事情,需要迁移网站程序.数据库,修改数据库连接文件等.在云迁移方案中,宝塔是非常简单好用的服务器运维面板,能够极大提升运 ...