Cómo conocer el estado de los vuelos en tiempo real mediante la API de Flight Tracker

La API de Flight Tracker permite al desarrollador obtener el estado de los vuelos en tiempo real. Esto es la mar de útil para integrar un histórico o una consulta en tiempo real del tráfico aéreo en tu sitio web. Puedes traquear de manera sencilla el estado de un vuelo y acceder al horario del aeropuerto utilizando dicha API.

Existen varias API de Flight Tracker para obtener el estado del vuelo. Sin duda alguna, aviationstack es una de las mejores. Esta API proporciona una manera sencilla de acceder a los datos de la aviación de manera global (estado del vuelo y horario del aeropuerto) en tiempo real. Aviationstack rastrea todos y cada uno de los vuelos del mundo en todo momento, se almacena en la base de datos y proporciona el estado del vuelo en tiempo real a través de API. Es una API REST fácil de usar que devuelve la respuesta en formato JSON, es amigable con cualquier lenguaje de programación (PHP, Python, Ruby, Nodejs, jQuery, Go, etc.). En este tutorial, te mostraremos cómo obtener el estado del vuelo en tiempo real con la API de Flight Tracker de aviationstack utilizando PHP.

Obtén las credenciales de la API

Para ello, créate primero una cuenta en aviationstack. Un vez dentro de su dashboard, podrás copiar la API key en la sección Your API Access Key.

Configuración de la API

Necesitamos la Access Key para autenticarnos y acceder a la API de aviationstack.

  • Ahora tendremos que construir la query de consulta utilizando la función http_build_query() para pasar los parámetros que necesita la API de aviationstack.
  • Define el Access Key en el parámetro access_key.
$queryString = http_build_query([ 
    'access_key' => 'TU_ACCESS_KEY' 
]);

Petición HTTP GET

Para extraer los datos de los vuelos, tendremos que llamar a la API de aviationstack vía HTTP GET utilizando cURL.

// URL de la API con la query string 
$apiURL = sprintf('%s?%s', 'http://api.aviationstack.com/v1/flights', $queryString); 
 
// Inicializamos cURL 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $apiURL); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
 
// Ejecutamos la API 
$api_response = curl_exec($ch); 
 
// Cerramos cURL 
curl_close($ch);

Ojo, para asegurarnos de que la llamada a la API es segura, procura realizarla llamando a la URL con https:

https://api.aviationstack.com

Estado de los vuelos e información general

Después de hacer la llamada a la API, obtendremos el estado del vuelo en tiempo real y la información relacionada en formato JSON. Inicialmente, la API de ipstack devuelve los siguientes datos de geolocalización.

  • Fecha del vuelo (flight_date)
  • Estado del vuelo (flight_status)
  • Información de la salida y la llegada (departure/arrival)
    • airport
    • timezone
    • iata
    • icao
    • terminal
    • gate
    • delay
    • scheduled
    • estimated
    • actual
    • estimated_runway
    • actual_runway
  • Información de la aerolínea (airline)
    • name
    • iata
    • icao
  • Información del vuelo (flight)
    • number
    • iata
    • icao
    • codeshared
  • Información del avión (aircraft)
    • registration
    • iata
    • icao
    • icao24
  • Datos en vivo (live)
    • updated
    • latitude
    • longitude
    • altitude
    • direction
    • speed_horizontal
    • speed_vertical
    • is_ground

Mediante la función json_decode() podremos convertir los datos obtenidos en JSON, en un array de PHP.

$api_result = json_decode($api_response, true);

Ejemplo de cómo extraer la información de los vuelos mediante la API de aviationstack

Más abajo puedes ver el código completo para obtener una información global de vuelos utilizando la API de aviationstack mediante PHP.

<?php 
 
// Definimos la Access key de la API 
$queryString = http_build_query([ 
    'access_key' => 'TU_ACCESS_KEY', 
    'limit' => 10   
]); 
 
// URL de la API con la query string
$apiURL = sprintf('%s?%s', 'http://api.aviationstack.com/v1/flights', $queryString); 
 
// Inicializamos cURL 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $apiURL); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
 
// Ejecutamos la API
$api_response = curl_exec($ch); 
 
// Cerramos cURL 
curl_close($ch); 
 
// Convertimos el JSON en un array 
$api_result = json_decode($api_response, true); 
 
// Mostramos los datos de los vuelos
foreach ($api_result['data'] as $flight) { 
    if (!$flight['live']['is_ground']) { 
        echo sprintf("%s vuelo %s de %s (%s) a %s (%s) está en el aire.", 
            $flight['airline']['name'], 
            $flight['flight']['iata'], 
            $flight['departure']['airport'], 
            $flight['departure']['iata'], 
            $flight['arrival']['airport'], 
            $flight['arrival']['iata'] 
            ), PHP_EOL; 
        echo '<br/>'; 
    } 
} 
 
?>

 

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP