NO confíe en el texto coincidente de los mensajes de excepción para evaluar un procedimiento.

  1. Evalúe la naturaleza de la excepción (manejo, categoría, mensaje)
  2. Evalúe que la excepción no se produjo debido a errores en su solicitud
    • Revise las solicitudes de ejemplo bien formalizadas para asegurarse de que está enviando todos los elementos y valores correctamente.
    • La Hoja de trabajo de depuración le ayudará a la hora de comparar su solicitud con una solicitud bien formalizada. Utilice la Caja de pruebas XML para enviar exactamente la misma solicitud, copiar la cadena de la solicitud XML y comparar cada uno de los elementos con los suyos.
  3. Determine un curso de acción basado tanto en el manejo y la categoría del mensaje de error como en las acciones anteriores del usuario.
    • ¿Es necesario que el usuario seleccione otra propiedad?
    • ¿Hace falta que el usuario corrija los datos de entrada?
    • Informe al usuario de que un agente se pondrá en contacto con él para realizar un seguimiento de la solicitud de reservas cuando aparezca handling=AGENT_ATTENTION (manejo=ATENCIÓN DE AGENTE)

Dado que los mensajes de error del proveedor cambian sin previo aviso y que estos sistemas no los publican, no existe ninguna lista completa de mensajes.

  • Registre y recopile los mensajes de error a medida que se produzcan de modo que pueda crear su propia base de datos de errores.
  • Al recopilar los elementos de manejo, categoría y mensaje en su propio sistema, al final podrá gestionar todos los errores a medida que se produzcan, incluido cualquier mensaje nuevo que aparezca de los recursos del proveedor.

Elemento de respuesta común

Elemento Tipo Descripción
customerSessionId (ID de sesión del cliente) cadena Este valor aparece para realizar un seguimiento de la actividad de las sesiones del usuario con el fin de recopilar estadísticas, conductas de usuario y tráfico. Incluya este valor en todas las solicitudes que vaya a reenviar para registrar la sesión de un usuario concreto.
EanWsError (error del sitio web de EAN) objeto de EanWsError (error del sitio web de EAN) Nodo de excepción raíz

EanWsError (error del sitio web de EAN)

Elemento Tipo Descripción
itineraryId largo El ID asociado a un itinerario de EAN. Este valor es necesario en toda la correspondencia con los agentes del servicio de atención al cliente en las reservas.  Los ID de itinerario solo se devuelven en las solicitudes de reserva. Los errores de validación de datos en las solicitudes de reserva no devuelven un ID de itinerario.  Si se devuelve alguno, envíelo siempre al cliente como número de referencia.  Si no se devuelve es porque el error no llegó tan lejos como para generar un ID de itinerario de referencia.
  • Si se devuelve -1, significa que no se creó ningún registro de itinerarios y que no existe ningún registro de la solicitud.
  • Si se devuelve un ID de itinerario, deberá utilizarse en toda la correspondencia con el servicio de atención al cliente sobre la reserva.
  • Se devolverá un itinerario en una solicitud de reserva fallida si se puede registrar la incidencia en el sistema.
  • En algunos casos, como el de los errores de validación de la tarjeta de crédito, el ID de itinerario se puede incluir en las solicitudes de seguimiento para solucionar la reserva fallida, lo que sobrescribirá el itinerario fallido con uno correcto.  Esto evitará una cadena de itinerarios fallidos para el mismo cliente.  Al enviar el ID de itinerario en una solicitud de reserva, tenga la precaución de que no se sobrescriban por error las reservas correctas.
  • Si también aparece handling=AGENT_ATTENTION (manejo=ATENCIÓN DE AGENTE), entonces el error quedará marcado para que un agente realice un seguimiento. En cambio, el elemento handling= UNKNOWN (manejo=DESCONOCIDO) o UNRECOVERABLE (IRRECUPERABLE) indica que se debe volver a enviar una nueva solicitud de reserva.
  • La categoría devuelta indica si se puede volver a intentar la misma reserva (fallo de clave de presupuesto) O BIEN si se debe seleccionar una nueva propiedad (P. EJ.: Sold Out (completo).
  • Si se vuelve a enviar la misma solicitud, actualice los datos de la habitación y muestre todas las tarifas modificadas al usuario para que las vuelva a seleccionar. A continuación, envíe los datos de la habitación actualizados en la reserva que se ha vuelto a solicitar.
exceptionConditionId (ID de condición de excepción) entero solo para referencia interna
presentationMessage (Mensaje de presentación) cadena mensaje de error de presentación devuelto
verboseMessage (mensaje largo) cadena mensaje de error detallado más específicamente
manejo objeto de errorHandling (manejo de errores) valor que indica la gravedad de la excepción y cómo se puede manejar
categoría objeto de errorCategory (categoría de error) valor que indica la naturaleza de la excepción o la razón por la que se ha producido
ErrorAttributes (atributos de error)
objeto de ErrorAttributes (atributos de error) datos adicionales sobre el error. Este elemento normalmente devuelve datos para el procesamiento de tarjetas de crédito con código de seguridad o la corrección de errores de ubicaciones múltiples.
ServerInfo (información del servidor) objeto de ServerInfo (información del servidor)

(minRev 7 y superior)

Atributos:

  • serverTime (hora del servidor) = hora formateada legible actual
  • timestamp (marca de hora) = la hora actual en segundos
    • Cuando reciba un error de autenticación al utilizar la autenticación por firma, vuelva a enviar la solicitud utilizando este valor para crear el parámetro sig (firma). Debido a las diferencias entre las zonas horarias, a algunos afiliados no les coincidirá la hora con exactitud cuando generen un valor de firma (sig). Utilice este valor para sincronizar la hora con nuestro servidor al crear un valor de firma (sig) y autenticarlo con este método.
  • instance (instancia) = una instancia interna del servidor
Ejemplo: <ServerInfo serverTime="19:11:13.082-0500" timestamp="1311725473" instance="48" />

errorHandling (manejo de errores)

Elemento Descripción
UNKNOWN (DESCONOCIDO) No se pudo enviar una reserva correcta y se desconoce la razón del fallo.
RECOVERABLE (RECUPERABLE) Normalmente indica un error del usuario, como entradas incorrectas que no obtendrán la validación. Para solucionarlo, el usuario solo tiene que corregir el error de la entrada del campo tal y como se indica en el mensaje. También podría tratarse de un error recuperable si se reenvía la reserva con los valores actualizados.
UNRECOVERABLE (IRRECUPERABLE) El error producido no se puede corregir ni por el usuario ni por un agente de servicio de atención al cliente. Para enviar esta reserva, el usuario deberá volver atrás y empezar de nuevo o actualizar la búsqueda. Este error se produce con incidencias de solicitud no válidas, datos inutilizables o por problemas del proveedor.
AGENT_ATTENTION (ATENCIÓN DE AGENTE)

Hemos podido registrar el itinerario, sin embargo, debido a la naturaleza del error o del intento de reserva, un agente debe:

  • realizar un seguimiento para completar manualmente la reserva
  • verificar una reserva que se ha marcado como fraude
  • notificar al usuario que se produjo un error y preguntarle si le gustaría seguir con el procedimiento de solicitud de reserva. En muchos casos, el usuario debe volver atrás en el sitio web para intentar realizar de nuevo la reserva en línea.

errorCategory (categoría de error)

Elemento Descripción
UNKNOWN (DESCONOCIDO) fallo en el proceso desconocido
EXCEPTION (EXCEPCIÓN) error no identificado
CREDITCARD (TARJETA DE CRÉDITO) error de procesamiento de tarjetas de crédito
DATA_VALIDATION (VALIDACIÓN DE DATOS) error de entrada de usuario
AUTHENTICATION (AUTENTICACIÓN) acceso no autorizado, no se pueden autenticar los permisos de acceso
UNABLE_TO_PROCESS_REQUEST (NO SE PUEDE PROCESAR LA SOLICITUD) no se puede procesar la solicitud
INVALID_PROPERTY_ID (ID DE PROPIEDAD NO VÁLIDO) ID de hotel no válido o ID de hotel inactivo
RESULT_NULL (RESULTADO NULO) sin resultados
PROCESS_FAIL (FALLO EN EL PROCESO) fallo en el proceso
SOLD_OUT (COMPLETO) completo
RESTRICTED_CHECKIN (REGISTRO DE ENTRADA RESTRINGIDO) las fechas o el número de noches no cumplen las normas del registro de entrada restringido
ONEROOM (UNA HABITACIÓN)  
SUPPLIER_COMMUNICATION (COMUNICACIÓN DEL PROVEEDOR) fallo de comunicación con el proveedor, problema de conectividad del proveedor
DATA_PARSE_RESULT (RESULTADO DE ANÁLISIS DE DATOS) problema de análisis de datos
CORPORATE_RATE (TARIFA CORPORATIVA) es necesario el ID corporativo para la tarifa
RES_NOT_FOUND (RESERVA NO ENCONTRADA) reserva no encontrada
RES_CANCELLED (RESERVA CANCELADA) reserva cancelada
HRN_QUOTE_KEY_FAILURE (FALLO DE CLAVE DE PRESUPUESTO) fallo de clave de tarifa, obtenga una nueva clave de tarifa actualizando la búsqueda
HRN_QUOTE_KEY_INVALID (CLAVE DE PRESUPUESTO NO VÁLIDA) clave de tarifa no válida, obtenga una nueva clave de tarifa actualizando la búsqueda
SYS_OFFLINE (SISTEMA DESCONECTADO) sistema del proveedor fuera de línea o apagado
SUPPLIER_INITITIALIZATION (INICIALIZACIÓN DE PROVEEDOR) no se puede conectar con el proveedor
SUPPLIER_ROUTER_EXCEPTION (EXCEPCIÓN DEL ENRUTADOR DEL PROVEEDOR) no se puede conectar con el proveedor
EJB_CREATE_EXCEPTION (CREAR EXCEPCIÓN EJB) excepción de reserva
FINDER_EXCEPTION (EXCEPCIÓN DE BUSCADOR) excepción de proveedor
BML_FAIL (FALLO DE BML) excepción de proveedor
PRICE_MISMATCH (DISCREPANCIA DE PRECIOS) cambio de tarifa, obtenga una nueva tarifa actualizando la búsqueda o seleccionando una nueva habitación o propiedad
CSV_FAIL (FALLO DE CSV) valor de seguridad de tarjeta de crédito incorrecto
PAYER_AUTH_REQUIRED (AUTORIZACIÓN DEL PAGADOR OBLIGATORIA) La tarjeta de crédito requiere el código de seguridad del proceso de tarjeta de crédito VBV/3DS tal y como se indica en la solicitud de la reserva y en los procedimientos de reserva de prueba.
PAYER_AUTH_FAILED (FALLO DE AUTORIZACIÓN DEL PAGADOR) código de seguridad incorrecto o fallo del proceso del código de seguridad
ITINERARY_ALREADY_BOOKED (ITINERARIO YA RESERVADO) itinerario existente ya encontrado en el sistema

ErrorAttributes (atributos de error)

Elemento tipo
entrada objeto de entrada
entrada
clave objeto de errorAttributesMap (mapa de atributos de errores)
valor cadena

errorAttributesMap (mapa de atributos de errores)

Elemento Descripción
CC_TRANSACTIONSTATUS (ESTADO TRANSACCIÓN TC)  
TRANSACTIONSTATUSMSG (MENSAJE DE ESTADO DE LA TRANSACCIÓN)  
PA_TRANSACTIONSTATUS (ESTADO TRANSACCIÓN AP) datos VBV / 3DS
XID datos VBV / 3DS
ACS_URL (URL ACCESO)  
datos VBV / 3DS
PA_REQ (REQ. AP) datos VBV / 3DS
AUTH_CODE (CÓDIGO DE AUTORIZACIÓN) datos VBV / 3DS
PAS_TRANSACTION_ID (ID TRANSACCIÓN PAS) datos VBV / 3DS
SUPPLIER_ERROR_CODE (CÓDIGO DE ERROR DE PROVEEDOR)  

Excepción de ejemplo XML

<ns2:HotelRoomAvailabilityResponse size="0">
  <EanWsError>
    <itineraryId>-1</itineraryId>
    <handling>RECOVERABLE</handling>
    <category>DATA_VALIDATION</category>
    <exceptionConditionId>-1</exceptionConditionId>
    <presentationMessage>TravelNow.com cannot service this request.</presentationMessage>
    <verboseMessage>Data in this request could not be validated: Specified arrival date is prior to today's date.</verboseMessage>
    <ServerInfo serverTime="19:11:13.082-0500" timestamp="1311725473" instance="48" />
  </EanWsError>
  <customerSessionId>0ABAA825-0BE2-8912-CF12-59D0D9032F8</customerSessionId>
</ns2:HotelRoomAvailabilityResponse>