Saltar para o conteúdo principal

Quick Start

Este guia mostra como emitir um certificado digital de ponta a ponta utilizando chamadas reais à API. O utilizador vai criar as entidades mínimas necessárias e emitir um certificado numa única sessão.
Todas as entidades devem pertencer ao mesmo tenant. Obtenha as suas credenciais no painel do DokStamp antes de começar.

Pré-requisitos

  • Credenciais da API (email + palavra-passe)
  • O seu identificador X-Tenant
  • Um ficheiro PDF do certificado a ser emitido

Passo 1 — Autenticar

curl -X POST https://api.dokstamp.eu/auth/login \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"email": "admin@minhaescola.edu", "password": "segredo"}'
Guarde o access_token da resposta. Será utilizado em todos os pedidos subsequentes.

Passo 2 — Criar uma Instituição

Uma instituição é o órgão emissor. Deve existir antes de cursos ou certificados.
curl -X POST https://api.dokstamp.eu/institutions \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Tenant: {TENANT}" \
  -d '{
    "name": "Minha Universidade",
    "legal_name": "Fundação Minha Universidade",
    "tax_id": "00.000.000/0001-00",
    "country": "Brazil",
    "website": "https://minhauniversidade.edu.br",
    "status": "active"
  }'
Guarde o uuid da resposta — será necessário como institution_uuid.

Passo 3 — Criar um Curso

curl -X POST https://api.dokstamp.eu/courses \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Tenant: {TENANT}" \
  -d '{
    "name": "Bacharelado em Ciência da Computação",
    "code": "BCC-2024",
    "description": "Curso de graduação de 4 anos em ciência da computação.",
    "workload_hours": 3200,
    "status": "active",
    "institution_uuid": "{INSTITUTION_UUID}"
  }'
Guarde o uuid como course_uuid.

Passo 4 — Criar um Estudante

curl -X POST https://api.dokstamp.eu/students \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Tenant: {TENANT}" \
  -d '{
    "name": "Maria Fernanda Silva",
    "email": "maria@email.com",
    "date_of_birth": "1998-05-20",
    "gender": "female"
  }'
Guarde o uuid como student_uuid.

Passo 5 — Carregar o PDF

Carregue o ficheiro PDF do certificado assinado:
curl -X POST https://api.dokstamp.eu/files \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "X-Tenant: {TENANT}" \
  -F "files[]=@/caminho/para/certificado.pdf"
A resposta devolve um array. Guarde o uuid do primeiro item como file_uuid.

Passo 6 — Emitir o Certificado

Agora combine tudo num certificado:
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": "{INSTITUTION_UUID}",
    "course_uuid": "{COURSE_UUID}",
    "student_uuid": "{STUDENT_UUID}",
    "file_uuid": "{FILE_UUID}",
    "status": "issued",
    "issued_at": "2024-12-01T00:00:00Z"
  }'
Resposta:
{
  "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",
    "student": { "name": "Maria Fernanda Silva" },
    "course": { "name": "Bacharelado em Ciência da Computação" },
    "institution": { "name": "Minha Universidade" }
  }
}
O public_verification_url é o link partilhável para verificação da credencial.

O que fazer a seguir?

Ordem de Registo de Entidades

Veja o mapa completo de dependências antes de construir integrações.

Ciclo de Vida do Certificado

Saiba como os certificados passam de rascunho a emitido, revogado e expirado.

Guia: Emitir Certificado

Um guia mais detalhado com módulos, turmas, matrículas e templates.

Referência da API

Referência completa de parâmetros para cada endpoint.