【磐河旅行】之酒店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图 ...
随机推荐
- CountDownLatch闭锁源码解析(基于jdk11)
目录 CountDownLatch闭锁源码解析(基于jdk11) 1.1 CountDownLatch概述 1.2 CountDownLatch原理 1.2.1 基本结构(jdk11) 1.2.2 a ...
- AcWing340通信道路/ USACO2008 Telephone Line S
AcWing题目 洛谷题目 解题思路 首先可以得到一个很容易得到的贪心策略,将一条路径上最贵的(边权最大)的\(K\)条边删去,那么我们剩下的路径中最贵(边权最大)的路就是原本这条路径上帝\(K + ...
- APP上架因收集个人信息问题被拒绝该怎么解决?
近年来,随着信息技术的快速发展和移动互联网应用的普及,越来越多的应用大量收集.使用个人信息,给人们生活带来便利的同时,也出现了对个人信息的非法收集.滥用.泄漏等问题,个人信息安全面临严重威胁. 201 ...
- 在linux中安装mysql5.7
安装前准备: 确保你的CentOS6.10使用的镜像url是可被访问的!!(可参考文章:https://blog.csdn.net/qq_39946015/article/details/111086 ...
- 移动端安卓开发学习记录--Android Studio打断点调试操作步骤记录
今天我发现一个很迷的事情,我是安卓初学者,发现打印对象的话,打印不出来,但是打印对象的属性值,却可以打印出来,迷啊!!!我好迷茫 咨询大佬后,得知,JAVA打印对象的话,打印出来的不是它自己的内容,而 ...
- Dubbo 入门系列之快速部署一个微服务应用
本文将基于 Dubbo Samples 示例演示如何快速搭建并部署一个微服务应用. 背景 Dubbo 作为一款微服务框架,最重要的是向用户提供跨进程的 RPC 远程调用能力.如上图所示,Dubbo 的 ...
- GPIO-CH32x系列芯片GPIO使用注意事项
一.特殊IO使用注意事项 芯片型号:CH32F203C8T6.CH32V203C8T6 特殊IO:PC13.PC14.PC15 注意事项说明: 1.PC13~PC15的IO功能受限,速度必须限制在2M ...
- 用GPU来运行Python代码
简介 前几天捣鼓了一下Ubuntu,正是想用一下我旧电脑上的N卡,可以用GPU来跑代码,体验一下多核的快乐. 还好我这破电脑也是支持Cuda的: $ sudo lshw -C display *-di ...
- 【转】查看iOS崩溃日志
我们在进行iPhone应用测试时必然会在"隐私"中找到不少应用的崩溃日志,但是不会阅读对于很多人来说简直头疼.在此小编为大家详细介绍一下具体的阅读方法,希望大家可以更快的定位BUG ...
- 【Oculus Interaction SDK】(六)实体按钮 && 按压交互
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...