Pular para o conteúdo principal

Certificados

Um certificado é a credencial digital que vincula um estudante a um curso, emitida por uma instituição. Ele inclui um arquivo PDF assinado, uma URL de verificação pública e um snapshot imutável da identidade do estudante no momento da emissão.

O objeto certificado

{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "issued",
  "issued_at": "2024-12-01T00:00:00.000000Z",
  "revoked_at": null,
  "revocation_reason": null,
  "public_verification_url": "https://verificar.dokstamp.eu/a1b2c3d4",
  "blockchain_tx_hash": null,
  "blockchain_tx_url": null,
  "institution": {
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Federal University of Technology"
  },
  "course": {
    "uuid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "name": "Bachelor of Computer Science"
  },
  "student": {
    "uuid": "f6a7b8c9-d0e1-2345-fghi-456789012345",
    "name": "Maria Fernanda Silva"
  },
  "cohort": null,
  "enrollment": null,
  "template": null,
  "files": [
    {
      "type": "certificate",
      "uuid": "h8i9j0k1-l2m3-4567-nopq-678901234567"
    }
  ]
}
CampoTipoDescrição
uuidstringIdentificador único
statusenumdraft, issued, revoked, expired
issued_atdatetimeData oficial de emissão
revoked_atdatetime|nullTimestamp de revogação
revocation_reasonstring|nullMotivo da revogação
public_verification_urlstring|nullURL compartilhável para verificação por terceiros
blockchain_tx_hashstring|nullHash da transação blockchain (se ancorado)
filesarrayArquivos PDF anexados

Listar certificados

GET /certificates
# Listar todos os certificados emitidos de um curso
curl "https://api.dokstamp.eu/certificates?where[status]=issued&where[course_uuid]=c3d4e5f6-a7b8-9012-cdef-123456789012&sort[column]=issued_at&sort[order]=desc" \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "X-Tenant: {TENANT}"

Emitir um certificado

POST /certificates
ParâmetroTipoObrigatórioDescrição
institution_uuidstringSimUUID da instituição emissora
course_uuidstringSimUUID do curso
student_uuidstringSimUUID do estudante destinatário
file_uuidstringSimUUID do arquivo PDF enviado (deve estar sem uso)
statusenumNãodraft (padrão) ou issued
issued_atdatetimeNãoData oficial de emissão (obrigatória se status=issued)
cohort_uuidstringNãoUUID da turma
enrollment_uuidstringNãoUUID da matrícula
template_uuidstringNãoUUID do modelo de certificado
public_verification_urlstringNãoURL de verificação personalizada (gerada automaticamente se omitida)
curl -X POST https://api.dokstamp.eu/certificates \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Tenant: {TENANT}" \
  -d '{
    "institution_uuid": "550e8400-e29b-41d4-a716-446655440000",
    "course_uuid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "student_uuid": "f6a7b8c9-d0e1-2345-fghi-456789012345",
    "file_uuid": "h8i9j0k1-l2m3-4567-nopq-678901234567",
    "status": "issued",
    "issued_at": "2024-12-01T00:00:00Z",
    "cohort_uuid": "e5f6a7b8-c9d0-1234-efgh-345678901234",
    "enrollment_uuid": "g7h8i9j0-k1l2-3456-mnop-567890123456"
  }'
Resposta 201:
{
  "data": {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": "issued",
    "issued_at": "2024-12-01T00:00:00.000000Z",
    "public_verification_url": "https://verificar.dokstamp.eu/a1b2c3d4",
    "institution": { "name": "Federal University of Technology" },
    "course": { "name": "Bachelor of Computer Science" },
    "student": { "name": "Maria Fernanda Silva" }
  }
}
Um UUID de arquivo só pode ser usado uma vez. Se você tentar criar um segundo certificado com o mesmo file_uuid, receberá um erro 422. Faça upload de um novo arquivo para cada certificado.

Obter um certificado

GET /certificates/{uuid}
GET /certificates/{uuid}?includes[student]=1&includes[course]=1&includes[institution]=1&includes[files]=1

Atualizar um certificado

PATCH /certificates/{uuid}
PUT   /certificates/{uuid}
Você pode atualizar certificados com status draft. A atualização de um certificado com status issued é restrita.

Excluir um certificado

DELETE /certificates/{uuid}
DELETE /certificates/batch/destroy

Assertion de emblema (Open Badges)

GET /certificates/{uuid}/badges/assertions
Retorna a assertion W3C Open Badges 2.0 para o certificado. Este endpoint é usado por serviços de verificação de emblemas e badge backpacks (ex.: Badgr, Credly).

Relacionados