Transfers

Errores de Transfers

Envelopes de error, el catálogo completo de errores y las respuestas exitosas que parecen fallos.

Compartir

Envelopes de error, el catálogo completo de errores y las respuestas exitosas que parecen fallos.

Error de aplicación

json
json
{
  "statusCode": 409,
  "code": "transfer_price_changed",
  "message": "The transfer price changed. Request pricing again"
}

Discrimina por code, no por message: los mensajes están localizados y pueden reescribirse.

Error de validación

Cuando la petición en sí está mal formada, message es un array de problemas en lugar de un único string.

json
json
{
  "statusCode": 400,
  "message": [
    "numPassengers must not be less than 1",
    "latitude and longitude must be sent together"
  ],
  "error": "Bad Request"
}

Errores generales

HTTPCódigoSignificadoAcción recomendada
400El body, la query o el path son inválidos, o incluyen una propiedad desconocida.Corrige la petición usando el array message.
400transfer_invalid_languageIdioma no soportado.Usa un valor de idioma documentado.
400transfer_invalid_currencyMoneda no soportada.Usa una moneda soportada.
400transfer_currency_mismatchLa moneda difiere de la oferta o la cotización.Reutiliza la moneda del paso anterior.
400transfer_location_not_foundNo se pudo resolver una ubicación.Añade city o zipcode, o envía place ID o coordenadas.
429transfer_provider_errorRate limit temporal.Reintenta con backoff exponencial.
502transfer_provider_errorLa petición no pudo completarse.No asumas éxito; conserva tus identificadores y consulta la reserva.
503El precio no pudo confirmarse en este momento.Reintenta más tarde; no reserves ni cobres.

Tokens, pricing y booking

HTTPCódigoSignificado
400transfer_invalid_booking_tokenEl token expiró, fue modificado o pertenece a otra oferta.
400transfer_invalid_pricing_tokenEl pricing token es inválido o inconsistente con la petición.
400transfer_pricing_requiredLa petición no incluye pricing token.
400transfer_invalid_amenitiesKeys de amenities duplicadas, vacías o no disponibles.
400transfer_flight_info_requiredLa oferta exige airline y flightNumber.
400transfer_return_flight_info_requiredUn round trip exige los datos del vuelo de retorno.
409transfer_price_changedEl precio cotizado ya no es válido.
409transfer_booking_in_progressLa reserva no pudo aceptarse para este pricing token.
410transfer_pricing_expiredLa cotización expiró antes de crear la reserva.

Reservas

HTTPCódigoSignificado
400transfer_booking_not_foundLa consulta no incluyó exactamente un identificador.
502transfer_provider_errorNo se pudo consultar, crear, cambiar, trackear o cancelar una reserva.

Respuestas exitosas que no son errores

Varios endpoints responden 200 con un resultado negativo. Son resultados, no fallos, y hay que leerlos del body:

  • isValid: false en la verificación de vuelo: el vuelo no encaja con la hora de pickup.
  • cancelled: false o refunded: false en la cancelación.
  • status: "failed" en el booking o en la confirmación de cambio.
  • Un array flights vacío en la búsqueda de vuelos.
  • Un objeto de respuesta vacío en tracking, antes de que empiece el viaje.

Lee siempre el body de un 200 antes de decirle al viajero que algo salió bien.