Verificação de identidade
Verificação de identidade
A API cria uma prova independente de conta para proteger redefinição de senha, reset de segundo fator, transação de alto valor ou outra ação sensível. O backend do banco cria a jornada para um CPF, entrega o link ao correntista e consome a aprovação uma única vez antes de concluir a ação.
Esta superfície é para a credencial master M2M do internet banking. A credencial filha, delegada para uma única conta, não pode criar, consultar nem consumir verificações. Nunca envie a master ao navegador ou ao app.
Pré-requisitos
- token
client_credentialsda master; - host
https://client.api.corpx.come os três headers de assinatura; X-Tenant-Id;- escopo
identity_verification.manage; - feature
identity_verificationhabilitada para criar jornadas; callbackUripreviamente cadastrada, com comparação exata.
O download de evidências usa o escopo dedicado kyc.read.
Criar
document é um CPF de 11 dígitos. referenceId é obrigatório e identifica a
ação no seu sistema. As finalidades aceitas são password_reset,
second_factor_reset, high_value_transaction e sensitive_action.
displayMessage é texto simples opcional de até 240 caracteres.
ttlMinutes tem padrão 30 e consumeTtlMinutes, 10; ambos têm máximo 60.
Não envie Idempotency-Key: cada POST abre intencionalmente uma prova nova e
consome uma unidade da cota quando responde 201.
Resposta 201:
A cota fixa é de 10 respostas 201 por tenant por mês-calendário BRT,
somando todas as jornadas do internet banking. Cada 201 conta e nunca é
estornado, mesmo se a jornada falhar, expirar ou não for consumida. Cota fechada
responde HTTP 429 com identity_verification_monthly_limit_exceeded; o erro
rate_limited também usa HTTP 429, mas é um limite de tráfego separado.
Consultar
A resposta inclui purpose, referenceId, document, provider,
expiresAt, failureReason, completedAt, consumableUntil e consumedAt
quando aplicáveis. verificationLink só existe em PENDING.
Consumir
A finalidade e a referência precisam coincidir exatamente com a criação. A
primeira chamada válida grava consumedAt. Repetir o mesmo id e o mesmo corpo é
idempotente; finalidade/referência diferentes, consumo concorrente, estado não
aprovado ou janela vencida respondem 409.
Consuma no backend imediatamente antes da ação protegida. Ver APPROVED no
GET não reserva a prova e, sozinho, não impede reutilização concorrente.
Callback e webhook
A callbackUri só devolve o navegador. Ela precisa ser idêntica à URI
cadastrada — sem wildcard, prefixo ou normalização — e não prova o resultado.
identity.verification.completed é enviado para APPROVED, FAILED e
EXPIRED, com X-Signature. Valide os bytes brutos e deduplique pelo id do
envelope. Exemplo completo em
Webhooks da conta.
Evidências
GET /v1/identity-verifications/{verificationId}/artifacts exige kyc.read no
lugar do escopo de gerenciamento e a feature kyc_artifacts. Assine a chamada
como qualquer outra no host client. O retorno pode conter biometria e evidências
do provedor; não registre URLs nem conteúdo em logs.