Dünyanın En İyi Sorgu Tabanlı Uçuş takibi ve Uçuş Durumu API'si
AeroAPI (önceden FlightXML), REST/JSON kullanan her tür uygulama için milyonlarca uçuş durumu girdisinden veri arayan geliştiriciler için özelleştirilmiş erişim sağlar.
AeroAPI (önceden FlightXML), REST/JSON kullanan her tür uygulama için milyonlarca uçuş durumu girdisinden veri arayan geliştiriciler için özelleştirilmiş erişim sağlar.
AeroAPI, yazılım geliştiricilerin FlightAware'in pek çok uçuş verisine erişmesini sağlayan basit, sorgu bazlı bir API'dır. Kullanıcılar güncel ve geçmiş verilere ulaşabilirler. AeroAPI bir RESTful API'ıdır ve doğru, uygulanabilir havacılık verisi sağlar. ForesightTM'ın eklenmesiyle müşteriler ABD'deki tahminî ETA'ların yarısından fazlasının çalışmasını sağlayan verilere erişim sağlarlar.
import requests
apiKey = input("API Key: ")
apiUrl = "https://aeroapi.flightaware.com/aeroapi/"
airport = 'KSFO'
payload = {'max_pages': 2}
auth_header = {'x-apikey':apiKey}
response = requests.get(apiUrl + f"airports/{airport}/flights",
params=payload, headers=auth_header)
if response.status_code == 200:
print(response.json())
else:
print("Error executing request")
String YOUR_API_KEY = "API_KEY_HERE";
String apiUrl = "https://aeroapi.flightaware.com/aeroapi/";
String airport = "KSFO";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(apiUrl + "airports/" + airport + "/flights"))
.headers("x-apikey", YOUR_API_KEY)
.build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println("responseBody: " + response.body());
}
<?php
$apiKey = "YOUR_API_KEY";
$fxmlUrl = "https://aeroapi.flightaware.com/aeroapi/";
$ident = 'SWA45';
$queryParams = array(
'max_pages' => 2
);
$url = $fxmlUrl . 'flights/' . $ident . '?' . http_build_query($queryParams);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('x-apikey: ' . $apiKey));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if ($result = curl_exec($ch)) {
curl_close($ch);
echo $result;
}
?>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace AeroApi4Sample
{
public class FlightsResult
{
public List<Flight> Flights { get; set; }
}
public class Flight
{
public string Ident { get; set; }
[JsonPropertyName("fa_flight_id")]
public string FaFlightId { get; set; }
[JsonPropertyName("scheduled_out")]
public DateTime ScheduledOut { get; set; }
[JsonPropertyName("actual_out")]
public DateTime? ActualOut { get; set; }
}
public class Program
{
static void Main( string[] args )
{
Console.Write( "API Key: " );
var strApiKey = Console.ReadLine();
Console.Write( "Ident to look up (e.g., UAL47): " );
var strIdentToLookUp = Console.ReadLine();
var flights = GetFlights( strApiKey, strIdentToLookUp ).Result;
if( flights == null )
{
return;
}
var nextFlightToDepart = flights.Where(
f => f.ActualOut == null
).OrderBy( f => f.ScheduledOut ).First();
Console.WriteLine(
string.Format(
"Next departure of {0} is {1} at {2}",
strIdentToLookUp,
nextFlightToDepart.FaFlightId,
nextFlightToDepart.ScheduledOut
)
);
}
private static async Task<List<Flight>> GetFlights( string strApiKey, string strIdent )
{
using( var client = new HttpClient() )
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue( "application/json" )
);
client.DefaultRequestHeaders.Add(
"x-apikey",
strApiKey
);
FlightsResult flightResult = null;
var response = await client.GetAsync(
"https://aeroapi.flightaware.com/aeroapi/flights/" + strIdent
);
var contentStream = await response.Content.ReadAsStreamAsync();
if( response.IsSuccessStatusCode )
{
flightResult = await JsonSerializer.DeserializeAsync<FlightsResult>(
contentStream,
new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
}
);
}
else
{
Console.Error.WriteLine( "API call failed: " + response );
return null;
}
return flightResult.Flights;
}
}
}
}
AeroAPI Python, Ruby, Java, .NET ve diğer dillerle de kullanılabilir.
Tek bir Sorgu, yapılan arama türüne ve sunulan girdi parametresine bağlı olarak çok fazla sonuç çıkarabilir. Fiyatlandırma amaçları gereğince, 15 sonuç/kayıt şeklinde bir 'sonuç seti' belirlenmiştir. Fiyatlandırma sonuç seti başına gerçekleşir.
Note: The max_pages input parameter can be used to limit/control how many result sets will be returned, with one page being equivalent to one result set.
All Premium and Standard tier accounts are eligible for volume discounting. The first $1000 of usage per month is always billed at list price, followed by each incremental level of usage being discounted at a more generous level. For monthly usage above $64,000 the discount is set at 94% off, which will enable you to continue to grow your applications and take full advantage of new features with minimal variance in total monthly cost.
Please contact FlightAware for more information regarding additional discounting available with 3 or 4 year term commitments.
Genel olarak her sorgu başına ücretlendirilirsiniz. Ne var ki, birden çok sayfalık sonuç getiren sorgular için (15 sonuca kadar olan setler şeklinde tanımlanır), gelen sayfaların toplam sayısı karşılığında ücretlendirilirsiniz (sorgu başına ücret çarpı gelen sayfa sayısı şeklinde hesaplanır). API'nin bir sorgu için getirdiği maksimum sayfa sayısını kontrol edebilirsiniz. Lütfen "max_pages" parametresini nasıl belirleyeceğinize dair bilgi almak için API belgelerine göz atın.
Mevcut müşteriler biriken masrafları görmek için AeroAPI portalını ziyaret edebilirler.
Sürüm 4, uçuş sorgularına ilişkin daha detaylı sonuçlar ve anlık uyarılar içerir, böylece daha az arama ile aynı bilgileri ya da daha fazlasını elde edebilirsiniz. Kullanımı daha kolay RESTful arayüzü sunmak adına API'yi yeniden tasarladık. Tamamen yenilenmiş etkileşimli web portal API'yi keşfetmenizi ve herhangi bir kod yazmadan kullanmanızı sağlar. Artık yüzde 99,5 çalışma süresi de sunmaktadır.
AeroAPI'nin 2. sürümü ve 3. sürümü 31 Ekim 2023'e kadar mevcut müşteriler tarafından kullanılabilecek ve ilgili fiyatları da değişmeyecek. Bu eski ürünler yeni kayıtlara sunulmamaktadır. 2023'te eski ürünlerin süresi dolduğunda olumsuz etkilenmemeleri adına, eski AeroAPI müşterilerine yakın zamanda AeroAPI'nin yeni sürümünü edinmeyi planlamalarını öneriyoruz. Ek olarak, AeroAPI'nin yeni sürümünün müşterileri yeni bir ürüne geçmeden AeroAPI'nin gelecekteki güncellemelerine erişim sağlayacaklardır.
Bugün AeroAPI'ın yeni sürümüyle başlayabilirsiniz, çevrim içi giriş yapmanız yeterli. Mevcut bir AeroAPI müşterisi olarak, başlamanıza yardımcı olmak adına Standart ve Premium kademe yeni aboneliğinizin ilk 3 ayında aylık minimum ücret yok sayılır.
FlightAware'in uçuş durumu, uçui takibi ve havacılık verileri API'sine REST aracılığıyla erişilebilir ve API'ye de aynı programlama diliyle erişilebilir.
Genel sorulara cevaplar bulmak için lütfen SSS bölümümüzü ziyaret edin veya daha derinlemesine bilgiler için tartışma forumumuza göz atın.