Validação de Chaves

A partir do GBDS 5 foram adicionadas novas configurações na API

Configuração
Valor Padrão

gbds.keyValidation.oneKeyOnly

false

gbds.keyValidation.keyFormat

false

gbds.keyValidation.inconsistentKeys

true

Comportamento

Validação de chave única

A API rejeitará qualquer transação que possua mais de uma chave (enroll, update, trusted enroll e trusted update)

Validação de formato de chave

A API rejeitará qualquer transação cujas chaves não passarem na validação de formato.

A API irá avaliar o formato na tabela gbds.key_format para cada ID de chave fornecida

A API irá checar os seguintes:

Tipo
Validação

CPF

Deve passar a validação de soma para CPF

TITULO

Deve passar a validação de soma para o título

REGEX

Deve passar o regex fornecido no campo regex

ALPHANUMERIC

Chave deve possuir apenas caracteres alfa numéricos

NUMERIC

Chave deve possuir apenas caracteres numéricos

ALPHABETIC

Chave deve possuir apenas caracteres alfabéticos

LENGTH

Caso seja configurado um tamanho mínimo/máximo, a chave terá seu tamanho validado

Chaves Inconsistentes

Quando essa configuração está ativada, a transação será rejeitada em enroll/update/trusted com chaves potencialmente inconsistentes quando uma atualização for executada

Casos de chaves inconsistentes:

  • Se o payload for fornecido com mais de uma chave e essas chaves coincidirem com mais de uma pessoa

IDs
Chaves no Payload
Pessoa 1 na Database
Pessoa 2 na Database

cpf

cpf-01

cpf-01

-

rg

rg-01

-

rg-01

  • Se o payload for fornecido com mais de uma chave e uma chave coincidir com a chave de uma pessoa mas essa pessoa possui qualquer outra chave com ID que coincide com outra chave no payload, mas com valor diferente.

IDs
Chaves no Payload
Pessoa na Database

cpf

cpf-01

cpf-01

rg

rg-01

rg-02

O id "rg" coincide no payload e na pessoa na database, mas ambos tem valores diferentes

Com a configuração desativada, a transação acima irá gerar uma exceção como ocorre no GBDS 4

Atualizado

Isto foi útil?