Códigos de error y solución de problemas de la API de vuelos
Este artículo cubre las respuestas de error que puede encontrar en todos los puntos finales de Flights API v2, junto con problemas comunes y cómo resolverlos.
Códigos de estado HTTP
| Código de estado | Significado | Descripción |
|---|---|---|
| 200 | Aceptar | Solicitud exitosa. |
| 400 | Solicitud incorrecta | La solicitud tiene un formato incorrecto, faltan campos obligatorios o contiene valores no válidos. |
| 401 | No autorizado | x-api-key faltante o no válido. |
| 403 | Prohibido | Su clave API no tiene permiso para este punto final o acción. |
| 404 | No encontrado | El recurso solicitado no existe (por ejemplo, ID de reserva no válido o token caducado). |
| 422 | Entidad no procesable | La solicitud está bien formada pero contiene errores semánticos (por ejemplo, fecha de salida en el pasado). |
| 429 | Demasiadas solicitudes | Se superó el límite de tarifa. Reduzca su tasa de solicitudes. |
| 500 | Error interno del servidor | Se produjo un error inesperado en el servidor. Vuelva a intentar la solicitud. |
| 502 | Mala puerta de enlace | El servicio upstream no está disponible temporalmente. Vuelva a intentarlo después de un breve retraso. |
| 503 | Servicio no disponible | La API está temporalmente inactiva por mantenimiento. Vuelva a intentarlo más tarde. |
Formato de respuesta de error
Todas las respuestas de error siguen un formato consistente:
{
"status": "error",
"data": null,
"message": "A human-readable description of the error."
}Errores por punto final
Autocompletar
| Error | Causa | Resolución |
|---|---|---|
| 400 - Parámetro clave no válido | El parámetro de consulta key falta, está vacío o contiene caracteres no válidos. | Proporcione un nombre de aeropuerto válido o un código IATA con al menos 1 carácter. |
| 500 - Error interno del servidor | Fallo inesperado del servidor. | Vuelva a intentar la solicitud. Si el problema persiste, comuníquese con el soporte. |
Buscar
| Error | Causa | Resolución |
|---|---|---|
| 400 - Faltan campos obligatorios | Faltan campos obligatorios como flightinfo, routetype, cabintype o adults. | Verifique el cuerpo de su solicitud con los campos obligatorios documentados en Cómo buscar vuelos. |
| 400 - Tipo de ruta no válido | routetype no es "Oneway" o "Return". | Utilice exactamente "Oneway" o "Return" (distingue entre mayúsculas y minúsculas). |
| 400 - Tipo de cabina no válido | cabintype no es uno de los valores aceptados. | Utilice "economy", "business", "premium" o "first" (minúsculas). |
| 400 - Formato de fecha no válido | departuredate no está en formato YYYY-MM-DD. | Utilice el formato YYYY-MM-DD. |
| 400 - Falta el ID de correlación x | El encabezado x-correlation-id no está presente. | Capture el x-correlation-id de los encabezados de respuesta de autocompletar e inclúyalo en su solicitud de búsqueda. |
| 422 - Fecha de salida en el pasado | La fecha de salida ya pasó. | Utilice una fecha futura. |
| 422 - Recuento de pasajeros no válido | El recuento de bebés supera el recuento de adultos o el recuento de pasajeros es cero. | Asegurar al menos 1 adulto. Los bebés no pueden exceder el número de adultos. |
Disponibilidad
| Error | Causa | Resolución |
|---|---|---|
| 404 - Sesión no encontrada | El cabinsearchsessionid no es válido o ha caducado. | Ejecute una nueva búsqueda para obtener un cabinsearchsessionid nuevo. Las sesiones de búsqueda caducan después de un período de inactividad. |
| 400 - Falta el ID de correlación x | Falta el encabezado del ID de correlación. | Incluya el encabezado x-correlation-id. |
Reglas de tarifas
| Error | Causa | Resolución |
|---|---|---|
| 404 - Token no encontrado | El cabinavailabilitytoken no es válido o ha caducado. | Ejecute una nueva verificación de disponibilidad para obtener un token nuevo. |
Crear reserva| Error | Causa | Resolución |
|---|---|---| | 400 - Información del viajero faltante | Faltan campos obligatorios para viajeros o están incompletos. | Asegúrese de que cada viajero tengatype, gender, title, firstname, lastname y dateofbirth. |
| 400 - Faltan datos del pasaporte | Los datos del pasaporte son obligatorios, pero no se proporcionan. | Si ispassportrequired era true en la respuesta de disponibilidad, incluya passport con passportnumber, expirydate y country para cada viajero. |
| 400 - Token no válido | El cabinavailabilitytoken no es válido o ha caducado. | Ejecute una nueva verificación de disponibilidad. Los tokens tienen una ventana de validez limitada. |
| 400 - No coincide el recuento de pasajeros | El número de entradas en traveler_info no coincide con el recuento de pasajeros de la búsqueda original. | Asegúrese de que la longitud de la matriz sea igual a adults + children + infants. |
| 422 - Token caducado | El token de disponibilidad ha caducado desde su emisión. | Solicite una nueva verificación de disponibilidad y continúe con el token nuevo. |
Confirmar / Cancelar Reserva
| Error | Causa | Resolución |
|---|---|---|
| 404 - Reserva no encontrada | El bookingid no existe. | Verifique que el ID de la reserva sea correcto. |
| 400 - Estadoreserva no válido | El valor booking_status no es "Confirm" o "Cancel". | Utilice exactamente "Confirm" o "Cancel" (distingue entre mayúsculas y minúsculas). |
| 422 - Reserva ya cancelada | Intentar confirmar o modificar una reserva cancelada. | La reserva no se puede modificar una vez cancelada. Crea una nueva reserva. |
| 422 - Reserva ya emitida | Intentando confirmar una reserva ya emitida. | La reserva ya está confirmada. No se necesita ninguna otra acción. |
| 422 - Se excedió el límite de tiempo del ticket | El límite de tiempo del boleto ha pasado para una reserva BOOKED. | La reserva ha sido liberada. Crea una nueva reserva. |
Obtener detalles de la reserva
| Error | Causa | Resolución |
|---|---|---|
| 400 - Falta bookingid | Falta el parámetro de consulta bookingid. | Incluya booking_id como parámetro de consulta. |
| 404 - Reserva no encontrada | No existe ninguna reserva con el ID proporcionado. | Verifique el ID de la reserva. |
Problemas comunes y solución de problemas
"Falta el ID de correlación x" en cada solicitud después de la función de autocompletar
El x-correlation-id se devuelve en los encabezados de respuesta (no en el cuerpo de la respuesta) de la llamada de autocompletar. Asegúrese de que su cliente HTTP capture los encabezados de respuesta y reenvíe el valor a solicitudes posteriores.
La búsqueda devuelve resultados vacíos
- Verificar que los códigos del aeropuerto de origen y destino sean códigos IATA válidos.
- Comprobar que la fecha de salida es futura.
- Intente ampliar sus filtros (elimine las restricciones de escalas o aerolíneas).
- Asegúrese de que
cabin_typecoincida con el inventario disponible para la ruta.
"Sesión no encontrada" en la verificación de disponibilidad
Las sesiones de búsqueda caducan después de un período de inactividad. Si ha pasado demasiado tiempo desde la búsqueda, ejecute una nueva búsqueda para obtener un cabinsearchsession_id nuevo.
"El token expiró" al crear una reserva
El cabinavailabilitytoken tiene una ventana de validez limitada. Complete la reserva inmediatamente después de la verificación de disponibilidad. Si el token caduca, vuelva a ejecutar la verificación de disponibilidad.
El estado de la reserva sigue siendo "TICKETINPROCESS"
La emisión de boletos puede tardar unos minutos en completarse. Sondee el punto final Obtener detalles de reserva a intervalos razonables (por ejemplo, cada 10 a 15 segundos) para verificar el estado final.
Penalizaciones por cancelación aplicadas inesperadamente
Revise las reglas tarifarias antes de cancelar. Utilice el punto final de reglas de tarifas para verificar si la tarifa se puede cancelar y qué sanciones se aplican por tipo de pasajero.
Mejores prácticas
- Capture siempre el
x-correlation-idde los encabezados de respuesta de autocompletar y páselo por todo el flujo. - Manejar la caducidad de los tokens con elegancia. Cree una lógica de reintento que vuelva a ejecutar las comprobaciones de disponibilidad cuando los tokens caduquen.
- Valide las entradas antes de enviar solicitudes. Verifique los formatos de fecha, los campos obligatorios y el recuento de pasajeros en el lado del cliente para reducir 400 errores.
- Implementar retroceso exponencial para errores 429, 500, 502 y 503.
- ID de correlación de registros. Incluya
x-correlation-iden sus registros para ayudar a Xeni a admitir problemas de seguimiento en todo el flujo.
Obtener ayuda
Si encuentra errores persistentes o comportamiento inesperado, comuníquese con el soporte de Xeni al customersupport@xeni.com con:- El x-correlation-id para la cadena de solicitud afectada
- La solicitud y la respuesta completas (con datos confidenciales redactados)
- El punto final y el método HTTP.
- Marcas de tiempo de cuando ocurrió el error.
Artículos relacionados
- Comenzando con la API de vuelos de Xeni: descripción general de la API y el flujo de reservas.
- Cómo buscar aeropuertos mediante Autocompletar: primer paso del flujo donde se obtiene el ID de correlación.