Obtén el estado actualizado de los vuelos con la API de Flight Tracker
La API de Flight Tracker brinda a los desarrolladores la capacidad de acceder al estado de los vuelos en tiempo real, lo cual resulta extremadamente útil para integrar un seguimiento histórico o consultas en vivo del tráfico aéreo en tu sitio web.
Con esta API, puedes rastrear fácilmente el estado de un vuelo y acceder al horario de los aeropuertos.
Existen varias API de Flight Tracker disponibles para obtener el estado de los vuelos, y una de las mejores opciones es aviationstack. Esta API proporciona una forma sencilla de acceder a datos de aviación a nivel mundial, incluyendo el estado de los vuelos y los horarios de los aeropuertos, en tiempo real.
Aviationstack realiza un seguimiento de todos los vuelos en todo el mundo en todo momento, almacenando la información en su base de datos y ofreciendo el estado actualizado de los vuelos a través de su API. Se trata de una API REST fácil de usar que devuelve la respuesta en formato JSON, siendo compatible con diversos lenguajes de programación como PHP, Python, Ruby, Node.js, jQuery, Go, entre otros.
En este tutorial, te mostraremos cómo obtener el estado de los vuelos en tiempo real utilizando la API de Flight Tracker de aviationstack con PHP.
Obtención de las credenciales de la API
Para comenzar, debes crear una cuenta en aviationstack. Una vez dentro de tu panel de control, podrás copiar la clave de acceso de la API en la sección "Your API Access Key".
Configuración de la API
Necesitaremos la clave de acceso Access Key para autenticarnos y acceder a la API de aviationstack.
A continuación, construiremos la consulta utilizando la función http_build_query() para pasar los parámetros necesarios a la API de aviationstack.
Define la clave de acceso en el parámetro "access_key".
$queryString = http_build_query([ 'access_key' => 'TU_ACCESS_KEY' ]);
Solicitud HTTP GET
Para obtener los datos de los vuelos, haremos una llamada a la API de aviationstack utilizando una solicitud HTTP GET a través de 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);
Es importante asegurarnos de que la llamada a la API se realice de manera segura, por lo que debemos utilizar la URL con "https":
Estado de los vuelos e información general
Después de realizar la llamada a la API, obtendremos el estado actual de los vuelos y la información relacionada en formato JSON. Inicialmente, la API de aviationstack 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
Utilizando la función json_decode(), podemos convertir los datos obtenidos en JSON a un arreglo en PHP.
Aquí tienes un ejemplo de cómo extraer la información de los vuelos utilizando la API de aviationstack:
$api_result = json_decode($api_response, true);
A continuación, se muestra el código completo para obtener información global de vuelos utilizando la API de aviationstack con 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/>';
}
}
?>
Este código te permitirá obtener información actualizada de vuelos utilizando la API de aviationstack. Asegúrate de reemplazar 'TU_ACCESS_KEY' con tu clave de acceso personal proporcionada por aviationstack.
Image by katemangostar on Freepik