如何从PNR提取发票号?咨询Sabre API对应查询接口
从PNR提取发票号?Sabre API的正确用法看这里
嘿,刚好我对Sabre API的预订相关接口比较熟悉,针对你要从PNR里提取发票号的需求,给你推荐几个合适的接口,还有一些实用的小提示:
1. Retrieve Reservation(GetReservationRQ)
这是最常用的核心接口,能返回PNR的完整预订数据,发票号自然也包含在内。你只需要在请求里传入目标PNR编号,记得把View参数设为Full,同时开启IncludeDetails,这样才能拿到包含财务信息的完整响应。
- 简单的请求片段参考:
<GetReservationRQ Version="2.2.0"> <Locator>你的PNR代码</Locator> <View>Full</View> <IncludeDetails>true</IncludeDetails> </GetReservationRQ>
- 响应里的发票号一般会在
<InvoiceNumber>标签下,或者和<FOP>(支付方式)相关的节点里,具体要看你的预订开票和支付的配置情况。
2. BookingDetailsRQ(Retrieve Booking Details)
如果GetReservationRQ返回的信息太杂,你想更聚焦在财务相关内容上,这个接口就很合适。它专门用来获取预订的详细财务明细,包括发票号、支付记录这些,响应结构会更简洁,提取起来更高效。
3. InvoiceRetrieveRQ(Invoice Retrieval API)
要是你需要直接获取结构化的发票数据甚至发票文档,这个接口是针对性最强的。你可以通过PNR编号或者发票号本身来检索,返回的内容会包含发票号、金额、开票日期等所有关键发票信息。
- 小提醒:这个接口可能需要额外的权限才能访问,建议先和Sabre的支持团队确认下你的账户是否开通了这个权限。
额外的实用建议
- 一定要用对应接口的最新版本号,不同版本的字段结构可能会有变化,最好对照Sabre的内部API文档核对字段位置。
- 如果在目标PNR的响应里找不到发票号,有可能是这个PNR还没生成发票,或者发票信息存在关联的PNR里,这时候可以看看响应里有没有
<AssociatedPNR>这类节点,去关联的PNR里找找看。
内容的提问来源于stack exchange,提问作者A Kaufman
相关产品推荐
相关产品推荐

