航空券API連携
旅行会社・OTA向け航空券API:検索から予約、発券まで
航空券APIを使えば、自社サイトで航空会社のリアルタイム運賃を表示し、実際の予約を作成できます。このページでは、APIの呼び出しの仕組み、航空券コンテンツの調達先、本番稼働前に必要な契約、そしてPHPTRAVELSが1つまたは複数の航空券APIを自社ドメイン上の本格的な予約エンジンに変える方法を解説します。
- GDS、NDC、コンソリデーター
- 検索から発券、払い戻しまで
- 導入済みコネクター
- 独自のREST API
概要
航空券APIが実際に行うこと
航空券APIとは、航空会社、GDS、コンソリデーターが旅行販売事業者に公開するWebサービス群です。システムから区間、日程、旅客数を送信すると、運賃付きのオファーが返ってきます。旅行者が選択すると、続く呼び出しで価格を確定し、予約を作成し、航空券を発券します。
APIの呼び出しは旅程のライフサイクルに沿っています。名称はサプライヤーごとに異なりますが、どの航空券APIも同じ5つのステップをカバーしており、IATAのNDC規格が現在多くのサプライヤーで使われるメッセージ名を定めています。
APIが扱うのはデータの受け渡しだけです。検索フォーム、検索結果ページ、決済、請求書、販売後のアフターサービスは予約プラットフォームの役割であり、そこで航空券予約ソフトウェアが活躍します。
- 01
検索AirShopping
出発地、目的地、日程、キャビンクラス、旅客数を送信し、運賃、税金、手荷物、運賃ブランドを含むオファーを受け取ります。
- 02
運賃確認OfferPrice
選択したオファーをサプライヤーに再確認します。運賃は刻々と変わるため、この呼び出しで旅行者の支払額を確定します。
- 03
予約OrderCreate
旅客の氏名、連絡先、渡航書類を送信します。サプライヤーが予約(PNRまたはNDCオーダー)を作成し、座席を確保します。
- 04
発券OrderChange · payment
支払い後、予約はeチケットとして発券され、旅客ごと・フライトクーポンごとに航空券番号が付与されます。
- 05
アフターサービスOrderRetrieve · OrderCancel
予約の再照会、日程変更、手荷物や座席の追加、取消、ボイド、払い戻しを運賃規則に沿って行います。
運賃の調達先
3種類の航空券API、3つの販売方法
契約できる航空券APIはすべて3つのグループのいずれかに分類されます。コンテンツ、契約できる事業者、発券主体がそれぞれ異なるため、多くの旅行会社は複数を併用しています。

| GDS API | NDC API | コンソリデーターAPI | |
|---|---|---|---|
| 概要 | Amadeus、Sabre、Travelport:1回の接続で数百社の航空会社の公示運賃にアクセス。 | IATAのNDC規格による航空会社独自のオファー。直接またはアグリゲーター経由。 | GDS、NDC、LCCのコンテンツを独自のネット運賃で再販する卸売事業者。 |
| コンテンツ | フルサービスキャリアとそのブランド運賃。LCCのカバー範囲はGDSにより異なります。 | 航空会社の最も充実したオファー:バンドル、付帯サービス、ダイナミックプライシング。 | LCCや非公示運賃を含め、最も幅広い組み合わせであることが多いです。 |
| 契約できる事業者 | 通常はGDS契約を持つ認定旅行会社(IATA、ARC、または各国の同等資格)。 | 航空会社またはアグリゲーターが承認した旅行会社。新規事業者を受け入れるアグリゲーターもあります。 | 独自の認定を持たない事業者を含め、ほとんどの旅行会社とOTA。 |
| 発券 | 自社の認定資格で自社が発券します。 | 航空会社が発券し、オーダーはアグリゲーターまたはIATA BSPを通じて精算されます。 | コンソリデーターが自社の認定資格で代わりに発券します。 |
| 精算 | BSPまたはARCで精算。コミッションやインセンティブは契約内容によります。 | 航空会社の価格と手数料。NDC以外の予約に追加料金を課す航空会社もあります。 | デポジットまたは与信枠からコンソリデーターのネット運賃を支払い、マークアップを上乗せします。 |
| PHPTRAVELSでの対応 | Amadeus、Sabre、Travelport | Duffel | TBO、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のフライトモジュールにすでに接続されています。サプライヤーと契約し、管理画面に認証情報を入力し、Sandboxでテストすれば本番公開できます。一覧は連携ディレクトリの最新情報です。
Seeru
Amadeus連携ガイド
Duffel連携ガイド
Google Flights連携ガイド
Kayak
Kiwi連携ガイド
Mystifly
PKfare連携ガイド
Sabre連携ガイド
TBO Holidays連携ガイド
Travelport連携ガイド- すべての連携
希望のサプライヤーが見当たりませんか?ドキュメントのある航空券APIなら追加でき、ソースコードはお客様のものです。カスタムAPI連携または旅行XML APIサプライヤー一覧全体をご覧ください。
最初の予約の前に
API以外に必要なもの
技術的な接続はすぐに終わります。サプライヤーが本番環境に切り替える前に求めるのは、次のような項目です。
サプライヤー契約
どの航空券APIも、GDS、航空会社、アグリゲーター、コンソリデーターとの契約が必要です。認証情報は契約とともに発行され、ソフトウェアベンダーから提供されるものではありません。
認定資格または発券パートナー
自社で発券するにはIATA、ARC、または各国の同等資格が必要です。資格がない場合はコンソリデーターが代わりに発券します。
認証テスト
多くのサプライヤーは、本番アクセスを付与する前にSandboxで予約フロー(検索、予約、発券、取消)をテストします。
サプライヤーへの支払い方法
BSPまたはARCでの精算、コンソリデーターへのデポジット、または航空会社が直接請求するカード決済。
運賃規則とポリシー
サプライヤーの運賃規則に基づく変更・払い戻し・手荷物の条件をサイトに明示し、旅行者が購入内容を把握できるようにします。
予約のアフター対応担当
スケジュール変更、氏名訂正、ボイド、払い戻しは販売後も発生し続けます。誰が対応するかを決めておきましょう。
APIと予約エンジンの違い
APIは運賃を届け、プラットフォームが売上に変える
航空券APIをWebサイトに直接つなぐだけでは、作業の大半が残ります。サプライヤーのAPIが提供するものと、PHPTRAVELSが加えるものの違いは次のとおりです。
航空券APIが提供するもの
- 区間と日程に対するオファーと運賃
- 運賃確認と運賃規則
- 予約番号(PNRまたはオーダー)
- 発券後の航空券番号
- 変更・取消の呼び出し
PHPTRAVELSが加えるもの
- 多言語対応の検索フォーム、検索結果、絞り込み、チェックアウト
- 複数サプライヤーの同時検索と重複の統合
- マークアップ、コミッション、B2B代理店向けウォレット
- 自社の決済ゲートウェイによるカード決済
- 旅行者の言語でのeチケット、請求書、メール
- 管理画面での予約キュー、ボイド、払い戻し、再発行
各パーツの仕組みを機能ごとに、航空券のページでご覧ください。
開発者向け
すべてのサプライヤーをまとめる自社の航空券API
PHPTRAVELSは接続済みのすべての航空券サプライヤーをひとつの予約モデルに正規化します。モバイルアプリ、パートナー、バックオフィスツールは、各サプライヤーではなくひとつのREST APIとやり取りするだけです。
REST APIとそのドキュメントはEnterpriseプランに含まれます。プランの比較は料金、詳細は開発者ドキュメントをご覧ください。
- 全サプライヤー共通のフォーマットGDS、NDC、コンソリデーターからのオファーが同じ構造で返るため、アプリ側でサプライヤーごとの形式を扱う必要はありません。
- Webhook予約、発券、取消のイベントが発生と同時にお客様のシステムへ送信されます。
- ソースコード付属フルソースコード付きのセルフホスト型なので、開発者がAPIを拡張したりサプライヤーを追加したりできます。
関連記事
航空券APIのガイド
航空券APIとは、旅行サイトが航空運賃の検索、価格確認、予約作成、発券をリアルタイムで行えるWebサービス群です。GDS、航空会社(NDC経由)、コンソリデーターがそれぞれ提供しています。
テスト用に無料のSandboxを提供する事業者や、予約なしで価格だけを返すメタサーチAPIもあります。ただし航空券を販売するには、GDS、航空会社、アグリゲーター、コンソリデーターとの商用契約が必ず必要です。
必ずしも必要ではありません。GDSで自社発券するには認定が必要ですが、認定がなくてもコンソリデーターAPIなら販売でき、コンソリデーターが自社の認定資格で発券します。
通常はコンソリデーターです。認定のない旅行会社も受け入れ、LCCも含まれるためです。取扱量の増加に合わせてGDSやNDCの接続を追加しましょう。
GDS APIは1回の接続で多数の航空会社の公示運賃を提供します。NDC APIは、航空会社独自のオファーをバンドルや付帯サービスとともにIATAのNDC形式で、直接またはアグリゲーター経由で提供します。
はい。PHPTRAVELSは接続済みのすべての航空券サプライヤーを同時に検索し、重複するフライトを統合して最安運賃を残すため、旅行者にはひとつの一覧が表示されます。
いいえ。各サプライヤーと契約し、ご自身の認証情報を管理画面に入力していただきます。PHPTRAVELSは予約プラットフォームと導入済みのコネクターを提供します。
導入済みのコネクターなら、技術的な設定は認証情報の入力とテストだけです。時間の大半はサプライヤーとの契約と認証テストにかかり、その進行はサプライヤー次第です。
はい。EnterpriseプランではPHPTRAVELSのREST APIが、接続済みのすべてのサプライヤーの検索と予約をひとつのフォーマットで公開し、予約イベント用のWebhookも提供します。
