在线演示

机票 API 集成

面向旅行社和 OTA 的机票 API:搜索、预订、出票

机票 API 让您的网站展示航空公司的实时运价,并生成真实的预订。本页介绍 API 调用的工作方式、机票内容的来源、上线前需要签署的协议,以及 PHPTRAVELS 如何把一个或多个机票 API 变成您自有域名上的完整预订引擎。

  • GDS、NDC 与批发商
  • 从搜索到出票再到退票
  • 现成连接器
  • 您自己的 REST API

基本概念

机票 API 究竟做什么

机票 API 是航空公司、GDS 或批发商向旅游分销商开放的一组 Web 服务。您的系统发送请求(航线、日期和乘客),并收到带价格的报价。旅客选定后,后续调用会确认价格、创建预订并出票。

这些调用贯穿行程的整个生命周期。各供应商的命名不同,但每个机票 API 都涵盖同样的五个步骤,而 IATA 的 NDC 标准为它们定义了如今大多数供应商采用的消息名称。

API 只负责传输数据。搜索表单、结果页、支付、发票以及售后服务都属于预订平台的工作,这正是机票预订软件发挥作用的地方。

  1. 01

    搜索AirShopping

    发送出发地、目的地、日期、舱位和乘客,收到包含票价、税费、行李额和品牌运价的报价。

  2. 02

    验价OfferPrice

    向供应商再次确认所选报价。运价随时变化,这一调用确认旅客实际支付的金额。

  3. 03

    预订OrderCreate

    发送乘客姓名、联系方式和证件信息。供应商创建预订(PNR 或 NDC 订单)并锁定座位。

  4. 04

    出票OrderChange · payment

    付款后,预订以电子客票形式出票,每位乘客的每张航段乘机联都有对应的票号。

  5. 05

    售后OrderRetrieve · OrderCancel

    按照运价规则重新查询预订、改期、加购行李或座位、取消、作废或退票。

运价从哪里来

三类机票 API,三种销售方式

您能签约的每个机票 API 都属于以下三类之一。它们在内容、签约资格和出票方上各不相同,因此大多数旅行社最终会接入不止一种。

一个预订平台同时连接 GDS 网络、航空公司直连和批发商
GDS APINDC API批发商 API
是什么Amadeus、Sabre 或 Travelport:一次连接即可获取数百家航空公司的公布运价。航空公司通过 IATA NDC 标准提供的自有报价,可直连或经由聚合商接入。以自有净价转售 GDS、NDC 和低成本航空内容的批发商。
内容传统航空公司及其品牌运价;低成本航空的覆盖因 GDS 而异。航空公司最丰富的报价:打包产品、附加服务和动态定价。通常组合最广,包括低成本航空和私有运价。
签约资格通常为持有 GDS 合同的认证旅行社(IATA、ARC 或当地同等资质)。经航空公司或聚合商批准的旅行社;部分聚合商接受新企业。大多数旅行社和 OTA,包括没有自有认证资质的企业。
出票旅行社凭自身资质出票。由航空公司出票;订单通过聚合商或 IATA BSP 结算。批发商凭其资质代您出票。
结算通过 BSP 或 ARC 结算;佣金和奖励取决于您的合同。航空公司价格和费用;部分航空公司对非 NDC 预订加收附加费。从预存款或授信额度中支付批发商净价,并加上您的加价。
PHPTRAVELS 已接入Amadeus、Sabre、TravelportDuffelTBO、PKfare、Kiwi、AERTiCKET 等

不确定哪种适合?先接入批发商,第一天就能开卖;获得资质后再加 GDS;对于把最优报价放在 NDC 上的航空公司,再接入 NDC。旅行社 GDS 系统和NDC机票预订系统指南有更深入的介绍。

调用内部

每一步机票 API 传输哪些数据

以下是平台发送和接收数据的简化示意。真实供应商使用各自的字段名和长得多的消息;PHPTRAVELS 会把它们统一映射到同一个预订模型。

请求
 1POST /flights/search 2{ 3  "from": "DXB", "to": "LHR", 4  "date": "2026-11-14", 5  "cabin": "economy", 6  "passengers": { "adults": 2 } 7}
响应
 1{ 2  "offers": [{ 3    "id": "OF-7Q2K", 4    "carrier": "EK", "flight": "EK001", 5    "depart": "07:45", "arrive": "11:35", 6    "fare_family": "Standard", 7    "bags": "1 x 23 kg", 8    "total": { "amount": 1284.60, "currency": "USD" }, 9    "expires": "2026-10-09T12:20:00Z"10  }, …]11}

报价会过期。大多数供应商为每个报价设定时限,超时后必须重新搜索或验价。

请求
 1POST /flights/price 2{ "offer_id": "OF-7Q2K" }
响应
 1{ 2  "offer_id": "OF-7Q2K", 3  "available": true, 4  "total": { "amount": 1284.60, "currency": "USD" }, 5  "fare_rules": { 6    "change": "fee + fare difference", 7    "refund": "not refundable" 8  } 9}

如果运价有变,平台会在付款前显示新价格,而不是按旧价格预订。

请求
 1POST /flights/book 2{ 3  "offer_id": "OF-7Q2K", 4  "passengers": [{ 5    "type": "adult", 6    "given_name": "SARA", "surname": "KHAN", 7    "born": "1990-04-02", "passport": "…" 8  }, …], 9  "contact": { "email": "…", "phone": "…" }10}
响应
 1{ 2  "booking_ref": "6XK2PL", 3  "status": "held", 4  "ticket_time_limit": "2026-10-10T18:00:00Z" 5}

姓名必须与护照一致。许多航空公司对改名收费,或完全不允许改名。

请求
 1POST /flights/ticket 2{ "booking_ref": "6XK2PL", "payment": "…" }
响应
 1{ 2  "booking_ref": "6XK2PL", 3  "status": "ticketed", 4  "tickets": [ 5    { "passenger": 1, "number": "176-2400000001" }, 6    { "passenger": 2, "number": "176-2400000002" } 7  ] 8}

未出票的留位预订在出票时限到期后会被自动取消。

示意数据,已简化

PHPTRAVELS 已就绪

用您自己的密钥即可启用的机票 API 连接器

以下机票供应商已接入 PHPTRAVELS 机票模块。您与供应商签约,在后台填入凭证,在其沙盒中测试,即可上线。列表实时同步自我们的集成目录。

您的供应商不在列表中?任何有文档的机票 API 都可以接入,源代码归您所有。请查看定制API集成或完整的旅游 XML API 供应商名录。

首笔预订之前

除了 API,您还需要什么

技术对接是最快的部分。以下是供应商在把您的账户切换到生产环境之前会要求的事项。

  • 供应商合同

    每个机票 API 都需要与 GDS、航空公司、聚合商或批发商签订协议。凭证随合同发放,而不是由软件厂商提供。

  • 认证资质或出票合作方

    自行出票需要 IATA、ARC 或当地同等资质。没有资质时,可由批发商代为出票。

  • 认证测试

    大多数供应商会先在沙盒中测试您的预订流程(搜索、预订、出票、取消),再开放生产权限。

  • 向供应商付款的方式

    BSP 或 ARC 结算、在批发商处的预存款,或由航空公司直接扣款的银行卡支付。

  • 运价规则与政策

    依据供应商的运价规则,在网站上清楚说明改签、退票和行李条款,让旅客明白自己买的是什么。

  • 负责售后的人员

    航班变动、姓名更正、作废和退票在售出后仍会不断出现。提前安排好由谁处理。

API 与预订引擎

API 带来运价,平台把运价变成销售

把机票 API 直接接到网站上,大部分工作仍未完成。以下是供应商 API 提供的内容与 PHPTRAVELS 补充的内容之间的分工。

机票 API 提供

  • 指定航线和日期的报价与票价
  • 验价与运价规则
  • 预订编号(PNR 或订单)
  • 出票后的票号
  • 改签与取消调用

PHPTRAVELS 补充

  • 多语言的搜索表单、结果页、筛选和结账
  • 同时搜索多个供应商,合并重复航班
  • 加价、佣金和 B2B 代理钱包
  • 通过您自己的支付网关进行银行卡支付
  • 以旅客语言发送的电子客票、发票和邮件
  • 后台的预订队列、作废、退票和改签重开

每个部分如何运作,逐项功能的详细说明,请见机票页面。

开发者专区

覆盖所有供应商的自有机票 API

PHPTRAVELS 将每个已接入的机票供应商统一规范为同一个预订模型。您的移动应用、合作伙伴和后台工具只需对接一个 REST API,而不必逐一对接各供应商。

REST API 及其文档包含在 Enterprise 套餐中。请在价格比较套餐,或阅读开发者文档。

  • 所有供应商统一格式来自 GDS、NDC 和批发商的报价以相同结构输出,您的应用无需处理各供应商的格式。
  • Webhook预订、出票和取消事件发生时即实时推送到您的系统。
  • 附带源代码自托管并提供完整源代码,您的开发人员可以扩展 API 或接入新的供应商。

在真实的预订引擎中体验机票 API

在在线演示中搜索、预订和管理机票,然后与我们聊聊您计划签约的供应商。

常见问题

机票 API:旅行社常问的问题

联系销售

机票 API 是一组 Web 服务,让旅游网站实时搜索航空运价、确认价格、创建预订并出票。GDS、航空公司(通过 NDC)和批发商都各自提供。

部分服务商提供免费的沙盒用于测试,一些比价 API 只返回价格而不支持预订。但要销售机票,始终需要与 GDS、航空公司、聚合商或批发商签订商业协议。

不一定。通过 GDS 自行出票需要认证。没有认证时,可以通过批发商 API 销售,由批发商凭其资质出票。

通常是批发商,因为它接受没有资质的旅行社,并且包含低成本航空。随着业务量增长,再接入 GDS 或 NDC。

GDS API 通过一次连接提供众多航空公司的公布运价。NDC API 以 IATA NDC 格式提供航空公司自有的报价,包括打包产品和附加服务,可直连或经由聚合商接入。

可以。PHPTRAVELS 会同时搜索所有已接入的机票供应商,合并重复航班并保留最优运价,旅客看到的只有一个列表。

不提供。您需与每个供应商签约,并在后台填入自己的凭证。PHPTRAVELS 提供预订平台和现成的连接器。

使用现成连接器时,技术配置只需填入凭证并测试。大部分时间花在供应商的合同和认证测试上,进度由供应商掌控。

可以。在 Enterprise 套餐中,PHPTRAVELS REST API 以统一格式开放所有已接入供应商的搜索和预订,并提供预订事件的 Webhook。