Mensagens de erro


Usamos códigos HTTP convencionais nas respostas para indicar o sucesso ou a falha de uma solicitação da API. Em geral, os códigos no intervalo 2xx indicam sucesso, os códigos no intervalo 4xx indicam um erro que falhou dado a informação fornecida (por exemplo, um parâmetro obrigatório foi omitido, uma falha de carga, etc.) e os códigos no intervalo 5xx indicam um erro com nossos servidores (estes são raros).



Unauthorized Request

Se o token ou as credenciais forem inválidas, ou o code estiver expirado, ou o usuário não estiver autorizado Status 401 Unauthorized.

Exemplo

{
    "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

Se o recurso não existir no RD Station Status 404 not found.

Exemplo

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


Invalid Content-Type Header

Se o Content-Type não estiver configurado corretamente Status 415 Unsupported Media Type.

Exemplo

{
    "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

Se a solicitação do corpo for mal formada de acordo com o cabeçalho Content-Type Status 400 Bad Request.

Exemplo

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


Invalid format

Se um formato inválido para um atributo for enviado Status 400 Bad Request.

Exemplo

{
    "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

Se for enviado tags com caracteres maiúsculos:

Exemplo

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


Invalid data type

Se um tipo de dado inválido for enviado Status 422 Unprocessable Entity.

Exemplo

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


Read only fields

Ao tentar atualizar um atributo que é somente leitura Status 400 Bad Request.

Exemplo

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


Inexistent fields

Ao tentar atualizar um atributo que não existe Status 400 Bad Request.

Exemplo

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


Conflicting field

Ao usar o endpoint de PATCH UPSERT e um campo de Contato que identifica o Lead é usado corpo da requisição Status 400 Bad Request.

Exemplo

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


Email already in use

Ao usar o endpoint de PATCH por UUID de Contato e um e-mail de Lead já existente Status 400 Bad Request.

Exemplo

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


Códigos HTTP


Lista de possíveis códigos HTTP usados em nossas API para representar os erros genericamente:

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 erros


Os possíveis tipos de erro que darão feedback mais detalhado para pedidos inválidos:

Tipos de erros relacionados à requisições


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 erro relacionados à validação


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