Criar conta grátis

Documentação
Ver em Markdown

Reuso de Documento

O módulo doclink existe para o titular que já se verificou com você não precisar fotografar o documento de novo. Ele compara a selfie de agora com a selfie da verificação anterior e, batendo, reaproveita a identidade já lida. O titular ainda faz a prova de vida: o que some do fluxo é a captura do documento, nunca a prova de que há uma pessoa ali.

Disponível desde 11 de setembro de 2026. Ele aparece na tabela de preços e no GET /v1/capabilities com preço e status available, e pode ser ligado num flow. Até essa data a venda estava pausada, e a trava nunca foi técnica: o código já estava pronto, e o que faltava era a decisão do nome público e a conta comercial de trocar ticket por conversão. No flow ele substitui a Verificação de Identidade e o Face Match, e exige o Liveness, que é o que impede reusar uma identidade com a foto de uma foto.

// doclink: reuso aprovado. A identidade vem da verificação de ORIGEM.
{ "module": "doclink", "passed": true, "outcome": "approved", "score": 92,
  "data": { "reused": { "full_name": "JOÃO SILVA", "birth_date": "04/11/1992",
                        "document_number": "12345678901" },
            "source": { "verification_id": "ver_2f8c1a90",   // id opaco NOSSO, não é dado do titular
                        "age_days": 34 },                    // idade da verificação de origem
            "similarity": 0.91 } }                           // 0..1 (não é porcentagem)

// o rosto NÃO bateu com o da origem -> failed, e a chave "data" não existe
{ "module": "doclink", "passed": false, "outcome": "failed", "score": 40,
  "reason": "reuse_mismatch" }

// não havia origem para reusar -> pending (desfecho DIFERENTE do de cima), e também sem "data"
{ "module": "doclink", "passed": null, "outcome": "pending", "score": 0,
  "reason": "reuse_source_unavailable" }

O bloco data só existe no caminho aprovado, e isso é regra de segurança e não estética. A identidade reaproveitada só é anexada depois que o rosto bate. Se fosse anexada antes, quem tivesse o reference_id de outra pessoa receberia os dados dela de volta sem provar nada. Nos dois caminhos que não aprovam (origem indisponível e rosto que não bateu), o item do check_details traz os campos comuns a todo check (module, passed, outcome, score e reason) e nenhum bloco de dado. Repare que os dois não têm o mesmo desfecho: rosto que não bateu é failed, e origem indisponível é pending, porque no primeiro caso medimos e no segundo não havia o que medir. Os dois terminam em revisão humana: nenhum vira recusa automática, e nenhum vira pedido de foto nova.

similarity é a similaridade crua, de 0 a 1, e o corte deste módulo é mais duro que o do Face Match comum, de propósito: aqui o rosto é a única coisa que autoriza reaproveitar um documento que ninguém está reapresentando. source.age_days diz quantos dias tem a verificação de origem, e existe para a sua política: você pode aceitar reuso de 30 dias e recusar o de 170, ainda que os dois tenham passado no nosso corte. E repare que source.verification_id é um id nosso, opaco, não o reference_id que você escolheu.

Pronto para integrar? A chave de sandbox sai no painel, logo depois do cadastro. Criar conta grátis