Pular para o conteúdo

Passo 5 · Resultados (inline)

Quando o usuário conclui a captura, a foto é assinada server-side com ICP-Brasil A1 e o resultado volta para você inline — o componente emite o evento uploaded com a imagem autenticada. Não há webhook nem consulta: você recebe o resultado na própria captura.

O componente emite o evento uploaded (ver Passo 3 · Ciclo de captura) com o resultado da captura:

Campo Descrição
authenticated_jpeg_url URL presigned do JPEG autenticado — o manifesto C2PA e a assinatura ICP-Brasil vão embutidos no próprio arquivo (auto-verificável). Não há URL de manifesto separada: a prova viaja no JPEG. Pode vir null — ver JPEG ausente.
session_id ID único da captura concluída.

A prova é autocontida no JPEG. Baixe e guarde o arquivo no seu próprio storage assim que receber o resultado — a URL presigned expira em 7 dias; não dependa dela a longo prazo.


Contas em modo zero-knowledge (store_asset_policy = NEVER, o default) não retêm o JPEG — a Provvi não o armazena, então authenticated_jpeg_url vem null. Isso é esperado, não um erro.

Nesse modo, o Web SDK não entrega um artefato inline (o JPEG autenticado — que carrega o manifesto embutido — não é retido, e o componente não expõe uma URL de manifesto à parte). Se você precisa que a Provvi retenha e sirva o JPEG autenticado, configure a política da sua licença como ALWAYS — ver Passo 6 · Configuração. A política de armazenamento é derivada da sua licença (não é um parâmetro do integrador).


A URL presigned (authenticated_jpeg_url) vale por 7 dias. Se ela expirou e você precisa de acesso novamente, gere uma nova chamando GET /web/image/:session_id (backend-only) com o session_id da captura:

// Backend do integrador
async function renovarUrl(sessionId) {
const res = await fetch(
`${process.env.PROVVI_SESSIONS_URL}/web/image/${sessionId}`
);
if (!res.ok) throw new Error(`web/image ${res.status}`);
return res.json(); // devolve uma URL presigned fresca para o JPEG autenticado
}

Onde PROVVI_SESSIONS_URL é a base da API de sessões — a mesma do Passo 1. Em contas NEVER (sem JPEG armazenado), não há asset a servir.


← Erros · Próximo → Configuração da conta