Manejo de errores

Desafortunadamente, no siempre sale todo bien! Es importante detectar y manejar todos los errores en forma adecuada.

Status codes

En caso de que ocurra un error, el status recibido será uno de los siguientes:

Code

Status

Significado

400

Bad Request

Petición inválida

401

Unauthorized

Las credenciales de acceso no son válidas

403

Forbidden

El recurso solicitado no esta dentro de los permitidos

404

Not found

La URI solicitada no corresponde a ningun recurso

405

Method Not Allowed

El método HTTP no está soportado

409

Conflict

El recurso que se intenta crear o modificar entra en conflicto con uno existente

415

Unsupported Media Type

El Content-Type del pedido no es soportado

500

Internal Server Error

Error del servidor

503

Service Unavailable

El servidor está limitando el acceso al recurso

Detalles del error

Como complemento, la respuesta contendrá un objeto error con una propiedad status coincidente con la del status HTTP y un type que indica el motivos específico del error.

Por ejemplo:

{
    "href": "/micuenta/contacts",
    "success": false,
    "error": {
        "status": 409,
        "type": "RESOURCE_EXISTS",
        "userMessage": "El pedido no puedo ser procesado ya que entra en conflicto con un recurso existente",
        "validationErrors": {
            "email": "Valor duplicado"
        }
    }
}

Los valores de type pueden ser los siguientes:

Type

Descripción

BAD_REQUEST

El pedido tiene una estructura inválida.

RESOURCE_EXISTS

El recurso que se intentó crear entra en conflicto con uno existente. Se indica en validationErrors los campos en conflicto.

UNSUPPORTED_MEDIA_TYPE

El formato de datos indicado no es soportado.

INTERNAL_ERROR

Ocurrió un error interno del servidor.

METHOD_NOT_ALLOWED

El método HTTP utilizado no es soportado por el recurso especificado.

NOT_FOUND

El recurso especificado no existe, puede ser porque el ID especificado no exista.

SERVICE_UNAVAILABLE

El recurso solicitado no esta disponible temporalmente, posiblemente debido a un exceso de carga.

UNAUTHORIZED

No se proporcionó token de autorización, o es inválido.

FORBIDDEN

No se dispone del permiso necesario para el recurso solicitado.

VALIDATION_ERROR

El pedido realizado contiene errores en uno o más campos, en validationErrors se indican los campos con errores.

ACCOUNT_REQUIRED

Se intentó realizar un login utilizando un email registrado en más de una cuenta, se debe repetir especificando la cuenta. En data se indican las cuentas posibles.

PASSWORD_EXPIRED

Se intentó realizar un login pero la contraseña esta expirada o debe ser renovada.

Última actualización