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
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
});
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);
}
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