POST/v1/flights/search

搜索航班报价

搜索当前可用的航班库存来源,并返回已标准化的报价、开发者最终价格、供应方元数据和可选预订链接。

分享
POST/v1/flights/search

API 控制台

试一试

向沙箱 API 发送真实请求并查看响应。

凭证

登录后即可从已保存的 API 密钥中选择,无需手动粘贴。

请求体

cURL 请求

cURL
bash
curl -X POST 'https://api.sandbox.travelandz.com/v1/flights/search' \
  -H 'Authorization: Bearer YOUR_SECRET_KEY' \
  -H 'X-Travelandz-Id: YOUR_PUBLIC_KEY:YOUR_PROFILE_CODE' \
  -H 'Content-Type: application/json' \
  -d '{"slices":[{"origin":"MAD","destination":"BCN","departure_date":"2026-08-20"}],"passengers":[{"type":"adult"}],"cabin_class":"economy","currency":"EUR","language":"es"}'

请填写凭证以发送请求。

响应

点击「试一试!」发送请求,响应将显示在此处。

搜索当前可用的航班库存来源,并返回已标准化的报价、开发者最终价格、供应方元数据和可选预订链接。

接口

方法路径认证
POST/v1/flights/search需要 API key
必需请求头:
Header说明
AuthorizationBearer <secret_key>. The secret is shown only once when the credential is created.
X-Travelandz-Id<public_key>:<profile_code>. The profile_code is the dp_-prefixed Developer Profile code shown in your dashboard. This binds the request to a profile and credential.
Content-TypeUse application/json for requests with a body.

Request Parameters

不需要路径参数或查询参数。

请求体结构

slices
array
slices[]origin
string
IATA code of the origin airport or city
slices[]destination
string
IATA code of the destination airport or city
slices[]departure_date
string
Format: YYYY-MM-DD
Must not be in the past
passengers
array
passengers[]type
enum
adultchildinfant_without_seat
cabin_class
enum
economybusinessfirstpremium_economy
currency
enum
EURUSDCNY
Default EUR
language
enum
eneszh
Optional language for translated metadata when available

成功响应

返回 offers[] with normalized provider metadata, pricing, passenger requirements, slices and segments.

响应体结构

offers
array
offers[]offerId
string
offers[]gdsprovider
number
offers[]expiresAt
string
Format: ISO 8601
offers[]totalAmount
number
offers[]holdOptions
object
offers[]holdOptionsavailable
boolean
offers[]holdOptionspaymentRequiredBy
string
Format: ISO 8601
可为空
offers[]holdOptionspriceGuarantedUntil
string
Format: ISO 8601
可为空
offers[]supportedPassengerIdDocuments
array
offers[]supportedPassengerIdDocuments[]
enum[]
offers[]passengerIdentityDocumentsRequired
boolean
offers[]supportedLoyaltyPrograms
array
offers[]supportedLoyaltyPrograms[]
string[]
offers[]airline
object
offers[]airlinename
string
offers[]airlineiataCode
string
offers[]airlinelogoURL
string可为空
offers[]airlineconditionsOfCarriage
string
offers[]passengers
array
offers[]passengers[]id
string
Public passenger id to reuse during booking. Mystifly public offers generate internal ids such as mystifly_pax_1.
offers[]passengers[]type
enum
adultchildinfant_without_seat
offers[]conditions
object
offers[]conditionsrefundBeforeDeparture
object
offers[]conditionsrefundBeforeDeparturecurrency
string
offers[]conditionsrefundBeforeDeparturepenaltyAmount
string
offers[]conditionsrefundBeforeDepartureallowed
boolean
offers[]conditionschangeBeforeDeparture
object
offers[]conditionschangeBeforeDeparturecurrency
string
offers[]conditionschangeBeforeDeparturepenaltyAmount
string
offers[]conditionschangeBeforeDepartureallowed
boolean
offers[]slices
array
offers[]slices[]fareName
string
offers[]slices[]departure
object
offers[]slices[]departureiataCode
string
offers[]slices[]departurecityName
string
offers[]slices[]departureairportName
string
offers[]slices[]departuredepartingAt
string
Format: ISO 8601
offers[]slices[]departuretimeZone
string
offers[]slices[]arrival
object
offers[]slices[]arrivaliataCode
string
offers[]slices[]arrivalcityName
string
offers[]slices[]arrivalairportName
string
offers[]slices[]arrivalarrivingAt
string
Format: ISO 8601
offers[]slices[]arrivaltimeZone
string
offers[]slices[]durationMinutes
number
offers[]slices[]conditions
object
offers[]slices[]conditionspriorityCheckIn
boolean
offers[]slices[]conditionspriorityBoarding
boolean
offers[]slices[]conditionsadvanceSeatSelection
boolean
offers[]slices[]segments
array
offers[]slices[]segments[]fareName
string
offers[]slices[]segments[]departure
object
offers[]slices[]segments[]departureiataCode
string
offers[]slices[]segments[]departurecityName
string
offers[]slices[]segments[]departureairportName
string
offers[]slices[]segments[]departuredepartingAt
string
Format: ISO 8601
offers[]slices[]segments[]departuretimeZone
string
offers[]slices[]segments[]departureterminal
string
offers[]slices[]segments[]arrival
object
offers[]slices[]segments[]arrivaliataCode
string
offers[]slices[]segments[]arrivalcityName
string
offers[]slices[]segments[]arrivalairportName
string
offers[]slices[]segments[]arrivalarrivingAt
string
Format: ISO 8601
offers[]slices[]segments[]arrivaltimeZone
string
offers[]slices[]segments[]arrivalterminal
string
offers[]slices[]segments[]airline
object
offers[]slices[]segments[]airlineoperatingCarrier
object
offers[]slices[]segments[]airlineoperatingCarriername
string
offers[]slices[]segments[]airlineoperatingCarrieriataCode
string
offers[]slices[]segments[]airlineoperatingCarrierlogoURL
string可为空
offers[]slices[]segments[]airlineoperatingCarrierconditionsOfCarriage
string
offers[]slices[]segments[]airlinemarketingCarrier
object
offers[]slices[]segments[]airlinemarketingCarriername
string
offers[]slices[]segments[]airlinemarketingCarrieriataCode
string
offers[]slices[]segments[]airlinemarketingCarrierlogoURL
string可为空
offers[]slices[]segments[]airlinemarketingCarrierconditionsOfCarriage
string
offers[]slices[]segments[]flightNumber
string
offers[]slices[]segments[]durationMinutes
number
offers[]slices[]segments[]passengers
array
offers[]slices[]segments[]passengers[]amenities
object
offers[]slices[]segments[]passengers[]amenitieswifi
object
offers[]slices[]segments[]passengers[]amenitieswificost
enum
freefree or paidpaid
可为空
offers[]slices[]segments[]passengers[]amenitieswifiavailable
boolean
offers[]slices[]segments[]passengers[]amenitiesseat
object
offers[]slices[]segments[]passengers[]amenitiesseatpitch
enum
"number"n/a
offers[]slices[]segments[]passengers[]amenitiesseatlegroom
enum
lessmorestandardn/a
offers[]slices[]segments[]passengers[]amenitiesseattype
enum
standardskycouchreclinerangle_flatfull_flatfull_flat_podprivate_suite
可为空
offers[]slices[]segments[]passengers[]amenitiespower
boolean
offers[]slices[]segments[]passengers[]baggages
array
offers[]slices[]segments[]passengers[]baggages[]type
enum
checkedcarry_on
offers[]slices[]segments[]passengers[]baggages[]quantity
number
offers[]slices[]segments[]passengers[]baggages[]maxKg
string
offers[]CO2EmissionsKg
number可为空
offers[]holdId
string可为空
offers[]originalCurrency
enum
EURUSDCNY
offers[]currency
enum
EURUSDCNY
liveMode
boolean
True when the request is served by the live Travelandz environment. This value comes from Travelandz, not the provider payload.

集成说明

  • Send one slices[] item for one-way trips and two items for round trips.
  • passengers[] must include at least one adult.
  • Store the selected offer payload. Some booking flows require totalSegments built from offer.slices[].segments[].

示例

bash
bash
curl -X POST https://api.sandbox.travelandz.com/v1/flights/search \
  -H "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
  -H "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE" \
  -H "Content-Type: application/json" \
  -d '{"slices":[{"origin":"MAD","destination":"BCN","departure_date":"2026-08-20"}],"passengers":[{"type":"adult"}],"cabin_class":"economy","currency":"EUR","language":"es"}'

请求体 - 示例

json
json
{
  "slices": [
    {
      "origin": "MAD",
      "destination": "BCN",
      "departure_date": "2026-08-20"
    }
  ],
  "passengers": [
    {
      "type": "adult"
    }
  ],
  "cabin_class": "economy",
  "currency": "EUR",
  "language": "es"
}

响应

状态码说明
200Flight offers retrieved successfully.
400请求无效:payload 不合法。
401未授权:凭证无效或缺失。
403禁止访问:凭证无效。
500服务器内部错误

200 响应体

媒体类型:application/json

json
json
{
  "offers": [
    {
      "offerId": "string",
      "gdsprovider": 0,
      "expiresAt": "2026-06-05T00:06:29.070Z",
      "totalAmount": 0,
      "holdOptions": {
        "available": true,
        "paymentRequiredBy": "2026-06-05T00:06:29.070Z",
        "priceGuarantedUntil": "2026-06-05T00:06:29.070Z"
      },
      "supportedPassengerIdDocuments": "passport",
      "passengerIdentityDocumentsRequired": true,
      "supportedLoyaltyPrograms": [
        null
      ],
      "airline": {
        "name": "string",
        "iataCode": "string",
        "logoURL": {},
        "conditionsOfCarriage": "string"
      },
      "passengers": [
        {
          "id": "string",
          "type": "adult"
        }
      ],
      "conditions": {
        "refundBeforeDeparture": {
          "currency": "string",
          "penaltyAmount": "string",
          "allowed": true
        },
        "changeBeforeDeparture": {
          "currency": "string",
          "penaltyAmount": "string",
          "allowed": true
        }
      },
      "slices": [
        {
          "fareName": "string",
          "departure": {
            "iataCode": "string",
            "cityName": "string",
            "airportName": "string",
            "departingAt": "string",
            "timeZone": "string"
          },
          "arrival": {
            "iataCode": "string",
            "cityName": "string",
            "airportName": "string",
            "arrivingAt": "string",
            "timeZone": "string"
          },
          "durationMinutes": 0,
          "conditions": {
            "priorityCheckIn": true,
            "priorityBoarding": true,
            "advanceSeatSelection": true
          },
          "segments": [
            {
              "fareName": "string",
              "departure": {
                "iataCode": "string",
                "cityName": "string",
                "airportName": "string",
                "departingAt": "string",
                "timeZone": "string",
                "terminal": "string"
              },
              "arrival": {
                "iataCode": "string",
                "cityName": "string",
                "airportName": "string",
                "arrivingAt": "string",
                "timeZone": "string",
                "terminal": "string"
              },
              "airline": {},
              "flightNumber": "string",
              "durationMinutes": 0,
              "passengers": [
                {
                  "amenities": {
                    "wifi": {
                      "cost": {},
                      "available": true
                    },
                    "seat": {
                      "pitch": "string",
                      "legroom": "string",
                      "type": {}
                    },
                    "power": true
                  },
                  "baggages": [
                    {
                      "type": "checked",
                      "quantity": 0,
                      "maxKg": "string"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "CO2EmissionsKg": 0,
      "holdId": "string",
      "originalCurrency": {},
      "currency": "EUR"
    }
  ],
  "liveMode": false
}