Skip to main content

Tipos e Formatos Comuns

Camada: Domínio — Tipos de dados, formatos e enumerações reutilizados entre entidades. Sempre que um campo de entidade referenciar um formato, ele aponta para este documento.


Telefone — Formato E.164

O padrão internacional E.164 é o único formato aceito para campos de telefone no sistema.

Estrutura

+[código do país][código de área][número]
ParteDescriçãoExemplo
+Prefixo obrigatório+
Código do país1 a 3 dígitos (Brasil = 55)55
Código de área (DDD)2 dígitos, sem zero à esquerda11
Número8 ou 9 dígitos (sem traços ou espaços)912345678

Exemplos válidos

Número digitadoFormato E.164 armazenado
(11) 91234-5678+5511912345678
(21) 3456-7890+5521345678990
+55 11 9 1234-5678+5511912345678

Regras de validação

  • Comprimento total: mínimo 8, máximo 15 dígitos (sem o +).
  • O campo nunca é armazenado com espaços, traços ou parênteses.
  • A normalização para E.164 é responsabilidade do backend no momento do cadastro — o frontend pode aceitar entrada livre com máscara.
  • Números inválidos (ex: DDDs inexistentes) devem ser rejeitados na validação.

Referências entre entidades

Os seguintes campos usam este formato:

  • Usuario.telefone
  • Lead.telefone
  • Cliente.telefone

CPF / CNPJ

TipoFormato de entradaFormato armazenadoValidação
CPF000.000.000-00 ou 00000000000Somente dígitos, 11 charsDígito verificador obrigatório
CNPJ00.000.000/0000-00 ou 00000000000000Somente dígitos, 14 charsDígito verificador obrigatório
  • Armazenados sem máscara no banco de dados.
  • A exibição com máscara é responsabilidade do frontend.
  • CPF/CNPJ inválido (dígito verificador errado ou sequência conhecida como 111.111.111-11) deve ser rejeitado.

Datas e Timestamps

TipoFormatoExemplo
Data simples (date)ISO 8601YYYY-MM-DD2024-03-15
Data e hora (timestamp)ISO 8601 com timezone UTC — YYYY-MM-DDTHH:mm:ssZ2024-03-15T14:30:00Z
  • Todas as datas são armazenadas em UTC no banco.
  • A conversão para o fuso horário do usuário é feita no frontend.

Valores Monetários

CampoTipoArmazenamentoExibição
Preços, mensalidades, descontosdecimal2 casas decimais, ex: 1250.90R$ 1.250,90 (formatação no frontend)
  • Nunca armazenar como string ou com símbolo de moeda.
  • Cálculos de desconto usam percentual (float, ex: 0.05 para 5%).

Enums Globais (Status Padrão)

Vários status seguem o mesmo vocabulário em todo o sistema:

ValorSignificado
ATIVOOperacional, sem restrições
INATIVODesativado administrativamente, sem exclusão de dados
SUSPENSOBloqueio temporário por regra de negócio (ex: inadimplência)
CANCELADOEncerramento definitivo, dados preservados para auditoria

Entidades específicas podem ter status adicionais além destes — consultar o documento da entidade correspondente.


UUID

Todos os identificadores primários (id) do sistema são UUID v4.

  • Gerados pelo backend no momento da criação.
  • Nunca reutilizados, mesmo após exclusão lógica.
  • Representados como string no formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.