Curriculums
The digital curriculum (currículo escolar digital), defined by Instrução Normativa SESU nº 2, describes the curricular structure of a
course: its curricular units, tags, areas and completion criteria. Digiploma generates the signed XML and its visual representation, the
RVCE, collects the signatures in Lacuna Signer and publishes the curriculum for validation. Academic transcripts refer to a curriculum by
its code (historicoEscolar.codigoCurriculo).
Before you start
- The organization must be an issuer (type Emissora or Emissora e Registradora) (
SubscriptionOperationNotAllowed). - The Signer API key must be set in the organization's Configurações (Settings) (
SignerApiKeyNotSet). - You need a curriculum template.
- You need the signers: a saved signature flow of type
Curriculum, or the signers inline in each request.
Create a curriculum
POST /api/curriculums creates one curriculum. To create many from a JSON file, use a batch.
{
"templateId": "b3e1…",
"documentFlowId": "e90d…",
"curriculum": {
"codigo": "ADM-2024",
"dataCurriculo": "2024-01-15",
"minutosRelogioDaHoraAula": 50,
"dadosCurso": { … },
"iesEmissora": { … },
"etiquetas": [ { "codigo": "ob", "nome": "Obrigatória" } ],
"areas": [ … ],
"estruturaCurricular": { … },
"criteriosIntegralizacao": [ … ]
}
}
| Field | Required | Description |
|---|---|---|
templateId | Yes | The curriculum template. |
curriculum | Yes | The data: the institution's curriculum code (codigo), the approval date (dataCurriculo, today by default), the minutes in a class hour (minutosRelogioDaHoraAula), the course (dadosCurso), the institution (iesEmissora), at least one tag (etiquetas), the areas, the curricular structure (estruturaCurricular), at least one completion criterion (criteriosIntegralizacao) and, optionally, the complementary activities and additional information. |
documentFlowId / documentFlow | One of the two | The signers. Only curriculumFlow may be filled, with exactly one institutional signature (e-CNPJ) (DocumentFlowCurriculumOnlyOneCompanySignatureAllowed). |
newFolderName / signerFolderId | No | The Signer folder for the document, new or existing. |
A complete example of the data is in the JSON sample file.
The course coordinators (e-CPF) sign first, in a step named Coordenação do curso, and the institution signs last, in a step named Instituição.
The response is {success, id, errors}. Generation failures return HTTP 200 with "success": false and the processing log in
errors; that includes CurriculumCodeAlreadyExists, when another curriculum of the organization that is not canceled has the same
codigo. See Creation results.
Statuses and cancellation
status | Meaning |
|---|---|
Created | Created; waiting for signatures. |
Active | Signed: the curriculum is valid. |
Canceled | Canceled. |
POST /api/curriculums/{id}/cancellation, with a reason of up to 500 characters, cancels a curriculum. Cancellation is permanent: there is
no suspension or restore. If the curriculum is not signed yet, its document is deleted from Signer. Once canceled, its codigo can be used
by a new curriculum.
Download the files
| Document | Base64 | Ticket | Direct download | Available when |
|---|---|---|---|---|
| Signed XML | GET /{id}/xml-b64 | GET /{id}/xml-ticket | GET /{id}/xml | The curriculum is Active (CurriculumNotValid). For a ticket, checked when it is downloaded. |
| RVCE | GET /{id}/visual-representation-b64 | GET /{id}/visual-representation-ticket | — | Always. |
All paths are relative to /api/curriculums. See Downloads and tickets.
Replace the visual representation
POST /api/curriculums/{id}/visual-representation replaces the RVCE of a curriculum that is not canceled, from another curriculum template
(templateId) or from an uploaded PDF in portrait orientation (uploadId). The signed XML is not affected. It requires
the UpdateDocumentVisualRepresentation permission (Administrador and Gerente roles).
Read and search
GET /api/curriculums/{id}returns the curriculum;GET /api/curriculums/{id}/historyreturns its status changes, newest first.GET /api/curriculumsreturns a page of curriculums. Besides the paging parameters, it filters byStatus,BatchId, creation date (StartDateUtcinclusive,EndDateUtcexclusive) andQ(curriculum code, course or institution name). Results are sorted by update date.
Validate a curriculum
GET /api/curriculums/codes/{code}validates a curriculum of your own organization, with the API key.GET /api/curriculums/{code}/validationis the public validation. See Public validation.
Webhooks
| Event | When |
|---|---|
CurriculumCreated | The curriculum was created. |
CurriculumConcluded | The curriculum was signed. |
CurriculumCanceled | The curriculum was canceled. |
See Webhooks for the payloads.
Operation reference
| Operation | Description |
|---|---|
POST /api/curriculums | Create a curriculum |
GET /api/curriculums | List curriculums |
GET /api/curriculums/{id} | Get a curriculum |
GET /api/curriculums/{id}/history | Get the status history |
POST /api/curriculums/{id}/cancellation | Cancel a curriculum |
GET /api/curriculums/{id}/xml, …/xml-b64, …/xml-ticket | Download the signed XML |
GET /api/curriculums/{id}/visual-representation-b64, …/visual-representation-ticket | Download the RVCE |
POST /api/curriculums/{id}/visual-representation | Replace the RVCE |
GET /api/curriculums/codes/{code} | Validate a curriculum of your organization |
GET /api/curriculums/{code}/validation, …/validation/visual-representation, …/validation/xml | Public validation |