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."
},
{
"error_type": "INVALID_REFRESH_TOKEN",
"error_message": "The provided refresh token is invalid or was revoked."
}
]
}
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 |