Amadeus API酒店报价异常:地理编码接口获取的酒店ID无返回结果
排查与解决办法
1. 测试环境数据范围限制
Amadeus测试环境(test.api.amadeus.com)仅开放官方指定的示例酒店数据,你从地理编码接口获取的真实酒店ID在测试环境中没有预设的报价数据,只有像MCLONGHM这类官方示例ID有测试用的预设数据。
- 解决办法:如果需要获取真实酒店报价,切换到生产环境接口(
https://api.amadeus.com);若仅需验证接口逻辑,只使用官方文档提供的示例酒店ID。
2. 酒店ID类型不匹配
/v1/reference-data/locations/hotels/by-geocode返回的部分酒店ID属于参考数据标识,并非/v3/shopping/hotel-offers接口要求的可预订酒店ID,两个接口对ID的定义存在差异。
- 解决办法:调用地理编码接口时添加
include=PAYMENT_OPTIONS参数,筛选出标记为可预订的酒店;或者单独测试每个酒店ID,排除无效ID对批量查询的影响。
3. 搜索条件无对应测试数据
你指定的入住日期(2023-04-22)、成人数量(1)可能不符合测试环境中对应酒店的预设库存条件,导致无报价返回。
- 解决办法:更换为未来7-30天内的日期测试;调整成人数量为2(部分测试数据预设为2成人);拆分批量ID为单个查询,确认是否是特定ID无数据。
4. 跨API版本兼容性问题
v1版本地理编码接口返回的酒店ID,可能和v3版本报价接口存在兼容性差异,导致无法匹配到有效数据。
- 解决办法:使用同版本的
/v3/shopping/hotel-offers/search-by-geocode接口,直接通过地理坐标获取带报价的酒店列表,避免跨版本ID不兼容问题。
内容的提问来源于stack exchange,提问作者Asaf David
相关产品推荐
相关产品推荐

