Links

Preenchimento dos metadados

2. Preenchimento dos metadados

2.1. Ordem de geração dos documentos

  1. 1.
    Gerar/Assinar Documentação Acadêmica;
  2. 2.
    Gerar/Assinar Diploma Digital;
  3. 3.
    (opcional) Processar Representação Visual;
  • O documento subsequente só pode ser gerado após a geração/assinatura e registro do documento anterior;
  • A tupla de documentos referentes a um mesmo diploma devem ter o mesmo groupId.

3. Preenchimento dos metadados JSON para geração de uma Documentação Acadêmica

3.1. Preencha os metadados JSON para geração de uma Documentação Acadêmica

a. O JSON é composto pela seção meta e pela seção data: i. A seção meta será usada para registro do documento após gerado no serviço RAP e para controle dos documentos; 1. Defina o groupId de forma única para um conjunto de documentos que representam um diploma. Considerando a emissão para um aluno, a Documentação Acadêmica, Diploma Digital e Representação visual correspondentes devem ter o mesmo groupId para o referido aluno.
{
"meta": {
"clientId": "institution_id", # ID da instituição
"yourNumber": "", # Código que identifique unicamente o documento a ser gerado
"dltId": "ethereum", # Nome da DLT onde o documento será gerado. Manter ethereum
"docType": "academic_doc_mec_degree", # Tipo de documento, para documentação acadêmica temos academic_doc_mec_degree
"mimeType": "text/xml", # Mime type do documento XML
"clientSignature": "", # Manter como string vazia
"groupId": "1" # Grupo que identifica unicamente todos os documentos relacionados a um determinado Diploma Digital. Cada conjunto de documentos relacionados a um mesmo diploma tem o mesmo código de grupo
}
}
ii. A seção data será usada para gerar o XML da Documentação acadêmica. Os dados solicitados na seção data foram extraídos da própria norma. iii. Pela Nota Técnica, alguns documentos são necessários na Documentação Acadêmica. Esses documentos devem ser enviados como um base64 de arquivo no formato de preservação PDF/A. Caso não seja enviada nesse formato, o Conector tentará converter. Se a conversão não tiver sucesso, o processo de geração do PDF deve ser alterado para atender esse requisito.
b. Envie o documento para iniciar o seu processamento usando a rota POST /documents da API de Comunicação. Para o processamento de uma documentação acadêmica, o código do tipo é 4.
c. O processo de geração e registro pode ser acompanhado com as rotas GET /documents e GET /documents/{docId}/state i. GET /documents - lista documentos e estados atuais 1. Exemplo - Listando estado atual dos documentos que passaram código 1; ii. GET /documents/{docId}/state - Lista todos os estados de um documento; 1. Exemplo - Listando estado atual do documento 1;

Vídeo demonstrativo - Gerar um XML válido de documentação acadêmica a partir de dados de exemplo:

Gerar um XML válido de documentação acadêmica a partir de dados de exemplo.mp4
2MB
Binary
Vídeo - Get doc acadêmica

3.2. Realização da coleta das assinaturas do XML da Documentação Acadêmica.

Vide passo a passo da coleta das assinaturas na sessão RAPSign
Após a coleta, o XML da Documentação Acadêmica é registrado e preservado na nuvem da RNP.

Vídeo demonstrativo - Teste de depósito registro com documentação acadêmica:

7.1 Teste de Depósito_Registro com Documentação Acadêmica Exemplo.mp4.mp4
7MB
Binary
Vídeo - teste de depósito doc academica

4. Preenchimento dos metadados JSON para geração do Diploma Digital.

4.1. Preencha os metadados JSON para geração do XML do Diploma Digital

a. O JSON é composto pela seção meta e pela seção data; i. A seção meta será usada para registro do documento após gerado no serviço RAP e para controle dos documentos; 1. O campo groupId deve ser o mesmo utilizado para gerar a Documentação Acadêmica. O Conector utiliza internamente esse campo para associar um conjunto de documentos relacionados a um diploma.
{
"meta": {
"clientId": "institution_id", # ID da instituição
"yourNumber": "", # Código que identifique unicamente o documento a ser gerado
"dltId": "ethereum", # Nome da DLT onde o documento será gerado. Manter ethereum
"docType": "digital_degree", # Tipo de documento, para documentação acadêmica temos digital_degree
"mimeType": "text/xml", # Mime type do documento XML
"clientSignature": "", # Manter como string vazia
"groupId": "1" #Grupo que identifica unicamente todos os documentos relacionados a um determinado Diploma Digital. Cada conjunto de documentos relacionados a um mesmo diploma tem o mesmo código de grupo
}
}
ii. A seção data será usada para gerar o XML do Diploma Digital. Os dados solicitados na seção data foram extraídos da própria norma.
b. Envie o documento para iniciar o seu processamento usando a rota POST /documents da API de Comunicação. Para o processamento de uma documentação acadêmica, o código do tipo é 2.
c. O processo de geração e registro pode ser acompanhado com as rotas GET /documents e GET /documents/{docId}/state ; i. GET /documents - lista documentos e estados atuais 1. Exemplo - Listando estado atual do documento com código; ii. GET /documents/{docId}/state - Lista todos os estados de um documento 1. Exemplo - listando estados do documento com código 2 ;

Vídeo demonstrativo - Gerar um XML válido de diploma digital a partir de dados de exemplo:

4.1 Gerar um XML válido de diploma digital a partir de dados de exemplo.mp4
3MB
Binary
Vídeo - Get diploma digital

4.2. Realização da coleta das assinaturas do XML do Diploma Digital.

Vide passo a passo da coleta das assinaturas na sessão RAPSign
Após a coleta, o Diploma Digital é registrado e preservado na nuvem da RNP.

Vídeo demonstrativo - Teste de depósito registro com Diploma Digital:

7.2 Teste de Depósito_Registro com Diploma Digital Exemplo.mp4
5MB
Binary
Video - Teste de depósito Diploma Digital

4.3.Exemplo de arquivo JSON da documentação acadêmica preenchido com as especificações de segunda via.

Arquivo JSON: { "meta": { "clientId": "<client_id>", "clientSignature": "<empty>", "docType": "academic_doc_mec_degree", "groupId": "DIGITAL_DEGREE_GROUP_SV-v1.04.1", "mimeType": "application/xml", "yourNumber": "ACADEMIC_DOC_SV-v1.04.1", "isDocSigned": "true" }, "data": { "Versao": "1.04.1", "ambiente": "Produção", "RegistroSegundaViaReq": { "DadosDiploma": { "DataConclusao": "2014-04-28", "Diplomado": { "ID": "17Z79AFB", "Nome": "Levi Chaves Salgado", "NomeSocial": "Djeyson", "Sexo": "M", "Nacionalidade": "brasileiro", "Naturalidade": { "CodigoMunicipio": "2507507", "NomeMunicipio": "João Pessoa", "UF": "PB" }, "CPF": "10285874610", "DataNascimento": "1995-10-01", "OutroDocumentoIdentificacao": { "TipoDocumento": "Carteira Nacional de Habilitação", "Identificador": "08330234514" } }, "DadosCurso": { "NomeCurso": "Ciência da Computação", "CodigoCursoEMEC": "1098272", "Modalidade": "EAD", "Habilitacao": [ { "NomeHabilitacao": "Ciência de dados", "DataHabilitacao": "2022-08-06" } ], "TituloConferido": { "Titulo": "Bacharel" }, "GrauConferido": "Licenciatura", "EnderecoCurso": { "Logradouro": "Campus I - Lot. Cidade Universitaria", "Bairro": "Jardim Cidade Universitária", "CEP": "56051300", "CodigoMunicipio": "2507507", "NomeMunicipio": "João Pessoa", "UF": "PB", "Numero": "s/n", "Complemento": "campus I" }, "Polo": { "Nome": "Polo de João Pessoa", "CodigoEMEC": "214834", "Endereco": { "Logradouro": "Campus I - Lot. Cidade Universitaria", "Bairro": "Jardim Cidade Universitária", "CEP": "58051900", "CodigoMunicipio": "2507507", "NomeMunicipio": "João Pessoa", "UF": "PB", "Numero": "10", "Complemento": "CAB" } }, "Autorizacao": { "InformacoesTramitacaoEMEC": { "NumeroProcesso": "70083", "TipoProcesso": "Solicitação de EMEC", "DataCadastro": "1947-05-14", "DataProtocolo": "1952-01-23" } }, "Reconhecimento": { "Tipo": "Lei Estadual", "Numero": "65424", "Data": "1990-06-01", "VeiculoPublicacao": "Diário oficial do Estado" }, "RenovacaoReconhecimento": { "Tipo": "Lei Federal", "Numero": "61234", "Data": "1991-05-02" } }, "IesEmissora": { "Nome": "Universidade Federal do Brasil", "CodigoMEC": "579", "CNPJ": "24001397250110", "Endereco": { "Logradouro": "Campus I - Lot. Cidade Universitaria", "Bairro": "Jardim Cidade Universitária", "CEP": "58921940", "CodigoMunicipio": "2507507", "NomeMunicipio": "João Pessoa", "UF": "PB", "Numero": "s/n" }, "Credenciamento": { "Tipo": "Lei Estadual", "Numero": "1346", "Data": "1960-12-19" }, "Recredenciamento": { "Tipo": "Portaria", "Numero": "60678", "Data": "2018-01-18" }, "Mantenedora": { "RazaoSocial": "Universidade Federal do Brasil", "CNPJ": "14098297009510", "Endereco": { "Logradouro": "Cidade Universitária", "Bairro": "Castelo Branco", "CEP": "58921940", "CodigoMunicipio": "2507507", "NomeMunicipio": "João Pessoa", "UF": "PB", "Numero": "s/n", "Complemento": "Campus I" } } }, "Assinantes": [ { "Assinante": { "CPF": "39444024997", "Cargo": "Responsável pelo registro" } }, { "Assinante": { "CPF": "21002499495", "Cargo": "Reitor" } } ] }, "DadosPrivadosDiplomado": { "Filiacao": [ { "Genitor": { "Nome": "Marília Novais Quinterno", "Sexo": "F", "NomeSocial": "Marília Quinterno" } }, { "Genitor": { "Nome": "Jaime Vilante Medeiros", "Sexo": "M" } } ], "HistoricoEscolar": { "ElementosHistorico": [ { "Disciplina": { "NomeDisciplina": "Astronomia de posição e mecânica celeste", "CodigoDisciplina": "12345", "PeriodoLetivo": "2019.1", "NotaAteCem": "100.00", "Situacao": { "Aprovado": { "FormaIntegralizacao": "Aproveitado" } }, "CargaHoraria": { "HoraAula": "60" } } }, { "Disciplina": { "NomeDisciplina": "Sensoriamento remoto da atmosfera", "CodigoDisciplina": "54321", "PeriodoLetivo": "2019.2", "Nota": "3.69", "Situacao": "Reprovado", "CargaHoraria": { "HoraAula": "40" }, "Docentes": [ { "Docente": { "Nome": "Arman Aguiar Fontes", "Titulacao": "Mestrado", "Lattes": "http://lattes.cnpq.br/9", "CPF": "51174832778" } } ] } }, { "AtividadeComplementar": { "DataInicio": "2020-01-20", "DataFim": "2020-06-08", "DataRegistro": "2020-01-22", "TipoAtividadeComplementar": "Monitoria acadêmica", "Descricao": "Monitoria acadêmica em ciência de dados", "CargaHorariaEmHoraRelogio": "180.73", "DocentesResponsaveisPelaValidacao": [ { "Docente": { "Nome": "Hannah Coelho Mateus", "Titulacao": "Especialização", "Lattes": "http://lattes.cnpq.br/934542", "CPF": "51174832778" } } ] } }, { "Estagio": { "DataInicio": "2020-07-20", "DataFim": "2020-12-15", "CargaHorariaEmHorasRelogio": "200.30", "Descricao": "Estágio em desenvolvimento de software", "DocentesOrientadores": [ { "Docente": { "Nome": "Dérick Brandão Laureano", "Titulacao": "Tecnólogo", "Lattes": "http://lattes.cnpq.br/7622468", "CPF": "79090401754" } }, { "Docente": { "Nome": "Pietra Granjeiro Farias", "Titulacao": "Especialização", "Lattes": "http://lattes.cnpq.br/0", "CPF": "48163616824" } } ], "Concedente": { "RazaoSocial": "Ledger Serviços em Tecnologia LTDA", "NomeFantasia": "LedgerTec", "CNPJ": "51355751324011" } } }, { "SituacaoDiscente": { "PeriodoLetivo": "2017.2", "Situacao": { "IntercambioInternacional": { "Instituicao": "Universidade de Toronto", "Pais": "Canadá", "NomeProgramaIntercambio": "Ciência sem fronteiras" } } } } ], "DataEmissaoHistorico": "2021-06-17", "SituacaoAtualDiscente": { "PeriodoLetivo": "2022.1", "Situacao": { "Formado": { "DataConclusaoCurso": "2022-07-28", "DataColacaoGrau": "2022-07-30", "DataExpedicaoDiploma": "2022-07-18" } } }, "CargaHorariaCursoIntegralizada": { "HoraRelogio": "980.08" }, "CargaHorariaCurso": { "HoraAula": "1000" } } } } } }

5. Preenchimento dos metadados JSON para processamento do PDF gerado pela instituição da Representação Visual

5.1. Preencha os metadados JSON para processamento do PDF gerado pela Instituição da Representação Visual

a. O JSON é composto pela seção meta e pela seção data; i. A seção meta será usada para registro do documento após gerado no serviço RAP e para controle dos documentos; 1. O campo groupId deve ser o mesmo utilizado para gerar a Documentação Acadêmica e o Diploma Digital. O Conector utiliza internamente esse campo para associar um conjunto de documentos relacionados a um diploma;
{
"meta": {
"clientId": "institution_id", # ID da instituição
"yourNumber": "", # Código que identifique unicamente o documento a ser gerado
"dltId": "ethereum", # Nome da DLT onde o documento será gerado. Manter ethereum
"docType": "digital_degree", # Tipo de documento, para documentação acadêmica temos digital_degree
"mimeType": "text/xml", # Mime type do documento XML
"clientSignature": "", # Manter como string vazia
"groupId": "1" #Grupo que identifica unicamente todos os documentos relacionados a um determinado Diploma Digital. Cada conjunto de documentos relacionados a um mesmo diploma tem o mesmo código de grupo
}
}
ii. A seção data será usada para indexar a Representação Visual; b. Envie o documento para iniciar o seu processamento usando a rota POST /documents da API de Comunicação. Para o processamento de uma documentação acadêmica, o código do tipo é 5 ;
6 Teste de Depósito de Representação Visual Exemplo.mp4
6MB
Binary
Vídeo - depósito representação visual
c. O processo de registro pode ser acompanhado com as rotas GET /documents e GET /documents/{docId}/state ; i. GET /documents - lista documentos e estados atuais; ii. GET /documents/{docId}/state - Lista todos os estados de um documento;

Vídeo demonstrativo - Associar uma representação visual com um diploma digital:

6.1 Associar uma representação visual exemplo com um diploma digital exemplo.mp4
7MB
Binary
Vídeo - associar representação visual com diploma digital
d. O PDF da representação visual não é assinado digitalmente. e. A Representação Visual deve ser enviada no formato de preservação PDF/A. Caso não seja enviada nesse formato, o Conector tentará converter. Se a conversão não tiver sucesso, o processo de geração do PDF deve ser alterado para atender esse requisito.
Após o processamento da Representação Visual, esta é Registrada e Preservada na nuvem da RNP.

6. Validação dos dados JSON antes do início da geração

Foram enviados junto com a documentação Schemas para validação dos arquivos JSON montados para geração da Documentação Acadêmica, Diploma Digital e Representação Visual. Esses esquemas podem ser utilizados para verificar se os dados montados são válidos antes de enviarem para geração. Essa validação pode ser feita por meio de ferramentas online como https://www.jsonschemavalidator.net/ ou outras listadas em https://json-schema.org/implementations.html#validators.

7. Pós-Processamento

Vide link Pós-Processamento

8.0. Assinatura dos Documentos

Para assinatura dos documentos gerados instale e execute a aplicação RAPSign (vide sessão RAPSing).