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