呼叫價格
25 匠幣/次
快速接入
保持統一返回結構,直接透過服務端發起請求即可接入。
https://openapi.toolkk.com/v1/flight-querycURL 示例
curl --request GET \
--url 'https://openapi.toolkk.com/v1/flight-query' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "departure": "HGH",\n "arrival": "WUH",\n "departureDate": "2026-09-30"\n}'Python 示例
import os
import requests
url = "https://openapi.toolkk.com/v1/flight-query"
payload = {
"departure": "HGH",
"arrival": "WUH",
"departureDate": "2026-09-30"
}
headers = {
"Content-Type": "application/json",
"X-API-Key": os.getenv("TOOLKK_API_KEY", "YOUR_API_KEY"),
}
response = requests.get(url, headers=headers, params=payload, timeout=30)
response.raise_for_status()
print(response.json())Go 示例
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/flight-query"
payload := []byte("{\n \"departure\": \"HGH\",\n \"arrival\": \"WUH\",\n \"departureDate\": \"2026-09-30\"\n}")
req, err := http.NewRequest("GET", endpoint, bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}Java 示例
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ToolkkExample {
public static void main(String[] args) throws Exception {
String payload = "{\n \"departure\": \"HGH\",\n \"arrival\": \"WUH\",\n \"departureDate\": \"2026-09-30\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/flight-query"))
.method("GET", HttpRequest.BodyPublishers.ofString(payload))
.header("Content-Type", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}PHP 示例
<?php
$endpoint = 'https://openapi.toolkk.com/v1/flight-query';
$payload = "{\n \"departure\": \"HGH\",\n \"arrival\": \"WUH\",\n \"departureDate\": \"2026-09-30\"\n}";
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-Key: YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException(curl_error($ch));
}
curl_close($ch);
echo $response;響應示例
{
"success": true,
"code": "200",
"message": "成功",
"data": {
"list": [
{
"arrivalCityCode": "WUH",
"duration": "1小时40分",
"departureCityCode": "HGH",
"price": {
"discountRate": 0.74,
"adultPrice": "670.00",
"childPrice": "460.00",
"infantPrice": "无"
},
"airlineCode": "GJ",
"departureDateTime": "2026-06-30 20:40:00",
"arrivalDateTime": "2026-06-30 22:20:00",
"state": "航班计划",
"departureAirportCode": "HGH",
"aircraftName": "波音737(中)",
"departureTerminal": "T4",
"arrivalAirportCode": "WUH",
"flightType": "direct",
"flightNo": "GJ3072",
"departureCityName": "杭州",
"arrivalCityName": "武汉",
"aircraftCode": "73H",
"departureAirportName": "萧山国际机场",
"airlineName": "长龙航空",
"arrivalAirportName": "天河国际机场",
"segments": []
}
]
}
}範例用於理解回傳結構,實際結果以介面回傳為準。
- 鑑權方式
- 請求頭傳入 X-API-Key
- 預設限流
- 60 次/分鐘
- 超時時間
- 30000 ms
服務端呼叫時,將 API Key 放在 X-API-Key 請求頭中。
建議按 response code 與業務欄位雙重判斷呼叫結果。
高頻呼叫場景請結合速率限制與重試策略使用。
請求欄位
從伺服器發起請求,並在 X-API-Key 標頭中傳入金鑰。
請求欄位
欄位來自介面結構定義。未提供的說明和範例會標為未標註。
| 欄位路徑 | 型別 | 必填 | 說明 | 示例值 |
|---|---|---|---|---|
| departure | string | 是 | 出发城市或机场三字码 | HGH |
| arrival | string | 是 | 到达城市或机场三字码 | WUH |
| departureDate | string | 否 | 选填;省略时使用服务商当天日期 | 2026-09-30 |
請求示例
{
"departure": "HGH",
"arrival": "WUH",
"departureDate": "2026-09-30"
}- 鑑權方式
- 請求頭傳入 X-API-Key
- 預設限流
- 60 次/分鐘
- 超時時間
- 30000 ms
響應欄位
範例用於理解回傳結構,實際結果以介面回傳為準。
響應欄位
欄位來自介面結構定義。未提供的說明和範例會標為未標註。
| 欄位路徑 | 型別 | 必填 | 說明 | 示例值 |
|---|---|---|---|---|
| success | boolean | 否 | 未標註 | true |
| code | string | 否 | 未標註 | 200 |
| message | string | 否 | 未標註 | 成功 |
| data | object | 否 | 未標註 | 未標註 |
| data.list | array | 否 | 未標註 | [{"arrivalCityCode":"WUH","duration":"1小时40分","departureCityCode":"HGH","price":{"discountRate":0.74,"adultPrice":"670.00","childPrice":"460.00","infantPrice":"无"},"airlineCode":"GJ","departureDateTime":"2026-06-30 20:40:00","arrivalDateTime":"2026-06-30 22:20:00","state":"航班计划","departureAirportCode":"HGH","aircraftName":"波音737(中)","departureTerminal":"T4","arrivalAirportCode":"WUH","flightType":"direct","flightNo":"GJ3072","departureCityName":"杭州","arrivalCityName":"武汉","aircraftCode":"73H","departureAirportName":"萧山国际机场","airlineName":"长龙航空","arrivalAirportName":"天河国际机场","segments":[]}] |
| data.list[] | object | 未標註 | 未標註 | 未標註 |
響應示例
{
"success": true,
"code": "200",
"message": "成功",
"data": {
"list": [
{
"arrivalCityCode": "WUH",
"duration": "1小时40分",
"departureCityCode": "HGH",
"price": {
"discountRate": 0.74,
"adultPrice": "670.00",
"childPrice": "460.00",
"infantPrice": "无"
},
"airlineCode": "GJ",
"departureDateTime": "2026-06-30 20:40:00",
"arrivalDateTime": "2026-06-30 22:20:00",
"state": "航班计划",
"departureAirportCode": "HGH",
"aircraftName": "波音737(中)",
"departureTerminal": "T4",
"arrivalAirportCode": "WUH",
"flightType": "direct",
"flightNo": "GJ3072",
"departureCityName": "杭州",
"arrivalCityName": "武汉",
"aircraftCode": "73H",
"departureAirportName": "萧山国际机场",
"airlineName": "长龙航空",
"arrivalAirportName": "天河国际机场",
"segments": []
}
]
}
}介面簡介
介面功能、應用情境、使用限制與常見問題。
航班資訊與票價查詢
依出發及抵達三字碼查詢航班時間、狀態、機型、航廈與成人、兒童、嬰兒參考票價。
GET /v1/flight-query
請求參數
| Parameter | Type | Description |
|---|---|---|
| departure | string | 必填;出發城市或機場三字碼,例如 HGH、BJS |
| arrival | string | 必填;抵達城市或機場三字碼,例如 WUH |
| departureDate | string | 選填;YYYY-MM-DD,省略時查詢供應商預設當日 |
回傳資料
成功結果的 data.list 為航班陣列。flightNo 是航班號碼,airlineCode/airlineName 是航空公司,departureDateTime/arrivalDateTime 為起降日期時間,departureAirportCode/Name 與 arrivalAirportCode/Name 為機場代碼及名稱, 為預估時間, 為供應商原始狀態, 為機型, 為出發航廈, 為航班類型, 為航段。