IotHub
  1. Docs TALQ
IotHub
  • API
    • TALQ
      • Device Class
        • Create a Talq Device Class
        • Update Talq Device Class
        • Delete a Talq Device Class
        • Update a Talq Device Class
      • Device
        • Create a Talq Device
        • List Talq Devices
        • Modify a Talq Device
        • Update Talq Devices
        • Delete a Talq Device
        • Get a Talq Device
        • Modify a Talq Device patch
        • Update a Talq Device
        • Get a Talq Device Function
        • Get a Talq Device Attribute
      • Group
        • List Talq Groups
        • Get a Talq Group
      • Create a Talq Service
  • Docs TALQ
    • Visão Geral do Projeto
    • Processo de Inicialização - Bootstrap Process
    • API TALQ
    • API GUIA
    • Tratamento de Erros
    • Configurações da instância
    • Agendamentos
    • Configuração de logger
    • Gerenciamento de grupos
    • Alertas, Configurações de Alertas e Medições
  1. Docs TALQ

Tratamento de Erros

Erros de Negócio#

O sistema de tratamento de erros foi desenvolvido para fornecer mensagens padronizadas e informativas sobre erros de negócio e de validação.Esse tratamento é utilizado para gerenciar erros específicos(como conflitos de dados ou recursos não encontrados) e para informar o motivo do erro.
ValidationErrorsCode: erros de validação, quando ocorrem erros relacionados a inserção de informações inválidas em certos campos. Por exemplo: inserir um número de telefone em um campo que solicita um email válido.(listagem de erros de validação no tópico seguinte);
Erros de Recursos: erros relacionados a parâmetros inválidos, operações inválidas, entidades já existentes ou inexistentes, etc. Por exemplo: tentar adicionar um dispositivo com dados de um dispositivo já existente. (Listagem de erros de recursos nas respectivas documentações das APIs).
API TALQ
API GUIA

Erros de Validação#

O sistema de geração de erros foi desenvolvido para oferecer mensagens padronizadas e personalizadas para os erros de validação no sistema. Ele mapeia os erros encontrados nas validações de campos de entrada.
Grande parte dos erros possíveis já estão definidos, exemplo:
ARRAY_MUST_NOT_BE_EMPTY: O campo do tipo array não pode estar vazio.
FIELD_MAX_LENGTH_EXCEEDED: O campo ultrapassou o limite máximo de caracteres.
FIELD_MUST_BE_INTEGER: O campo deve conter um número inteiro.
Cada código de erro é representado por uma constante e mapeado para uma mensagem específica, isso permite uniformidade e padronização.
Por padrão, a mensagem de erro vai conter, o campo que contém o(s) dado(s) inválido(s), e dependendo do caso, o formato que o campo deveria seguir para aquele caso em específico.
A maioria das validações segue o seguinte formato:"Field {campoDeDados} must be {validacaoCampo}"
Em um contexto de cadastro de usuário, imagine que o email não está no formato esperado, foi passado no campo email o texto "123456789", o qual não é um email, logo é esperado a mensagem de erro:
"Field 123456789 must be a valid email", em português , "O campo 123456789 deve ser um email válido".
{
  "status": "error",
  "error": {
    "error_code": "INVALID_EMAIL_FORMAT",
    "message": "Field 123456789 must be a valid email",
    "field": "email"
  }
}

Listagem de Erros de Validação#

Código do ErroDescriçãoExemplo de Mensagem Retornada
ARRAY_MUST_NOT_BE_EMPTYO array (vetor) não deve ser vazioField {fieldName} must not be empty
FIELD_MAX_LENGTH_EXCEEDEDO campo ultrapassou o limite máximo de caracteresField {fieldName} must have at most {maxLength} characters
FIELD_MIN_LENGTH_NOT_METO campo não atinge o limite mínimo de caracteresField {fieldName} must have at least {minLength} characters
FIELD_MUST_BE_BOOLEANO campo deve ser um valor booleanoField {fieldName} must be a boolean
FIELD_MUST_BE_EMAILO campo deve conter um email válidoField {fieldName} must be a valid email
FIELD_MUST_BE_INTEGERO campo deve ser um número inteiroField {fieldName} must be an integer
FIELD_MUST_BE_NUMERICO campo deve ser um númeroField {fieldName} must be a number
FIELD_MUST_BE_PHONE_NUMBERO campo deve conter um número de telefone válidoField {fieldName} must be a valid phone number
FIELD_MUST_BE_STRINGO campo deve ser uma stringField {fieldName} must be a string
FIELD_MUST_NOT_BE_EMPTYO campo não deve estar vazioField {fieldName} must not be empty
INVALID_DATE_FORMATO campo deve conter uma data válida no formato especificadoField {fieldName} must be a valid date string in the format {dateFormat}
INVALID_URL_FORMATO campo deve conter uma URL válidaField {fieldName} must be a valid URL
NUMBER_MUST_BE_POSITIVEO campo deve ser um número positivoField {fieldName} must be a positive number
UNSUPPORTED_ENUM_VALUEO campo deve conter um valor válido do conjunto permitidoField {fieldName} must be one of the following enum values: {enumValues}
VALUE_ABOVE_MAXIMUMO valor do campo excede o limite máximo permitidoValue of field {fieldName} is above the maximum allowed ({maxValue})
VALUE_BELOW_MINIMUMO valor do campo é inferior ao limite mínimo permitidoValue of field {fieldName} is below the minimum allowed ({minValue})
FIELD_MUST_BE_ARRAYO campo deve ser um array (vetor)Field {fieldName} must be an array
FIELD_MUST_BE_UUIDO campo deve conter um UUID válidoField {fieldName} must be a valid UUID
FIELD_MUST_BE_DEFINEDO campo deve estar definidoField {fieldName} must be defined
FIELD_MUST_BE_OBJECTO campo deve ser um objetoField {fieldName} must be an object
Modified at 2025-03-13 17:28:53
Previous
API GUIA
Next
Configurações da instância