Os robôs na Plataforma Lecom possibilitam a automação dos fluxos de processos, permitindo a execução de ações automáticas e integrações com fontes externas.
Este template exemplifica um fluxo simples para adicionar ou editar metadados de documentos em processos. Ele utiliza o framework RotasOpenAPI, disponibilizado pela nossa equipe de Operações, o que simplifica a execução de chamadas no OpenAPI.
É importante destacar que este template, isoladamente, não atende a um cenário real. Após sua adição ao ambiente, será necessário ajustá-lo para adequá-lo às necessidades específicas do seu caso.
Visão geral
Esta página tem como objetivo exemplificar o funcionamento de um robô simples para realizar a edição de metadados em um campo template, disponibilizado no marketplace. Para isso, utilizaremos a biblioteca RotasOpenAPI, disponibilizada pelo time de Operações da Lecom.
Arquivo de Configurações (application.properties
)
Na pasta resources
, encontra-se o arquivo application.properties
. Nele, devem ser configurados os seguintes dados:
Domínio da plataforma,
API Key do usuário
Informações do processo a ser aprovado.
Nome da etapa a ser considerada na busca.
Nome do campo documento.
Código do template utilizado no campo.
Nome do campo metadado.
Exemplo de configuração:
DOMAIN=<DOMINIO DA PLATAFORMA> API_KEY=<CHAVE OPEN API DO USUAIRO> CODIGO_PROCESSO=<CODIGO DO PROCESSO> VERSAO_PROCESSO=<VERSAO DO PROCESSO> NOME_ATIVIDADE=<NOME DA ATIVIDADE PARA CONSULTA> CAMPO_DOCUMENTO=<NOME DO CAMPO TIPO DOCUMENTO> CODIGO_TEMPLATE=<CODIGO DO TEMPLATE UTILIZADO NO CAMPO DOCUMENTO> CAMPO_METADADO=<NOME DO CAMPO METADADO A SER ALTERADO>
RotasOpenAPIConfig
A classe RotasOpenAPIConfig
deve ser configurada com os valores definidos no arquivo application.properties
. Isso permite a autenticação com o OpenAPI em todas as requisições realizadas.
Exemplo:
RotasOpenAPIConfig.setDomain(config.getDomain()); RotasOpenAPIConfig.setCredentials(config.getApiKey());
RotasOpenAPI
Primeiramente recuperamos uma lista de ProcessosPendentesUser
atravéz do RotasOpenApi
, realizando um filtro pelo nos da etapa atual do processo.
ResponseOpenApi<List<ProcessosPendentesUser>> processosPendentes = RotasOpenApi .processo() .buscarProcessosPendentes() .porCodigoProcesso(Integer.valueOf(config.getCodigoProcesso())) .porVersaoProcesso(Integer.valueOf(config.getVersaoProcesso())) .porNomeAtividade(config.getNomeAtividade()) .executar();
Por fim, iteramos sobre a lista retornada, utilizando o RotasOpenApi
para atualizar o campo metadado do documento no campo indicado.
for(ProcessosPendentesUser processo : processosPendentes.getContent()){ // Recupera dados do campo e documento para atualização InfoCampoTemplate campoTemplate = recuperaDadosDocumento(processo, config.getCampoDocumento()); if (campoTemplate == null) { return; } ResponseOpenApi<RetornoInclusaoSubstituicaoDocumento> response = RotasOpenApi .documento() .substituirDocumento() .setTipoSubstituicao(TipoSubstituicaoDocumento.REVISAO) .setDocumentId(Integer.valueOf(campoTemplate.getDocumentId())) .setIdTemplate(Integer.valueOf(config.getCodigoTemplate())) .addMetadados(config.getCampoMetadado(),"Valor a ser inserido no campo metadado") .executar(); if (response.getStatus() < 200 || response.getStatus() >= 300) { LOGGER.error("Erro ae executar UPPER_CAMEL. Erros: {}", response.getErros()); return; } LOGGER.debug("Metadado do documento atualizado com sucesso. ID da instância: {}", processo.getProcessInstanceId()); }
Conclusão
Este exemplo demonstrou o funcionamento do template disponibilizado pelo Marketplace para a edição de metadados em documentos de campos template. É importante ressaltar que este é um modelo básico. Após a inclusão deste template na sua plataforma, ele pode ser ajustado conforme as necessidades do seu cenário específico.
0 Comentários