أفضل واجهة برمجة تطبيقات لتتبع الرحلات الجوية وحالة الرحلة الجوية المستندة إلى الاستعلام بالعالم.

تقدم واجهة برمجة التطبيقات AeroAPI (التي كان يطلق عليها سابقا اسم FlightXML) إمكانية الوصول المخصص أمام المطورين الذين يسعون للحصول على البيانات من ملايين مدخلات حالات الرحلات الجوية الخاصة بأي تطبيق باستخدام REST/JSON.

قم ببدء إجراء الاستعلامات لتقوية طلبك. قارن ما بين مستويات الوصول الآن

ميزات رئيسية

  • سهولة الدمج، والمرونة وقابلية التوسع
  • حديث مستند إلى نقل الحالة التمثيلي
  • متوافق مع كل لغات البرمجة
  • وثائق المطور والمدخل التفاعلي الشاملة
  • ضمان الحصول على نسبة 99.5% من وقت التشغيل المتاح
  • بيانات طيران قابلة للتخصيص حسب الحاجة لتلبية احتياجات تطبيقك الفريدة
  • بيانات الرحلة الجوية الحالية والقديمة المحفوظة
  • إنذارات أحداث الرحلات الجوية في وقتها الفعلي والتي يمكن تكوينها
  • تواريخ الوصول المتوقعة التنبؤية المزودة من قبل FlightAware Foresight
  • Continuous delivery of new functionality, including new hold detection alerting and impending arrival and departure alerts New!

الاستعلام عن بيانات الرحلة الجوية عند الطلب

AeroAPI هي واجهة برمجة تطبيقات بسيطة مستندة إلى الاستعلام بما يمكن لمطوروي البرمجيات إمكانية الوصول إلى مجموعة متنوعة من بيانات الرحلات الجوية التابعة لموقع FlightAware. يمكن للمستخدمين الحصول على البيانات الحالية، أو البيانات القديمة (المحفوظة). AeroAPI هي واجهة برمجة تطبيقات RESTful تقدم بيانات دقيقة وقابلة للتنفيذ في قطاع الطيران. مع إدخال ميزة FlightAware Foresight، يصبح لدى العملاء إمكانية الوصول إلى البيانات التي تعمل على تسيير أكثر من نصف الأوقات المقدرة للوصول بشركات الخطوط الجوية في الولايات المتحدة.

استعلام AeroAPI عن الرحلات الجوية وفقاً لمجموعة من الخصائص المتضمنة

  • رقم رحلة الطيران أو ذيل الطائرة
  • مطار المكان الأصلي، و/ أو مطار الواجهة
  • نوع الطائرة
  • النطاق من المستوى المنخفض-إلى- المستوى العالي للارتفاع
  • النطاق من المستوى المنخفض-إلى- المستوى العالي للسرعة الأرضية

يتم استرداد بيانات الرحلة الجوية من خلال AeroAPI بما في ذلك:

  • رقم الذيل أو الرحلة الجوية
  • نوع الطائرة
  • مطار إقلاع الطائرة، و/ أو مطار المقصد/ الواجهة
  • آخر مرة تم عندها تلقي بيانات الوضع
  • خط الطول، خط العرض، السرعة الأرضية، والارتفاع
  • FlightAware Foresight، تواريخ الوصول المتوقعة التابعة لموقع FlightAware
  • حالة الرحلة الجوية وعمليات التتبع المحفوظة New!
  • والمزيد

احصل على بيانات المطار- المركزية عبر واجهة برمجة التطبيقات، بما في ذلك:

  • الرحلات الجوية المجدولة
  • الرحلات المغادرة
  • الرحلات الجوية المحلقة في الجو
  • الرحلات الجوية التي وصلت

قصاصات برمجية AeroAPI

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 المفصلة

رسوم استعلام AeroAPI

قد يعود الاستعلام الفردي بتحقيق نتيجة واحدة- إلى- نتائج متعددة، وذلك حسب نوع الاتصال الذي تم إجراؤه، ومعلمات الإدخال المقدمة. لأغراض تتعلق بالأسعار، ستعرف "مجموعة النتائج" على شكل 15 من النتائج (السجلات). السعر لكل مجموعة نتائج. يخضع السعر للتغيير.

ملاحظة: يمكن استخدام معلمة الإدخال max_pages (أقصى_صفحات) من أجل تقييد/ التحكم في مجموعات النتائج التي سيتم إرجاعها مع صفحة واحدة التي يجب أن تكون مكافئة لمجموعة نتائج واحدة.

ابدأ إجراء الاستعلامات اليوم! مقارنة مستويات الوصول

الخصم على الجملة

كل حسابات المستوى سواء كانت متميزة أو قياسية مؤهلة للحصول على الخصم عند شراء عدد كبير. وتتم محاسبة أولى 1000 دولار أمريكي من الاستخدام كل شهر على قائمة الأسعار متبوعة بكل مستوى متزايد (تراكمي) من الاستخدام الذي يتم خصمه عند المستوى الأعلى. بالنسبة للاستخدام الشهري الذي يزيد عن 64000 دولار أمريكي، يتم ضبط الخصم عند 94 % من الاقتطاع وهذا ما سيمكنك من متابعة نمو وازدياد طلبات وتحقيق الاستفادة الكاملة من المزايا الجديدة مع أدنى تفاوت في إجمالي التكلفة الشهرية.

الرجاء الاتصال بشركة FlightAware لمعرفة المزيد من المعلومات فيما يخص الخصومات الإضافية المتاحة عند الاشتراك لفترات تمتد إلى 3 أو 4 سنوات

استخدامها من قبل كل المؤسسات في كافة أنحاء العالم

الأسئلة المتداولة

كيف ستتم محاسبتي عندما تعود واجهة برمجة التطبيقات بنتائج متعددة عن كل استعلام؟

بشكل عام، سيتم حسابك عن كل استعلام مفرد تقوم به. ومع ذلك، بالنسبة للاستعلامات التي ترجع بصفحات متعددة من النتائج (التي يتم تحديدها كمجموعات تصل إلى 15 نتيجة)، فسيتم حسابك عن العدد الكلي من الصفحات التي تم إرجاعها (وقد تم حسابها على أساس مرات الاستعلامات المربوطة برسوم، وعدد الصفحات التي تم إرجاعها). يمكنك التحكم في الحد الأقصى من عدد الصفحات التي يتم إرجاعها بواسطة واجهة برمجة التطبيقات عن كل استعلام. الرجاء الإطلاع على وثائق واجهة برمجة التطبيقات لمعرفة التفاصيل حول كيفية ضبط معلمة "أقصى_حد من الصفحات"

كيف يمكني عرض فاتورة AeroAPI الخاصة بي؟

بإمكان العملاء الحاليين زيارة AeroAPI مدخل للتعرف على الرسوم المستحقة.

المستندات

يمكن الوصول إلى واجهة برمجة تطبيقات FlightAware الخاصة بحالة الرحلة الجوية، وبيانات تتبع الرحلة الجوية والطيران من خلال REST، مع إمكانية الوصول إلى واجهة برمجة التطبيقات باستخدام أي لغة برمجة.

الدعم

الرجاء التفضل بزيارة قسم الأسئلة المتداولة لدينا للبحث عن إجابات عن الأسئلة العامة، أو التحقق من منتدى المناقشات لمعرفة معلومات أكثر عمقاً.

تسجيل الدخول

ليس لديك حساب؟ سجل الآن (مجانا) لتستمع بمميزات مخصصة، وتنبيهات الرحلات، وغير ذلك الكثير!
هل علمت بأن خاصية تتبع الرحلة التابعة لـFlightAware مدعومة بواسطة الإعلانات؟
يمكنك مساعدتنا بالإبقاء على موقع FlightAware مجاني بدون مقابل من خلال السماح بالإعلانات من موقع FlightAware.com. نحن نعمل بكل كد لجعل إعلاناتنا ملائمة ومناسبة وأن تكون هذه الإعلانات غير ملحوظة من أجل إنشاء تجربة رائعة. يمكن بكل سرعة وسهولة السماح لـإعلانات القائمة البيضاء الموجودة على FlightAware، أو الرجاء مراجعة الحسابات المميزة الخاصة بنا.
استبعد