Notificaciones de Error


Utilizamos códigos de respuesta HTTP convencionales para indicar el éxito o el fracaso de una solicitud de API. En general, los códigos de la gama 2xx indican el éxito, los códigos de la gama 4xx indican un error que se dio por la información proporcionada (por ejemplo, se omitió un parámetro requerido, una falla en la carga de datos, etc.), y los códigos de la gama 5xx indican un error con nuestros servidores (estos son raros).



Unauthorized Request

Si el token o las credenciales no son válidos, o el código está expirado, o el usuario no está autorizado.
Status 401 Unauthorized.

Ejemplo

{
    "errors": [
        {
          "error_type": "UNAUTHORIZED",
          "error_message": "Invalid token."
        },
        {
          "error_type": "ACCESS_DENIED",
          "error_message": "Wrong credentials provided."
        },
        {
           "error_type": "EXPIRED_CODE_GRANT",
           "error_message": "The authorization code grant has expired."
        }
    ]
}


Resource Not Found

Si el recurso no existe en RD Station Status 404 not found.

Ejemplo

{
    "errors": {
        "error_type": "RESOURCE_NOT_FOUND",
        "error_message": "Lead not found."
    }
}


Invalid Content-Type Header

Si el Tipo de Contenido no se establece correctamente Status 415 Unsupported Media Type

Ejemplo

{
    "errors": {
        "error_type": "UNSUPPORTED_MEDIA_TYPE",
        "error_message": "The payload is in a format not supported by this method on the target resource."
    }
}


Malformed Body Request

Si el body request no está de acuerdo con el encabezado de Tipo de Contenido Status 400 Bad Request.

Ejemplo

{
    "errors": {
        "error_type": "BAD_REQUEST",
        "error_message": "Could not parse the body of the request according to the provided Content-Type."
    }
}


Invalid format

Si se envía un formato no válido para un atributo Status 400 Bad Request.

Ejemplo

{
    "errors": {
        "email": [
            {
                "error_type": "CANNOT_BE_NULL",
                "error_message": "email cannot be null."
            }
        ],
        "linkedin": [
            {
                "error_type": "INVALID_FORMAT",
                "error_message": "linkedin must use only letters, numbers, '.', '-' and '_'"
            }
        ],
        "name" : [
          { "error_type": "CANNOT_BE_BLANK", "error_message": "Can not be blank" }
        ]
    }
}


Uppercase Tags

Si se envían tags con caracteres mayúsculos:

Ejemplo

{
    "errors": {
        "tags": [
            {
                "error_type": "VALUES_MUST_BE_LOWERCASE",
                "error_message": "must not contain capital letters"
            }
        ]
    }
}


Invalid data type

Si se envía un tipo de datos no válido Status 422 Unprocessable Entity.

Ejemplo

{
    "errors": {
        "name": [
            {
                "error_type": "MUST_BE_STRING",
                "error_message": "Name must be string."
            }
        ]
    }
}


Read only fields

Al intentar actualizar un atributo disponible apenas para lectura Status 400 Bad Request.

Ejemplo

{
    "errors": {
        "error_type": "INVALID_FIELDS",
        "error_message": "Payload contains fields that cannot be modified: (available_for_mailing)"
    }
}


Inexistent fields

Al intentar actualizar un atributo que no existe Status 400 Bad Request.

Ejemplo

{
    "errors": {
        "error_type": "INVALID_FIELDS",
        "error_message": "Payload contains fields that do not exist: (attr)"
    }
}


Conflicting field

Cuando se hace uso del UPSERT como punto final del PATCH y se utiliza un campo para identificar el contacto, aparece de nuevo en la carga de solicitud Status 400 Bad Request

Ejemplo

{
    "errors": {
        "error_type": "CONFLICTING_FIELD",
        "error_message": "The payload contains an attribute that was used to identify the lead"
    }
}


Email already in use

Cuando se hace uso del PATCH por uuid como punto final del Contact y se utiliza un correo eletrónico ya existente Status 400 Bad Request.

Ejemplo

{
    "errors": {
        "error_type": "EMAIL_ALREADY_IN_USE",
        "error_message": "email already in use"
    }
}


Código de estado HTTP


Lista de posibles códigos de estado HTTP utilizados en nuestras API para representar los errores más comunes:

400 (Bad request) Malformed body request
401 (Unauthorized) Unauthorized request
404 (Not found) Resource Not Found
415 (Unsupported Media Type) Invalid Content-Type header
422 (Unprocessable Entity) Invalid Data type

Tipos de error


Los posibles tipos de error que darán una información más detallada para las solicitudes no válidas:

Tipos de error relacionados con la request


Error type Message
UNAUTHORIZED Invalid token.
BAD_REQUEST Could not parse the body of the request according to the provided Content-Type.
UNSUPPORTED_MEDIA_TYPE The payload is in a format not supported by this method on the target resource.
RESOURCE_NOT_FOUND The resource couldn't be found.

Tipos de error relacionados con la validación


Error type Message
CANNOT_BE_NULL Cannot be null
CANNOT_BE_BLANK Can not be blank
INVALID It is not valid
TAKEN Already in use
TOO_SHORT Is too short (minimum 0 characters)
TOO_LONG Is too long (maximum 0 characters)
EXCLUSION Already in use
INCLUSION It is not included in the list