Ciclo de Vida do Certificado
Todo certificado no DokStamp possui um campo status que governa quais ações podem ser realizadas nele e como ele aparece ao público.
Valores de status
| Status | Descrição |
|---|
draft | Certificado em preparação. Ainda não verificável publicamente. |
issued | Certificado emitido oficialmente. A URL de verificação está ativa. |
revoked | Certificado revogado após a emissão. A URL de verificação exibe um aviso de revogação. |
expired | Certificado passou da data de validade (se uma foi definida). |
Transições de estado
┌─────────────────────────────────┐
│ ▼
[draft] ──────────────────────────────> [issued]
│
▼
[revoked]
[issued] ──> [expired] (automático, se a expiração estiver configurada)
As transições de estado são irreversíveis. Um certificado revogado não pode ser reativado. Um certificado revogado ou expirado não pode retornar ao estado issued. Se um certificado foi revogado por engano, você deve emitir um novo.
Criando em rascunho vs. emitido
Ao chamar POST /certificates, defina status para controlar o estado inicial:
// Cria um rascunho — ainda não visível na URL de verificação
{ "status": "draft", ... }
// Cria e emite imediatamente — URL de verificação ativa
{ "status": "issued", "issued_at": "2024-12-01T00:00:00Z", ... }
Use draft quando quiser preparar certificados para revisão em lote antes da publicação oficial.
Revogando um certificado
Chame PUT /certificates/{uuid}/revoke com um motivo opcional:
curl -X PUT https://api.dokstamp.eu/certificates/{uuid}/revoke \
-H "Authorization: Bearer {TOKEN}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Tenant: {TENANT}" \
-d '{ "revocation_reason": "Emitido por engano — estudante não concluiu os requisitos." }'
Após a revogação, a URL de verificação pública permanece acessível, mas exibe um aviso claro de revogação com o motivo e o timestamp.
→ Referência completa de revogação
Verificação pública
Quando um certificado está no status issued, o campo public_verification_url é preenchido:
{
"uuid": "a1b2c3d4-...",
"status": "issued",
"public_verification_url": "https://verificar.dokstamp.eu/a1b2c3d4",
"issued_at": "2024-12-01T00:00:00.000000Z"
}
Esta URL pode ser compartilhada com empregadores, outras instituições ou incluída no certificado impresso como QR code. Não é necessária autenticação para acessá-la.
Snapshot do Sujeito da Credencial
No momento em que um certificado é emitido, o DokStamp captura um snapshot dos dados de identidade do estudante (nome, email, documento de identificação, data de nascimento, país). Esse snapshot é armazenado de forma imutável junto ao certificado, de modo que a credencial permaneça verificável mesmo que o perfil do estudante seja atualizado posteriormente.
Isso é consistente com os padrões de Credenciais Verificáveis (VC), onde os dados do sujeito da credencial devem refletir o que era verdadeiro no momento da emissão.
Ancoragem em blockchain
Os certificados incluem campos opcionais blockchain_tx_hash e blockchain_tx_url para ancoragem futura em blockchain. Quando definidos, fornecem uma prova resistente a adulterações de que o hash do certificado foi registrado em um ledger público em um momento específico no tempo.