URL da api que será utilizada em todas requisições do client Obrigatório
ID da instituição Obrigatório
Modo de depuração
Se true
irá mostrar todos as requisições através do console
Opcional - Valor padrão: false
✔ Conector Success Instance created: url: myURL
☐ Conector Pending starting request: myURL/documents
x Conector Error getDocument: Objeto não encontrado no conector
Diretório de download para os arquivos baixados pelo client
Opcional - Valor padrão: ./download_files
Ativa um documento
Dados do documento a ser ativado
Retorna o resultado da ação
Conector.activateDocument({
docId: 5,
reason: "Optional",
})
.then(console.log)
.catch((error) => console.log(error));
try{
const response = await Conector.activateDocument({
docId: 5,
reason: "",
})
console.log(response);
//do something
}catch(error){
console.log(error);
}
Essa rota deve ser utilizada caso o serviço de gestão de diplomas tenha sido iniciado habilitando o uso de autenticação para comunicação com essa API. Por padrão o serviço de autenticação é desabilitado. Caso o serviço de autenticação esteja habilitado, todas as chamadas a esta API devem ser realizados passando o token JWT no cabeçalho da requisição. Esta rota deve ser utilizada para aquisição do token JWT.
Conector.auth({
email: 'example@test.com',
password: '123456'
})
.then(console.log)
.catch((error)=>console.log(error));
dados de login para autenticar o client
dados referentes a seção criada
Verifica a autenticidade de um documento no contexto do registro do Serviço RAP
Conector
.authenticate({
documentType: 4,
documentFile: '../files/example.xml',
})
.then(console.log)
.catch((error)=>console.log);
try{
const checkValidation = await Conector.authenticate({
documentType: 4,
documentFile: '../files/example.xml',
});
console.log(checkValidation);
//do something
}catch(error){
console.log(error);
}
Dados do documento a ser verificado
Detalhes da autenticidade do documento
⚠️ ATENÇÃO: Essa operação apaga os registros apenas no Conector local, ou seja, não deleta documentos preservados no contexto do Serviço RAP. Para remover o(s) documento(s) no contexto do RAP, é necessário revogá-lo(s) antes de ter seus dados deletados do Conector local.
🔹 IMPORTANTE: Ao utilizar o parâmetro force=true
, caso o documento já esteja presente no serviço
de preservação, ele será automaticamente revogado antes da remoção no registro local.
Deleta um documento da base de dados do RAP Conector.
Opções do documento a ser deletado.
Retorna o número de documentos deletados.
Conector
.deleteDocument({
docId: 456,
cascade: true //opcional
})
.then(console.log)
.catch((error)=>console.log);
try{
const deletedDocument = await Conector.deleteDocument({
docId: 456,
cascade: true, // opcional
force: true // opcional
});
console.log(deletedDocument);
//do something
}catch(error){
console.log(error);
}
Deleta um grupo de documentos da base de dados do Conector, incluindo todos os documentos nele contidos.
ATENÇÃO: essa operação apaga apenas os documentos do registro local, de forma que não deleta os documentos preservados no registro do Serviço RAP. Para a remoção dos documentos do registro do RAP é necessário revogá-los antes deletar os dados no Conector.
Opções do grupo a ser deletado
Retorna o número de documentos deletados
Exibe as informações básicas de um documento, incluindo o código de segurança que se torna disponível após o documento ser gerado, e o recibo após o documento ser registrado.
opções do documento a ser consultado
Informações do documento consultado
Conector
.getDocument({
docId: 5
})
.then(console.log)
.catch((error)=>console.log);
try{
const document = await Conector.getDocument({
docId: 5
});
console.log(document);
//do something
}catch(error){
console.log(error);
}
Exibe as informações básicas de um documento, incluindo o código de segurança que se torna disponível após o documento ser gerado, e o recibo após o documento ser registrado.
opções do documento a ser consultado
Informações do documento consultado
Conector
.getDocumentBySecurityCode({
securityCode: 'Dip1234'
})
.then(console.log)
.catch((error)=>console.log);
try{
const document = await Conector.getDocumentBySecurityCode({
securityCode: 'Dip1234'
});
console.log(document);
//do something
}catch(error){
console.log(error);
}
Faz download de uma versão específica do arquivo do documento em formato XML. Caso seja indicado signedDocument, o serviço irá retornar o estado atual do documento assinado. Caso a coleta de assinaturas ainda não tenha sido finalizada, esse documento pode ainda não representar o documento final assinado. Recomenda-se seu download quando o documento alcançar o status registrado no serviço (estado 10). A chamda dessa rota com parâmetro version contendo registeredDocument faz o Conector realizar o download do arquivo diretamente do Serviço de Preservação. Esse arquivo só existe após o registro do documento no Serviço (estado 10). O acesso ao arquivo do Serviço de Preservação pode ser útil nos casos em que a cópia local foi corrompida. Caso a instituição escolha não enviar os documentos para registro, a versão de registro do arquivo não existirá.
Dados do documento a ser consultado
Retorna o nome do arquivo salvo no diretório de downloads informado em outDir
, por padrão a pasta de downloads é download_files
Conector
.getDocumentFile({
docId: 5,
version: "registeredDocument", //generatedDocument, signedDocument or registeredDocument
})
.then(console.log)
.catch((error)=>console.log);
try{
const documentXml = await Conector.getDocumentFile({
docId: "",
version: "registeredDocument", //generatedDocument, signedDocument or registeredDocument
});
console.log(documentXml);
//do something
}catch(error){
console.log(error);
}
Recupera o arquivo de um documento diretamente do Serviço de Preservação usando os metadados do documento preservado.
Dados do documento a ser consultado
Retorna o nome do arquivo salvo no diretório de downloads informado em outDir
, por padrão a pasta de downloads é download_files
Conector
.getDocumentFileRetrieve({
documentType: 4,
yourNumber: '123456',
})
.then(console.log)
.catch((error)=>console.log);
try{
const documentXml = await Conector.getDocumentFileRetrieve({
documentType: 4,
yourNumber: '123456',
});
console.log(documentXml);
//do something
}catch(error){
console.log(error);
}
Busca o histórico de processamento de um documento
Dados do documento a ser consultado
Conector
.getDocumentHistory({docId: 5}) //remember the docId or security code
.then(console.log)
.catch((error)=>console.log);
try{
const documentHistory = await Conector.getDocumentHistory({docId: 5});
console.log(documentHistory);
//do something
}catch(error){
console.log(error);
}
Busca o recibo de um documento registrado no Serviço RAP
Dado do documento a ser consultado
Conector
.getDocumentReceipt({docId: 5}) //remember the docId
.then(console.log)
.catch((error)=>console.log);
try{
const documentReceipt = await Conector.getDocumentReceipt({docId: 5});
console.log(documentReceipt);
//do something
}catch(error){
console.log(error);
}
Exibe o estado atual de um documento. Em caso de erro, suspensão, re-ativação ou revogação de documento, o campo aditionalInfo
indicará a razão de entrada em cada estado. As informações de suspensão, ativação e revogação podem ser utilizadas para mapear o histórico do documento conforme previsão na nota técnica referente a diplomas digitais. Ver item 7.12 da Nota Técnica Nota Técnica No. 13/2019/DIFES/SESU/SESU
Conector
.getDocumentState({
docId: 5
})
.then(console.log)
.catch((error)=>console.log);
try{
const documentState = await Conector.getDocumentState({docId: 5});
console.log(documentState);
//do something
}catch(error){
console.log(error);
}
Dados do documento a ser consultado
Lista todos os documentos processados pelo RAP Conector, indicando para cada documento o estado atual do documento. A Lista pode ser filtrada por código de estado. Em caso de filtragem por quaisquer um dos códigos, o retorno conterá a lista de documentos que já passaram por aquele estado. No contexto de uma filtragem por código de estado, o valor currentState representa o estado corrente da consulta e não o estado atual do documento.
filtros para a consulta dos documentos, se null
retornará todos os documentos
lista de documentos encontrados com base nos filtros
Conector
.getDocuments()
.then(console.log)
.catch((error)=>console.log);
try{
const documents = await Conector.getDocuments();
console.log(documents);
//do something
}catch(error){
console.log(error);
}
Carrega uma página em HTML ou JSON para a visualização gráfica do arquivo de um documento.
Dados do documento a ser consultado
Retorna o conteúdo de visualização do arquivo de representação de um documento
Conector
.getFileContent({
docId: 5,
format: "html" //html or json
})
.then(console.log)
.catch((error)=>console.log);
try{
const documentContent = await Conector.getFileContent({
docId: "",
format: "html" //html or json
});
console.log(documentContent.content);
//do something
}catch(error){
console.log(error);
}
Exibe as informações básicas de um grupo de documentos, incluindo os slots ocupados e disponíveis para a inserção de novos documentos.
ATENÇÃO: novos documentos só devem ser inseridos em grupos parcialmente ocupados caso o documento seja do tipo do slot disponível e que contenha dados complementares aos demais documentos.
opções do group a ser consultado
Informações do grupo consultado
Conector
.getGroup({
groupId: '5'
})
.then(console.log)
.catch((error)=>console.log);
try{
const document = await Conector.getGroup({
groupId: '5'
});
console.log(document);
//do something
}catch(error){
console.log(error);
}
Lista todos os grupos de documentos, incluindo seus slots ocupados e disponíveis para a inserção de novos documentos.
filtros para a consulta dos grupos, se null
retornará todos os grupos
lista de grupos encontrados com base nos filtros
Conector
.getGroups({page: 1, limit: 5})
.then(console.log)
.catch((error)=>console.log);
try{
const groups = await Conector.getGroups();
console.log(groups);
//do something
}catch(error){
console.log(error);
}
Lista as configurações de assinatura dos documentos incluindo os assinadores, seus substitutos e as respectivas tags.
Lista as configurações de assinatura dos documentos incluindo os assinadores, seus substitutos e as respectivas tags.
Verifica a saúde dos serviços
Insere um novo registro no banco de documentos do Conector para fins de criação e processamento. O código do tipo de documento deve ser especificado por meio do campo documentType de acordo com os dados a serem inseridos. A tabela abaixo indica quais códigos devem ser usados para cada documento.
Os metadados no formato JSON são obrigatórios para qualquer tipo de geração/processamento. O processamento de documentos pode ser feito em lote. Para tanto, um array de metadados deve ser enviado no campo documentData. O campo documentFile é opcional para os tipos Documentação Acadêmica e Diploma Digital e só deve ser usado caso a instituição deseje, ela mesma, gerar o XML da Documentação Acadêmica ou do Diploma Digital. Em caso de a instituição desejar inserir a Documentação Acadêmica ou Diploma Digital já gerados no sistema, o formato do arquivo a ser anexado está indicado na coluna Formato do Arquivo.
No caso da Representação Visual, o arquivo em PDF deve obrigatoriamente ser anexado no campo documentFile.
No caso do envio de documentos já gerados por meio do campo documentFile, os metadados correspondentes a esse registro devem conter um atributo adicional denominado attachment referente ao nome exato do arquivo anexado.
Nota: A Representação Visual é um arquivo PDF que deve ser enviada preferencialmente no formato de preservação PDF/A (www.pdfa.org). Caso o arquivo enviado não esteja no padrão PDF/A, o conector tentará convertê-lo automaticamente. Caso o Conector não consiga gerar o arquivo no formato PDF/A, o processamento da Representação Visual irá falhar na etapa de Geração.
Nota: a geração/processamento dos documentos possue uma ordem. Inicialmente deve ser gerado e processado (assinado e registrado) a Documentação Acadêmica. Após, deverá ser gerado/processado (assinado e registrado) o Diploma Digital associado. Por fim, opcionalmente, deve ser processada (não geramos representação visual) a Representação Visual.
Dados do documento a ser inserido no Conector
Retorna o ID do documento criado
const jsonData = '{ "meta":{ "client_id":...';
Conector.insertDocument({
documentType: 5,
documentData: jsonData, //it must be a string
documentFile: './doc.pdf'
})
.then(console.log)
.catch((error) => console.log(error));
try{
const myData = {
meta: {
client_id: "aa-bb-cc",
your_number: 123456,
...
}
}
const jsonData = JSON.stringify(myData);
const { documentId } = await Conector.insertDocument({
documentType: 4,
documentData: jsonData, //it must be a string
});
console.log(documentId);
//do something
}catch(error){
console.log(error);
}
Insere um conjunto de registros no banco de documentos do Conector para fins de criação e processamento. O código do tipo de documento deve ser especificado por meio do campo documentType de acordo com os dados a serem inseridos. A tabela abaixo indica quais códigos devem ser usados para cada documento.
Os metadados no formato JSON são obrigatórios para qualquer tipo de geração/processamento. O processamento de documentos pode ser feito em lote. Para tanto, um array de metadados deve ser enviado no campo documentData. O campo documentFile é opcional para os tipos Documentação Acadêmica e Diploma Digital e só deve ser usado caso a instituição deseje, ela mesma, gerar o XML da Documentação Acadêmica ou do Diploma Digital. Em caso de a instituição desejar inserir a Documentação Acadêmica ou Diploma Digital já gerados no sistema, o formato do arquivo a ser anexado está indicado na coluna Formato do Arquivo.
No caso da Representação Visual, o arquivo em PDF deve obrigatoriamente ser anexado no campo documentFile.
No caso do envio de documentos já gerados por meio do campo documentFile, os metadados correspondentes a esse registro devem conter um atributo adicional denominado attachment referente ao nome exato do arquivo anexado.
Nota: A Representação Visual é um arquivo PDF que deve ser enviada preferencialmente no formato de preservação PDF/A (www.pdfa.org). Caso o arquivo enviado não esteja no padrão PDF/A, o conector tentará convertê-lo automaticamente. Caso o Conector não consiga gerar o arquivo no formato PDF/A, o processamento da Representação Visual irá falhar na etapa de Geração.
Nota: a geração/processamento dos documentos possue uma ordem. Inicialmente deve ser gerado e processado (assinado e registrado) a Documentação Acadêmica. Após, deverá ser gerado/processado (assinado e registrado) o Diploma Digital associado. Por fim, opcionalmente, deve ser processada (não geramos representação visual) a Representação Visual.
Dados dos documentos a serem inseridos no conector
Um array contendo o documentId
de cada documento inserido
const jsonData = '[ { "meta":{ "client_id":...';
Conector.insertDocuments({
documentType: 5,
documentData: jsonData, //it must be a string
documentFile: ['./doc.pdf']
})
.then(console.log)
.catch((error) => console.log(error));
try{
const myListOfDocuments = [
{
meta: {
client_id: "aa-bb-cc",
your_number: 123456,
...
}
},
{
meta: {
client_id: "aa-bb-cc",
your_number: 654321,
...
}
}
];
const jsonData = JSON.stringify(myListOfDocuments);
const insertedDocuments = await Conector.insertDocuments({
documentType: 4,
documentData: jsonData, //it must be a string
});
console.log(insertedDocuments);
//do something
}catch(error){
console.log(error);
}
⚠️ DEPRECIADO: Esta rota será removida em uma versão futura do Conector.
Repara o carimbo de tempo da assinatura de arquivamento do documento registrado no Serviço de Preservação do RAP.
Conector
.repairTimestamp({
docId: '4'
})
.then(console.log)
.catch((error)=>console.log);
try{
const result = await Conector.repairTimestamp({
docId: '4'
});
console.log(result);
//do something
}catch(error){
console.log(error);
}
Dados do documento a ser alterado
Retorna o resultado da ação
Tenta reexecutar um processo
Dados para reexecutar um processo
Se o processCode
não for informado será detectado automaticamente qual o status
atual do documento e o mesmo será reexecutado.
Conector.retry({docId: 5, processCode: 502})
.then(console.log)
.catch((error) => console.log(error));
try{
const response = await Conector.retry({docId: 5, processCode: 502});
console.log(response);
//do something
}catch(error){
console.log(error);
}
Tenta reexecutar o processamento de assinatura
Dados para reexecutar um processo de assinatura
Se o type
não for informado será reexecutado o último processo de assinatura do documento.
Conector.retrySignature({docId: 5, type: 'SIGNATURE'})
.then(console.log)
.catch((error) => console.log(error));
try{
const response = await Conector.retrySignature({docId: 5, type: 'SIGNATURE'});
console.log(response);
//do something
}catch(error){
console.log(error);
}
Revoga um documento no contexto do Conector e no contexto do Serviço RAP
Dados do documento a ser revogado
Retorna o resultado da ação
Conector.revokeDocument({
docId: 5,
reason: TYPES.RevokeReason.decisaoJudicial,
})
.then(console.log)
.catch((error) => console.log(error));
try{
const response = await Conector.revokeDocument({
docId: 5,
reason: TYPES.RevokeReason.decisaoJudicial,
})
console.log(response);
//do something
}catch(error){
console.log(error);
}
Atualiza o estado de autorização de um documento para permitir ou proibir a assinatura e registro de um documento após a revisão manual do arquivo gerado pelo Conector.
Conector
.setAuthorization({
docId: '4',
documentAuthorization: 'authorized',
authorizationDescription: 'update authorization',
})
.then(console.log)
.catch((error)=>console.log);
try{
const result = await Conector.setAuthorization({
docId: '4',
documentAuthorization: 'authorized',
authorizationDescription: 'update authorization',
});
console.log(result);
//do something
}catch(error){
console.log(error);
}
Dados do documento a ser alterado
ID do documento alterado
Atualiza o estado de autorização de um documento para permitir ou proibir a assinatura e registro de um documento após a revisão manual do arquivo gerado pelo Conector.
Conector
.setAuthorizationPut({
docId: '4',
documentAuthorization: 'authorized',
authorizationDescription: 'update authorization',
})
.then(console.log)
.catch((error)=>console.log);
try{
const result = await Conector.setAuthorizationPut({
docId: '4',
documentAuthorization: 'authorized',
authorizationDescription: 'update authorization',
});
console.log(result);
//do something
}catch(error){
console.log(error);
}
Dados do documento a ser alterado
ID do documento alterado
Suspende um documento
Dados do documento a ser suspenso
Retorna o resultado da ação
Conector.suspendDocument({
docId: 5,
reason: "Optional",
})
.then(console.log)
.catch((error) => console.log(error));
try{
const response = await Conector.suspendDocument({
docId: 5,
reason: "",
})
console.log(response);
//do something
}catch(error){
console.log(error);
}
Atualiza o dados de um documento, quais sejam: o tipo, json com dados e/ou arquivo gerado. Após atualização, o documento retorna ao estado inicial reiniciando sua geração/processamento. Documentos com estado de registro válido não são afetados por essa operação Nos casos em que um documento já está em estado válido de registro (estado 10) ou suspenso, é necessário revogar todo o seu respectivo grupo de documentos e reiniciar o processo de registro fazendo a inserção de novos documentos na ordem correta.
Dados do documento a ser atualizado
O documentId do documento atualizado
const jsonData = '{ "meta":{ "client_id":...';
Conector.updateDocument({
docId: 5,
documentType: 4,
documentData: jsonData, //it must be a string
updateDescription: 'Correção do CPF', //Obrigatório
})
.then(console.log)
.catch((error) => console.log(error));
try{
const myDocumentData = {
meta: {
client_id: "aa-bb-cc",
your_number: 123456,
...
}
}
const jsonData = JSON.stringify(myDocumentData);
const updatedDocument = await Conector.updateDocument({
docId: 5,
documentType: 4,
documentData: jsonData, //it must be a string
updateDescription: 'Correção do CPF', //Obrigatório
});
console.log(updatedDocument);
//do something
}catch(error){
console.log(error);
}
Verifica a conformidade do documento em formato JSON com a normas do diploma digital.
Resultado da validação
Conector
.validateJson({
type: 4,
version: '1.05',
data: '{\"meta\":{\"clientId\":\"a15344ce-d4b6-40af-b7b8-0922db25fda5\",\"clientSignature\"...'
})
.then(console.log)
.catch((error)=>console.log);
try{
const validationResult = await Conector.validateJson({
type: 4,
version: '1.05',
data: '{\"meta\":{\"clientId\":\"a15344ce-d4b6-40af-b7b8-0922db25fda5\",\"clientSignature\"...'
});
console.log(validationResult);
//do something
}catch(error){
console.log(error);
}
Verifica a conformidade do documento em formato XML com a normas do diploma digital.
Resultado da validação
Conector
.validateXml({
type: 4,
version: '1.05',
data: '<?xml version=\"1.0\" encoding=\"UTF-8\"?><DocumentacaoAcademicaRegistro...'
})
.then(console.log)
.catch((error)=>console.log);
try{
const validationResult = await Conector.validateXml({
type: 4,
version: '1.05',
data: '<?xml version=\"1.0\" encoding=\"UTF-8\"?><DocumentacaoAcademicaRegistro...'
});
console.log(validationResult);
//do something
}catch(error){
console.log(error);
}
Cria uma instância do conector
const ConectorClient = require('rap-conector-client');
const Conector = ConectorClient.Create({
url: 'http://localhost:8040/api',
client_id: 'b96c3737...',
debug: false,
outDir: './files',
});
Conector.getDocuments().then(console.log).catch(console.log)
Cria uma instância do conector
// Utilizando typescript/ES6 utilize:
import { Create as ConectorClient } from 'rap-conector-client';
const Conector = ConectorClient({
url: 'http://localhost:8040/api',
client_id: 'b96c3737...',
debug: false,
outDir: './files',
});
Conector.getDocuments().then(console.log).catch(console.log)
configurações do conector
instância do conector com todos os métodos disponíveis
Classe global do conector-client, deve ser instanciada com através do método Create