Roberty
Roberty
O módulo Roberty é responsável por integrar o robô a outros recursos do workspace: templates do IDP e projetos do Roberty Code. Seus métodos podem ser acessados conforme o exemplo abaixo:
const idpResult = await Roberty.RunIdpTemplate["v1_0_0"]({
templateId: "id-do-template-idp",
filePath: "C:\\Documentos\\nota.pdf",
robotKey: robotKey,
actionId: "lerNota",
});
Os dois métodos exigem robotKey, a chave do robô em execução (disponível na variável robotKey no código do robô), e actionId, um identificador da chamada. O actionId é exigido pela validação do método, mas não altera o resultado.
Métodos
RunIdpTemplate
Método responsável por enviar um arquivo local para um template IDP do workspace e aguardar o resultado do processamento.
const idpResult = await Roberty.RunIdpTemplate["v1_0_0"]({
templateId: "id-do-template-idp",
filePath: "C:\\Documentos\\nota.pdf",
page: "1-2",
params: { cliente: "ACME" },
timeout: 600000,
robotKey: robotKey,
actionId: "lerNota",
});
Parâmetros obrigatórios
templateId:String - espera o ID do template IDP do workspace.filePath:String - espera o caminho do arquivo a ser processado, no dispositivo que executa o robô: PDF ou imagem (png, jpg, jpeg, webp, tiff, tif, bmp). Se o arquivo não existir, o robô interrompe a execução com o erroFILE_NOT_FOUND.robotKey:String - espera a chave do robô em execução.actionId:String - espera um identificador da chamada.
Parâmetros opcionais
page:String - páginas a processar. Substitui as páginas configuradas no template e só é aceito quando o template permite escolher as páginas pela API.params:Object - objeto com os parâmetros do template.timeout:Number - tempo máximo de espera pelo resultado, em milissegundos.0espera indefinidamente. Padrão:600000(10 minutos). Ao atingir o limite, o robô interrompe a execução com o erroTIMEOUT.
Retorno
actions.idpResult.requestId // identificador da execução no IDP (String)
actions.idpResult.result // resultado completo do IDP: pré-processamento, identificação, extração, pós-processamento e validações (Any)
Se o processamento terminar com erro, o robô interrompe a execução com a mensagem de erro do IDP; se a execução expirar, com o erro EXPIRED.
RunCodeProject
Método responsável por executar um projeto do Roberty Code do workspace com argumentos e aguardar a saída.
const codeResult = await Roberty.RunCodeProject["v1_0_0"]({
codeId: "id-do-projeto-code",
args: { x: 1 },
deviceTarget: "leastBusy",
timeout: 600000,
robotKey: robotKey,
actionId: "calcular",
});
Parâmetros obrigatórios
codeId:String - espera o ID do projeto do Roberty Code.robotKey:String - espera a chave do robô em execução.actionId:String - espera um identificador da chamada.
Parâmetros opcionais
args:Object - objeto passado ao projeto como argumentos. Padrão:{}.deviceTarget:String - espera"leastBusy"(o dispositivo menos ocupado do projeto) ou"currentDevice"(o dispositivo que executa o robô, que precisa fazer parte do projeto). Padrão:"leastBusy".timeout:Number - tempo máximo de espera pela saída, em milissegundos.0espera indefinidamente. Padrão:600000(10 minutos). Ao atingir o limite, o robô interrompe a execução com o erroTIMEOUT.
Retorno
actions.codeResult.requestId // identificador da execução no Code (String)
actions.codeResult.response // saída do projeto (Any)
Se a execução do projeto falhar, o robô interrompe a execução com a mensagem de erro do projeto. Para projetos que não rodam em paralelo, a chamada é recusada com CODE_PROJECT_BLOCKS_PARALLEL_ON_CURRENT_DEVICE (quando deviceTarget é "currentDevice") ou NO_OTHER_DEVICE_FOR_BLOCKING_CODE_PROJECT (quando não há outro dispositivo disponível).