Mensajes de respuesta

Aspen, luego de recibir, interpretar y procesar un mensaje de solicitud, genera un mensaje de respuesta HTTP

El elemento StatusCode en la respuesta, es el código de resultado de la operación, que consiste en un grupo de 3 dígitos con el resultado de la solicitud. Los códigos generados por Aspen acogen la definición del protocolo HTTP definido en el RFC 2616. El valor del campo StatusCode intenta proporcionar una descripción textual del resultado de la operación dentro de un dominio de valores. StatusCode se puede utilizar en procesos de automatización, mientras que ReasonPhrase intenta proporcionar un mensaje descriptivo enfocado en el razonamiento humano.

El primer dígito en StatusCode define la clase de respuesta. Los últimos dos dígitos no tienen ninguna función de categorización. Hay 5 posibles valores para el primer dígito:

Grupo Descripción Acción necesaria
2xx OK La acción se recibió y se procesó de forma exitosa. No se requiere ninguna acción adicional.
3xx Redirección Se deben tomar medidas adicionales para completar la solicitud. El recurso (Url) solicitado se ha movido a otro lugar. Se debe redirigir la solicitud a la nueva Url.
4xx Error de cliente La solicitud contiene datos inválidos o faltan datos. Los datos enviados por el cliente no permiten procesar la solicitud. Se deben corregir los datos de la solicitud y volver a intentar.
5xx Error de servidor El servidor no pudo procesar la solicitud. Se requieren correcciones del lado del servidor.

Las aplicaciones cliente no tienen que comprender el significado de todos los códigos de estado StatusCode, aunque tal comprensión es deseable. Sin embargo, las aplicaciones DEBEN procesar al menos el primer dígito de StatusCode, y tratar cualquier respuesta no reconocida como equivalente al código de estado x00 de ese dominio. Por ejemplo, si el cliente recibe un código de StatusCode 431, puede asumir con seguridad que hubo un problema con su solicitud y tratar la respuesta como si hubiera recibido un StatusCode 400.

Campos de encabezado personalizado en la respuesta

Aspen incluye en cada respuesta dos campos personalizados así:

Key Value
X‑PRO‑Response‑Help Contiene la Url donde se describe la razón por la que no se pudo procesar una solicitud. Se incluye en la respuesta para cualquier solicitud con un status diferente a 2xx.
X‑PRO‑Response‑Time Contiene una cadena en formato minutos:segundos:milisegundos (mm:ss:fff) con el tiempo que tomó procesar la solicitud. No se incluye el tiempo de latencia.

Mensaje de repuesta comunes

Un código de respuesta HTTP es generado por Aspen en respuesta a una solicitud del cliente hecha al servidor.

Una respuesta en el grupo 2xx indica el procesamiento satisfactorio de la solicitud. Una respuesta en el grupo 4xx indica que los parámetros proporcionados para completar la operación no son válidos o están incompletos. Para estos casos, revise el mensaje en ReasonPhrase. Le ayudará a comprender el porqué de la situación.

Identificadores en mensajes de respuesta

La cabecera personalizada de respuesta X-PRO-Response-Help puede contener alguno de los valores mencionados en el siguiente sección. Nuevamente el analisis del mensaje en ReasonPhrase le ayudará a comprender el porqué de la situación.

AppKeyDoesNotExist

  • StatusCode: 400
  • Reason: Necesita utilizar el identificador de aplicación AppKey suministrado.
  • EventId: 20005

AppKeyIsDisabled

  • StatusCode: 403
  • Reason: El identificador de aplicación AppKey suministrado no está habilitado en el sistema.
  • EventId: 20006

BadGateway

  • StatusCode: 502
  • Reason: Aspen no ha podido redirigir la solicitud al sistema responsable de procesarla. Pónganse en contacto con nuestro equipo de monitoreo.
  • EventId: 15859, 40030, 40031, 40032

BadRequest

  • StatusCode: 400
  • Reason: La solicitud no pudo ser procesada por el servidor. Los datos enviados por el cliente no son válidos. El campo ReasonPhrase contiene un mensaje que describe de forma detallada los datos que no pudieron ser procesados.
  • EventId: > dinámico, dependiente de las validaciones

DecodeAuthHeaderFailed

  • StatusCode: 400
  • Reason: La información suministrada en el Payload de la cabecera de autenticación X-PRO-Auth-Payload no es válida. Asegúrese de utilizar los valores de AppKey y AppSecret proporcionados
  • EventId: 20007

EpochNotSatisfiable

  • StatusCode: 416
  • Reason: El valor de Epoch en la solicitud está muy adelante en el futuro o muy atrás en el pasado. Aspen permite un 'desfase' de hasta 12 horas en este campo. Corrija el valor y vuelva a intentar.
  • EventId: 15851

ForbiddenScope

  • StatusCode: 403
  • Reason: Su AppKey ha sido deshabilitado o no tiene permisos para llevar a cabo la operación. Pónganse en contacto con nuestro equipo comercial.
  • EventId: 1000478

UnauthorizedScope

  • StatusCode: 401
  • Reason: Su AppKey no tiene permisos para llevar a cabo la operación. Pónganse en contacto con nuestro equipo comercial.
  • EventId: 1000479

GatewayTimeout

  • StatusCode: 504
  • Reason: Aspen no ha podido redirigir la solicitud al sistema responsable de procesarla. Pónganse en contacto con nuestro equipo de monitoreo.
  • EventId: 15859

InternalServerError

  • StatusCode: 500
  • Reason: Algo ha fallado en el servidor, pero no podemos ser más específicos sobre cuál es el problema exacto. Pónganse en contacto con nuestro equipo de monitoreo.
  • EventId: 15841

ItemAlreadyExist

  • StatusCode: 409
  • Reason: Se está intentado procesar un elemento que ya existe en el sistema. El campo ReasonPhrase contiene un mensaje que describe el elemento.
  • EventId: Dependiente del elemento.

ItemNotFound

  • StatusCode: 404
  • Reason: Ninguno.
  • EventId: Ninguno.

MalformedVersion

  • StatusCode: 400
  • Reason: La cabecera personalizada en la solicitud X-PRO-Auth-Version contiene un valor no soportado.
  • EventId: 99001.

MissingCustomHeader

  • StatusCode: 400
  • Reason: Falta alguna de las cabeceras de autenticación. El campo ReasonPhrase contiene un mensaje que describe la cabecera faltante.
  • EventId: 15842.

NonceAlreadyProcessed

  • StatusCode: 409
  • Reason: Está intentando procesar el valor de un Nonce que ya fue procesado. Recuerde que cada solicitud debe llevar un identificador unívoco. Cambie el valor de Nonce por uno que no se haya procesado y vuelva a intentar.
  • EventId: 99003.

TokenExpired

  • StatusCode: 401
  • Reason: El valor del token suministrado para el proceso de autenticación ya expiro. Debe generar uno nuevo.
  • EventId: 15847.

Unauthorized

  • StatusCode: 401
  • Reason: El proveedor de autenticación del sistema no pudo procesar la solicitud. El campo ReasonPhrase contiene un mensaje que describe el error que encontró.
  • EventId: 10746.

PinNumberNotAcceptable

  • StatusCode: 406
  • Reason: El Formato del PIN que se intenta establecer no cumple con alguna de las políticas. El campo ReasonPhrase contiene un mensaje que describe el error que encontró.
  • EventId: 15860.

UnsupportedRequestedVersion

  • StatusCode: 400
  • Reason: La cabecera personalizada en la solicitud X-PRO-Auth-Version contiene un valor no soportado.
  • EventId: 99005.

UpgradeSecretRequired

  • StatusCode: 426
  • Reason: Se requiere la actualización del secreto o clave de la aplicación que se utiliza para firmar las solicitudes.
  • EventId: 20009.

SecretNotAcceptable

  • StatusCode: 406
  • Reason: El formato del secreto que se intenta establecer para la aplicación, no cumple con alguna de las políticas. El campo ReasonPhrase contiene un mensaje que describe el error que encontró.
  • EventId: 15864.

HistoricalCleanerError

  • StatusCode: 504
  • Reason: Error al ejecutar la tarea de limpieza de la base de datos. Se intentará de nuevo en unos minutos.
  • EventId: 99004

SaveTraceError

  • StatusCode: 504
  • Reason: No se pudo guardar la información de seguimiento de la solicitud. Se intentará de nuevo en unos minutos.
  • EventId: 99006

AuthProviderError

  • StatusCode: 500
  • Reason: El servicio de autenticación no está generando respuestas.
  • EventId: 30566, 30567, 30568, 30569, 30570

NotImplemented

  • StatusCode: 501
  • Reason: No se ha establecido la configuración para el envió de mensajes de activación. Necesita establecer la configuración en el archivo de configuración del ApiKey. Pónganse en contacto con nuestro equipo de monitoreo.
  • EventId: 20099

ServiceUnavailable

  • StatusCode: 503
  • Reason: El sistema encargado de procesar la solicitud no está respondiendo. Pónganse en contacto con nuestro equipo de monitoreo.
  • EventId: 20100

ValidateIdentityFailed

  • StatusCode: 417
  • Reason: El código de activación no es valido, ha excedido el número de intentos permitidos, necesita esperar algunos segundos para intentar de nuevo o no se encontraron datos con los valores proporcionados. El campo ReasonPhrase contiene un mensaje que describe de forma detallada el resultado.
  • EventId: 15868

FinancialUnauthorized

  • StatusCode: 406
  • Reason: El sistema autorizador rechazo la transacción. El campo ReasonPhrase contiene un mensaje que describe de forma detallada el resultado.
  • EventId: 87000

ExpectationFailed

  • StatusCode: 417
  • Reason: No se pudo entregar la notificación del token. El campo ReasonPhrase contiene un mensaje que describe de forma detallada el resultado.
  • EventId: 20101

NotProcessable

  • StatusCode: 510
  • Reason: No pudimos procesar la solicitud. El campo ReasonPhrase contiene un mensaje que describe de forma detallada el problema encontrado. Generalmente se trata de parametrización inconsistente. El Administrador del sistema ya fue informado.
  • EventId: 20102

DeprecatedUsage

  • StatusCode: 426
  • Reason: Ha finalizado el ciclo de vida del producto. Por favor utilice la nueva versión.
  • EventId: 355426