Histórico da Página
Índice
Índice | ||||||
---|---|---|---|---|---|---|
|
Objetivo
Além de algumas APIs REST, o fluig disponibiliza também uma série de Web Services SOAP (Simple Object Access Protocol). Neste documento mostraremos como habilitar ou desabilitar esses serviços, como gerar os stubs para utilizá-los em softwares terceiros e como utilizá-los dentro do próprio fluig.
Pré-requisitos
Para que se tenha uma compreensão completa destas informações, alguns conhecimentos são considerados pré-requisitos, entre eles:
- Visão geral sobre o fluig
- Visão geral sobre integração de sistemas
- Web Services
Antes de começar
Os Web Services SOAP, apesar de continuarem funcionais, não recebem mais novos serviços nem alterações nos parâmetros de entrada. Caso haja, opte por usar a função correspondente nas APIs REST.
Como acessar
Para acessar os webservices do TOTVS Fluig Plataforma, é preciso acessar o URL https://<endereco_fluig:porta>/services.
Nossos serviços estão descritos no formato WSDL (Linguagem de Descrição de Serviços Web)
Segurança
Existem dois principais dispositivos de segurança para o uso dos Web Services SOAP.
Permissão por Web Services e/ou métodos
Por padrão, todos os usuários do fluig podem acessar os serviços. Isso facilita integrações e widgets que possam fazer uso dos serviços SOAP. Mas o administrador do sistema, caso queira, pode bloquear o uso dos serviços como um todo ou de alguns métodos.
Por motivos de retrocompatibilidade, é impossível bloquear o acesso dos serviços SOAP a todos os usuários. O fluig entende que se não há ninguém nas permissões é porque o administrador não quer configurar essa permissão, então para bloquear o acesso dos usuários normais ele deve dar permissão apenas a um usuário (o próprio administrador por exemplo);
Para bloquear o acesso a todos os métodos de um serviço, por exemplo, ECMWorkflowEngineService, o administrador deve entrar no painel de controle e acessar a opção de permissões. Pesquisar por ECMWorkflowEngineService. Irá listar tanto o acesso geral à API ECMWorkflowEngineService quanto a cada um dos métodos.
O administrador pode adicionar permissões para ele próprio no serviço geral do ECMWorkflowEngineService e isso fará com que nenhum usuário possa acessar os métodos desse serviço. Caso queira liberar um método específico , por exemplo startProcess, o administrador pode, mantendo a configuração anterior, acessar as permissões do recurso ECMWorkflowEngineService.startProcess adicionar as permissões conforme a sua necessidade.
Ou se quiser manter acesso a todos os outros métodos mas bloquear somente um método específico, ele deve manter as permissões gerais do serviço sem nenhuma configuração de permissão, e adicionar o usuário administrador nas permissões do método que deseja que seja bloqueado aos demais usuários.
Nota | ||
---|---|---|
| ||
Alguns métodos não foram criados para retornar erros. Então alguns métodos podem retornar informações vazias caso o acesso seja negado. Nestes casos, o log pode ser consultado para verificar a negação de acesso ao serviço. |
Personificação
Por lidar com integrações, alguns métodos permitem que o usuário integrador tome uma ação em nome de outro usuário (por exemplo, um serviço terceiro que utiliza um usuário para integrações pode abrir um chamado em nome de um usuário normal do fluig). Você pode limitar os usuários que conseguem tomar ação em nome de outros usuários pelos Web Services entrando no painel de controle e acessando a opção de permissões. Pesquisar por Personificação.
Nota | ||
---|---|---|
| ||
Assim como nas permissões dos Web Services, o fluig entende que se não há ninguém nas permissões é porque o administrador não quer configurar essa permissão, então para bloquear o acesso dos usuários normais ele deve dar permissão apenas a um usuário (o próprio administrador por exemplo) |
Permissões das funções acessadas
Independente das permissões anteriores, o fluig continua respeitando as permissões inerentes às funções acessadas. Ou seja, para configurar um processo, o usuário precisa ter acesso a página de configurar processos. Para acessar um documento, o usuário precisa ter permissão para visualizar o documento em si.
Como utilizar os Web Services em softwares terceiros
Verificando os serviços e chamadas manuais
Se você quer verificar o uso dos serviços ou mesmo fazer uma chamada individual você pode fazê-lo através de um aplicativo qualquer com suporte a requisições do tipo SOAP. Insira a url de um dos serviços disponíveis na url /services e preencha os dados conforme solicitado pelo aplicativo.
Criando rotinas automatizadas
O primeiro passo é fazer o download dos stubs, que são classes modelos que irão auxiliar no preenchimento dos dados utilizados por cada um dos serviços.
JDK 11 e superiores
Nas versões mais recentes da JDK o utilitário wsimport foi removido. Você pode baixar por outras fontes ou utilizar no lugar o Apache CXF (https://cxf.apache.org/) e gerando a biblioteca com os arquivos baixados
Bloco de código | ||||
---|---|---|---|---|
| ||||
wsdl2java -client -d C:\stubs\ -classdir C:\stubs\ -encoding UTF-8 -compile https://<endereco_fluig:porta>/webdesk/ECMWorkflowEngineService?wsdl
jar -cvf fluig-ws-client.jar C:\stubs\*.* |
JDK 8 e inferiores
Se você usa a JDK do java na versão 8 ou inferior, você pode utilizar este utilitário que disponibilizamos para gerar os stubs de todos os serviços.
Ou fazer de forma manual, caso precise apenas de um Web Service específico, usando o comando wsimport e gerando a biblioteca:
Bloco de código | ||||
---|---|---|---|---|
| ||||
wsimport -d C:\stubs\ https://<endereco_fluig:porta>/webdesk/ECMWorkflowEngineService?wsdl
jar -cvf fluig-ws-client.jar C:\stubs\*.* |
Importando a lib e desenvolvendo sua integração
Após a geração do arquivo fluig-ws-client.jar (conforme descrito nos passos anteriores) você pode desenvolver sua própria API.
Se quiser gerar uma biblioteca para usar dentro do próprio Fluig, ou mesmo alguns exemplos de como utilizar as integrações, você pode consultar nossa documentação
Para saber como ou então aprender como utilizar a biblioteca gerada, aqui você encontra um exemplo prático de utilização em artefatos publicados no fluig.
POST, não PUT
É importante salientar que todos os dados enviados (ou não enviados) em um método de alteração são considerados. Se um campo não for enviado, o sistema vai considerar que o valor dele deve ser deixado em branco, nulo ou zerado, conforme o tipo de dado. Então, mesmo que você queira apenas modificar a descrição do arquivo, você deve passar todos os outros dados do documento.
Disponibilidade dos Web Services
Lembre-se que a sua integração pode ocorrer em um momento que o fluig não está no ar. Seja por uma atualização ou regra de economia de energia, esteja preparado nas suas integrações para indisponibilidade do servidor. Ou seja, use try/catch.
Como utilizar os Web Services do Fluig no próprio Fluig?
Você pode utilizar os serviços do Fluig no próprio Fluig, da mesma forma que utiliza serviços de terceiros. Para isso, o administrador deve entrar no Painel de Controle e acessar a opção de Serviços. Criar um novo serviço do tipo SOAP, definir um nome (por exemplo ECMWorkflowEngineService, este nome será usado depois para referenciar este cadastro), uma descrição para outros identificarem que serviço é este e a URL do serviço (por exemplo, https://<endereco_fluig:porta>/webdesk/ECMWorkflowEngineService?wsdl)
Usando o editor web (sem codificação)
Na configuração de processo, crie ou edite um processo e adicione uma atividade de serviço. Acesse as propriedades dessa atividade e selecione o serviço ECMWorkflowEngineService (ou o nome que você utilizou no cadastro) e selecione a operação (por exemplo, startProcess).
Preencha os campos que serão utilizados e confirme.
Codificando
Você também pode fazer a codificação da chamada dos métodos dos serviços, fazendo com quem um dataset faça a inicialização da solicitação ou mesmo caso a opção sem codificação não atenda as suas necessidades. Para lhe ajudar, criamos este exemplo:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
function startProcess() {
var serviceHelper = ServiceManager.getService("ECMWorkflowEngineService").getBean();
var serviceLocator = serviceHelper.instantiate("com.totvs.technology.ecm.workflow.ws.ECMWorkflowEngineServiceService");
var service = serviceLocator.getWorkflowEngineServicePort();
// Lista das matrículas de usuários que irão receber a atividade. Normalmente é um usuário, mas no caso de um consenso podem ser vários
var colleagueIds = serviceHelper.instantiate('net.java.dev.jaxb.array.StringArray');
colleagueIds.getItem().add("adm");
// Chama o serviço para iniciar a solicitação e recebe o retorno
// O retorno do startProcess é um String[][], ou no Soap, um StringArrayArray
var retornoStartProcess = service.startProcess(
'integrador', // matrícula do usuário integrador
'9a411f45fcea479ffb839a3ee605c18d', // senha do usuário
1, // código da empresa
"processoASerIniciado", // código do processo
2, // código da atividade para qual a solicitação vai ser movimentada
colleagueIds,
"Iniciado via ws", // Comentário da movimentação
'integrador', // Usuário que ficará como o inicializador da solicitação. O usuário integrador precisa ter personificação caso seja um usuário diferente do integrador
true, // Se vai completar a tarefa inicial (true) ou não, vai apenas salvar a solicitação para gerar um código e preencher o formulário, anexos e comentários
serviceHelper.instantiate('com.totvs.technology.ecm.workflow.ws.ProcessAttachmentDtoArray'), // Lista de anexos. Mesmo que não seja enviado nenhum, é necessário enviar a lista vazia
serviceHelper.instantiate('net.java.dev.jaxb.array.StringArrayArray'), // Dados do formulário. Mesmo que não tenha formulário ou não seja preenchido, é necessário enviar a lista vazia
serviceHelper.instantiate('com.totvs.technology.ecm.workflow.ws.ProcessTaskAppointmentDtoArray'), // Apontamentos da solicitação. Não é mais utilizado, mas por compatibilidade é necessário enviar a lista vazia
false // Se a movimentação é feita como usuário responsável pela atividade ou como gestor do processo
);
var retorno = stringArrayArrayToSimpleObject(retornoStartProcess);
if (retorno.ERROR) {
// Interrompe a execução ou movimentação e retorna um erro com a resposta do serviço
throw "Solicitação não iniciada: " + retorno.ERROR;
} else {
// Imprime o código da solicitação criada pelo serviço e depois imprime todos os dados que foram retornados
log.info("Solicitação " + retorno.iProcess + " criada com sucesso");
log.dir(retorno)
}
}
function stringArrayArrayToSimpleObject(stringArrayArray) {
var objeto = {};
for(var i = 0; i < stringArrayArray.getItem().size(); i++) {
var item = stringArrayArray.getItem().get(i).getItem();
objeto[item.get(0)] = item.get(1);
}
return objeto;
}
|
Ou, se preferir um exemplo um pouco maior, mas contendo mais detalhes sobre o que é cada parâmetro e desenvolvido para ser melhor re-utilizável, você pode conferir este exemplo que faz o mesmo que o exemplo anterior
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//configure os dados do seu usuário integrador
var INTEGRADOR = {
matricula: 'integrador',
senha: '9a411f45fcea479ffb839a3ee605c18d',
empresa: 1
};
// conforme o cadastro do fluig
var SERVICOS = {
workflowEngineService: "ECMWorkflowEngineService"
}
/**
* Função que cria uma solicitação via Soap no Fluig
*
*/
function startProcess() {
var serviceHelper = getECMWorkflowEngineServiceHelper();
var service = getECMWorkflowEngineService(serviceHelper);
// Nome do processo a ser iniciado
var processId = "processoASerIniciado";
// Atividade para qual será movimentada a solicitação
var choosedState = 2;
// Lista das matrículas de usuários que irão receber a atividade. Normalmente é um usuário, mas no caso de um consenso podem ser vários
var colleagueIds = createStringArray(serviceHelper);
colleagueIds.getItem().add("adm");
// Comentário da movimentação
var comments = "Iniciado via ws";
// Usuário que ficará como o inicializador da solicitação. O usuário integrador precisa ter personificação caso seja um usuário diferente do integrador
var userId = INTEGRADOR.matricula;
// Se vai completar a tarefa inicial (true) ou não, vai apenas salvar a solicitação para gerar um código e preencher o formulário, anexos e comentários
var completeTask = true;
// Lista de anexos. Mesmo que não seja enviado nenhum, é necessário enviar a lista vazia
var attachments = createProcessAttachmentDtoArray(serviceHelper);
// Dados do formulário. Mesmo que não tenha formulário ou não seja preenchido, é necessário enviar a lista vazia
var cardData = createStringArrayArray(serviceHelper);
// Apontamentos da solicitação. Não é mais utilizado, mas por compatibilidade é necessário enviar a lista vazia
var appointments = createProcessTaskAppointmentDtoArray(serviceHelper);
// Se a movimentação é feita como usuário responsável pela atividade ou como gestor do processo
var managerMode = false;
// Chama o serviço para iniciar a solicitação e recebe o retorno
// O retorno do startProcess é um String[][], ou no Soap, um StringArrayArray
var retornoStartProcess = service.startProcess(
INTEGRADOR.matricula,
INTEGRADOR.senha,
INTEGRADOR.empresa,
processId,
choosedState,
colleagueIds,
comments,
userId,
completeTask,
attachments,
cardData,
appointments,
managerMode
);
var retorno = stringArrayArrayToSimpleObject(retornoStartProcess);
if (retorno.ERROR) {
// Interrompe a execução ou movimentação e retorna um erro com a resposta do serviço
throw "Solicitação não iniciada: " + retorno.ERROR;
} else {
// Imprime o código da solicitação criada pelo serviço e depois imprime todos os dados que foram retornados
log.info("Solicitação " + retorno.iProcess + " criada com sucesso");
log.dir(retorno)
}
}
function getECMWorkflowEngineServiceHelper() {
return ServiceManager.getService(SERVICOS.workflowEngineService).getBean();
}
function getECMWorkflowEngineService(serviceHelper) {
var serviceLocator = serviceHelper.instantiate("com.totvs.technology.ecm.workflow.ws.ECMWorkflowEngineServiceService");
return serviceLocator.getWorkflowEngineServicePort();
}
/**
* Cria uma variável similar ao String[] que é utilizado pelo Soap
* @param serviceHelper O wsdl que contém o mapeamento da estrutura de um objeto do tipo net.java.dev.jaxb.array.StringArray
* @returns Um objeto do tipo net.java.dev.jaxb.array.StringArray conforme o mapeamento do wsdl
*/
function createStringArray(serviceHelper) {
return serviceHelper.instantiate('net.java.dev.jaxb.array.StringArray');
}
/**
* Cria uma variável similar ao String[][] que é utilizado pelo Soap
* @param serviceHelper O wsdl que contém o mapeamento da estrutura de um objeto do tipo net.java.dev.jaxb.array.StringArrayArray
* @returns Um objeto do tipo net.java.dev.jaxb.array.StringArrayArray conforme o mapeamento do wsdl
*/
function createStringArrayArray(serviceHelper) {
return serviceHelper.instantiate('net.java.dev.jaxb.array.StringArrayArray');
}
/**
* Cria uma variável similar ao ProcessAttachmentDto[] que é utilizado pelo Soap
* @param serviceHelper O wsdl que contém o mapeamento da estrutura de um objeto do tipo com.totvs.technology.ecm.workflow.ws.ProcessAttachmentDtoArray
* @returns Um objeto do tipo com.totvs.technology.ecm.workflow.ws.ProcessAttachmentDtoArray conforme o mapeamento do wsdl
*/
function createProcessAttachmentDtoArray(serviceHelper) {
return serviceHelper.instantiate('com.totvs.technology.ecm.workflow.ws.ProcessAttachmentDtoArray');
}
/**
* Cria uma variável similar ao ProcessTaskAppointmentDto[] que é utilizado pelo Soap.
*
* Estes apontamentos não são mais usados, mas como não devemos mexer na assinatura dos métodos Soap para não quebrar os stubs já gerados é obrigatório mandar, ainda que vazio
*
* @param serviceHelper O wsdl que contém o mapeamento da estrutura de um objeto do tipo com.totvs.technology.ecm.workflow.ws.ProcessTaskAppointmentDtoArray
* @returns Um objeto do tipo com.totvs.technology.ecm.workflow.ws.ProcessTaskAppointmentDtoArray conforme o mapeamento do wsdl
*/
function createProcessTaskAppointmentDtoArray(serviceHelper) {
return serviceHelper.instantiate('com.totvs.technology.ecm.workflow.ws.ProcessTaskAppointmentDtoArray');
}
/**
* Transforma um objeto do tipo StringArrayArray (String[][]) em um objeto Javascript
*
* <item>
* <item>campo</item>
* <item>valor</item>
* </item>
*
* Vira:
*
* {'campo': 'valor'}
*
* @param stringArrayArray
* @returns Um objeto do tipo javascript
*/
function stringArrayArrayToSimpleObject(stringArrayArray) {
var objeto = {};
for(var i = 0; i < stringArrayArray.getItem().size(); i++) {
var item = stringArrayArray.getItem().get(i).getItem();
objeto[item.get(0)] = item.get(1);
}
return objeto;
} |
Objetivo
O objetivo deste documento é descrever a utilização de Webservices, mostrar e explicar todos seus métodos, disponibilizar exemplos de classes que utilizam esses Webservices e mostrar exemplos de geração de stubs que são necessários para que os client’s possam se comunicar com o serviço.
Criar Stubs
Os stubs são necessários para que os client’s que utilizam os métodos dos Webservices possam se comunicar com o serviço.
Para criar um stub é necessário que o serviço do Fluig esteja inicializado. Depois de iniciar o serviço, deve-se abrir o Prompt de comando e utilizar a sintaxe: wsimport -d <output_directory> <wsdl_url>, onde output_directory é o diretório onde o stub será criado e wsdl_url é a url de acesso ao serviço. Após isso, basta apertar Enter e o resultado aparecerá conforme mostra a figura 1.
Figura 1: Exemplo de criação de stub
Expandir | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
No quadro 1, é mostrado o comando necessário para criação de stubs de cada serviço disponível no Fluig.
Quadro 1: Comandos para criação de stubs.
|
Considerações Métodos de Update
Para os métodos de update que recebem objetos complexos (DocumentDto, ColleagueDto, GroupDto, etc) é obrigatório passar todos os campos do objeto alterado. Os campos não informados serão substituídos por branco, nulo ou zero, dependendo do seu tipo.
Para evitar esta situação, sugerimos sempre utilizar os métodos get para recuperar o objeto, efetuar as alterações nos campos necessários e enviá-lo para o método update.
ECMAttributionMecanismService
Webservice responsável por realizar operações referentes aos mecanismos de atribuição cadastrados no Fluig. Pode ser utilizado para pesquisar os mecanismos de atribuição de uma determinada empresa.
Métodos
Expandir | ||
---|---|---|
| ||
-
Quadro 2: Métodos da AttributionMecanismService.
|
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosAttributionMecanismService é disponibilizada a classe AttributionMecanismServiceClient.java, esta exemplifica a utilização de todos os métodos da classe AttributionMecanismService.
ECMBusinessPeriedService
Webservice responsável por realizar operações referentes aos expedientes cadastrados no Fluig. Pode ser utilizado para pesquisar os expedientes de uma determinada empresa.
Métodos
Expandir | ||
---|---|---|
| ||
-
Quadro 3: Métodos da BusinessPeriodService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosBusinessPeriodService é disponibilizada a classe BusinessPeriodServiceClient.java, esta exemplifica a utilização de todos os métodos da classe BusinessPeriodService.
ECMCardIndexService
Webservice responsável por realizar operações referentes aos formulários cadastrados no Fluig.
Métodos
Expandir | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
-
Quadro 4: Métodos da CardIndexService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosCardIndexService é disponibilizada a classe CardIndexServiceClient.java, esta exemplifica a utilização de todos os métodos da classe CardIndexService.
ECMCardService
Webservice responsável por realizar operações referentes a formulários no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar formulários, entre outras funcionalidades.
Métodos
Expandir | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
-
Quadro 5: Métodos da CardService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosCardService é disponibilizada a classe CardServiceClient.java, esta exemplifica a utilização de todos os métodos da classe CardService.
ECMColleagueGroupService
Webservice responsável por realizar operações referentes aos grupos de usuários no Fluig. Pode ser utilizado para relacionar um usuário a um grupo de usuários e serve também para alterar, excluir e pesquisar esses relacionamentos criados.
Métodos
Expandir | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
-
Quadro 6: Métodos da ColleagueGroupService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosColleagueGroupService é disponibilizada a classe ColleagueGroupServiceClient.java, esta exemplifica a utilização de todos os métodos da classe ColleagueGroupService.
ECMColleagueReplacementService
Webservice responsável por realizar operações referentes a usuários substitutos no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar usuários substitutos, entre outras funcionalidades.
Métodos
Expandir | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
-
Quadro 7: Métodos da ColleagueReplacementService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosColleagueReplacementService é disponibilizada a classe ColleagueReplacementServiceClient.java, esta exemplifica a utilização de todos os métodos da classe ColleagueReplacementService.
ECMColleagueService
Webservice responsável por realizar operações referentes a usuários no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar usuários, entre outras funcionalidades.
Atenção: Os métodos createColleague, createColleaguewithDependencies, updateColleague e updateColleaguewithDependencies, em um dos seus parâmetros, recebe uma lista de ColleagueDto, nos objetos destas listas os valores para os campos de senha (password) devem ser criptografados com o algoritmo de hash MD5.
Métodos
Expandir | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
-
Quadro 8: Métodos da ColleagueService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\ExemplosColleagueService é disponibilizada a classe ColleagueServiceClient.java, esta exemplifica a utilização de todos os métodos da classe ColleagueService.
ECMCompanyService
Webservice responsável por realizar operações referentes à empresa no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar empresas, entre outras funcionalidades.
Métodos
Expandir | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
-
Quadro 9: Métodos da CompanyService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\Exemplos Webservices\ExemplosCompanyService é disponibilizada a classe CompanyServiceClient.java, esta exemplifica a utilização de todos os métodos da classe CompanyService.
ECMCustomFieldsService
Webservice responsável por interagir com os campos customizados do Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar campos customizados, entre outras funcionalidades.
Métodos
Expandir | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
-
Quadro 10: Métodos da CustomFieldsService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosCustomFieldsService é disponibilizada a classe CustomFieldsServiceClient.java, esta exemplifica a utilização de todos os métodos da classe CustomFieldsService
ECMDashBoardService
Webservice responsável por interagir com a central de tarefas do Fluig. Pode ser utilizado para pesquisar as informações que estão disponíveis na central de tarefas.
Métodos
...
title | No quadro 11, é mostrado todos os métodos disponíveis na classe DashBoardService. |
---|
-
...
findMyDocuments
...
Retorna os documentos do usuário que precisam ser aprovados.
Método:
findMyDocuments(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: DocumentDto[].
...
findMyDocumentsOnDemand
...
Retorna os documentos do usuário que precisam ser aprovados, paginados.
Método:
findMyDocumentsOnDemand(String user, String password, int companyId, String colleagueId, int limit, int lastRowId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
- limit: número de registros a serem retornados.
- lastRowId: última linha retornada.
Retorno: DocumentDto[].
...
findDocumentsToApprove
...
Retorna os documentos que o usuário precisa aprovar.
Método:
findDocumentsToApprove(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: DocumentDto[].
...
findDocumentsToApproveOnDemand
...
Retorna os documentos que o usuário precisa aprovar, paginados.
Método:
findDocumentsToApproveOnDemand(String user, String password, int companyId, String colleagueId, int limit, int lastRowId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
- limit: número de registros a serem retornados.
- lastRowId: última linha retornada.
Retorno: DocumentDto[].
...
findAgreementDocuments
...
Retorna os documentos do usuário que estão em consenso.
Método:
findAgreementDocuments(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: DocumentDto[].
...
findCheckoutDocuments
...
Retorna os documentos do usuário que estão em checkout.
Método:
findCheckoutDocuments(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: DocumentDto[].
...
findCancelledTasks
...
Retorna as tarefas atribuidas ao usuário que foram canceladas.
Método:
findCancelledTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowProcessDto[].
...
findCompletedTasks
...
Retorna as tarefas atribuidas ao usuário que foram finalizadas.
Método:
findCompletedTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowProcessDto[].
...
findConsensusTasks
...
Retorna as tarefas atribuidas ao usuário que estão em consenso.
Método:
findConsensusTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowProcessDto[].
...
findTransferredTasks
...
Retorna as tarefas atribuidas ao usuário que foram transferidas.
Método:
findTransferredTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowProcessDto[].
...
findWorkflowTasks
...
Retorna as tarefas do usuário que estão abertas.
Método:
findWorkflowTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowProcessDto[].
...
findWorkflowTasksOnDemand
...
Retorna as tarefas do usuário que estão abertas, paginadas.
Método:
findWorkflowTasksOnDemand(String user, String password, int companyId, String colleagueId, int limit, int lastRowId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
- limit: número de registros a serem retornados.
- lastRowId: última linha retornada.
Retorno: WorkflowProcessDto[].
...
findMyRequests
...
Retorna as solicitações abertas que foram inicializadas pelo usuário.
Método:
findMyRequests(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowProcessDto[].
...
findMyRequestsOnDemand
...
Retorna as solicitações abertas que foram inicializadas pelo usuário, paginadas.
Método:
findMyRequestsOnDemand(String user, String password, int companyId, String colleagueId, int limit, int lastRowId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
- limit: número de registros a serem retornados.
- lastRowId: última linha retornada.
Retorno: WorkflowProcessDto[].
...
findMyManagerTasks
...
Retorna as tarefas gerenciadas pelo usuário.
Método:
findMyManagerTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowProcessDto[].
...
findExpiredWorkflowTasks
...
Retorna as tarefas do usuário que estão em atraso
Método: findExpiredWorkflowTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowProcessDto[].
...
fillStatusTask
...
Retorna a quantidade de tarefas atrasadas, no prazo e sem prazo de um usuário.
Método:
fillStatusTask(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: int[].
...
fillChronoTasks
...
Retorna a quantidade de tarefas com prazo de conclusão que foram atribuidas ao usuário e não foram finalizadas.
Método:
fillChronoTasks(String user, String password, int companyId, String colleagueId, int yearIni, int yearFin, int mounthIni, int mounthFin, int dayIni, int dayFin, int kindTask)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
- yearIni: ano inicial.
- yearFin: ano final.
- mounthIni: mês inicial.
- mounthFin: mês final.
- dayIni: dia inicial.
- dayFin: dia final.
- kindTask: tipo da tarefa.
Retorno: int[].
...
fillTypeTasks
...
Retorna os tipos de tarefas que o usuário possui.
Método:
fillTypeTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: TaskVODto[].
...
fillTypeTasksOfReplacement
...
Retorna os tipos de tarefas que o usuário substituto possui.
Método:
fillTypeTasksOfReplacement(String user, String password, int companyId, String colleagueId, String replacementId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
- replacementId: matrícula do usuário substituto.
Retorno: TaskVODto[].
...
getOpenTasksByColleagueGroups
...
Retorna as tarefas atribuídas a um grupo que o usuário participa.
Método:
getOpenTasksByColleagueGroups(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowTaskDto[].
...
getOpenTasksByColleagueGroupsOnDemand
...
Retorna as tarefas atribuídas a um grupo que o usuário participa, paginadas.
Método:
getOpenTasksByColleagueGroupsOnDemand(String user, String password, int companyId, String colleagueId, int limit, int lastRowId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
- limit: número de registros a serem retornados.
- lastRowId: última linha retornada.
Retorno: WorkflowTaskDto[].
...
getOpenTasksByColleagueRoles
...
Retorna as tarefas atribuídas a um papel que o usuário participa.
Método:
getOpenTasksByColleagueRoles(String user, String password, int companyId, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
Retorno: WorkflowTaskDto[].
...
getOpenTasksByColleagueRolesOnDemand
...
Retorna as tarefas atribuidas a um papel workflow que o usuário participa, paginadas.
Método:
getOpenTasksByColleagueRolesOnDemand(String user, String password, int companyId, String colleagueId, int limit, int lastRowId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- colleagueId: matrícula do usuário.
- limit: número de registros a serem retornados.
- lastRowId: última linha retornada.
Retorno: WorkflowTaskDto[].
...
getSummaryRequests
...
Retorna os contadores de pendências da Home.
Método:
getSummaryRequests(int companyId, String user, String password, String colleagueId)
Parâmetros:
- companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- colleagueId: matrícula do usuário.
Retorno: HomeRequestSummaryDto[].
...
Retorna a url do servidor.
Método:
getUrlEcm(long companyId)
Parâmetros:
...
Quadro 11: Métodos da DashBoardService
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosDashBoardService é disponibilizada a classe DashBoardClient.java, esta exemplifica a utilização de todos os métodos da classe DashBoardService.
ECMDataServiceService
Webservice responsável por interagir com os serviços externos do Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar os serviços externos existentes.
Métodos
...
title | No quadro 12, é mostrado todos os métodos disponíveis na classe DataServiceService. |
---|
-
...
createDataService
...
Cria um serviço externo.
Método:
createDataService(int companyId, String user, String password, DataServiceDto[] dataServiceDto)
Parâmetros:
- companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- dataServiceDto: serviço externo que será criado.
Retorno: String.
...
Remove um serviço externo.
Método:
deleteDataService(int companyId, String user, String password, String dataServiceName)
Parâmetros:
...
Retorno: void.
...
Retorna todos os serviços externos cadastrados.
Método:
getAllServices(int companyId, String user, String password)
Parâmetros:
- companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
Retorno: dataServiceDto[].
...
Retorna um serviço externo.
Método:
loadDataService(int companyId, String user, String password, String dataServiceName)
Parâmetros:
- companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- dataServiceName: nome do serviço externo.
Retorno: dataServiceDto.
...
Atualiza um serviço externo.
Método:
createDataService(int companyId, String user, String password, DataServiceDto[] dataServiceDto)
Parâmetros:
- companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- dataServiceDto: serviço externo que será atualizado.
Retorno: void.
Quadro 12: Métodos da DataServiceService.
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosDataServiceService é disponibilizada a classe DataServiceService.java, esta exemplifica a utilização de todos os métodos da classe DataServiceService.
ECMDatasetService
Webservice responsável por interagir com os datasets do Fluig. Pode ser utilizado para pesquisar os datasets existentes.
Métodos
Expandir | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
-
Quadro 13: Métodos da DatasetService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosDatasetService é disponibilizada a classe DatasetServiceClient.java, esta exemplifica a utilização de todos os métodos da classe DatasetService.
ECMDocumentService
Webservice responsável por realizar operações referentes a documentos do Fluig. Pode ser utilizado para criar, alterar, excluir e procurar documentos, entre outras funcionalidades.
Métodos
Expandir | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
Quadro 14: Métodos da DocumentService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosDocumentService é disponibilizada a classe DocumentServiceClient.java, esta exemplifica a utilização de todos os métodos da classe DocumentService.
ECMFavoritesService
Webservice responsável por interagir com os documentos e processos favoritos do Fluig. Pode ser utilizado para pesquisar os documentos e processos favoritos de cada usuário.
Métodos
Expandir | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
-
Quadro 15: Métodos da FavoritesService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosFavoritesService é disponibilizada a classe FavoritesServiceClient.java, esta exemplifica a utilização de todos os métodos da classe FavoritesService.
ECMFolderService
Webservice responsável por realizar operações referentes a pastas no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar pastas, entre outras funcionalidades.
Métodos
Expandir | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||
-
Quadro 16: Métodos da FolderService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosFolderService é disponibilizada a classe FolderServiceClient.java, esta exemplifica a utilização de todos os métodos da classe FolderService.
ECMGlobalParamService
Webservice responsável por interagir com as configurações dos parâmetros gerais do Fluig. Pode ser utilizado para criar, alterar e pesquisar os parâmetros gerais.
Métodos
Expandir | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
-
Quadro 17: Métodos da GlobalParamService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosGlobalParamService é disponibilizada a classe GlobalParamServiceClient.java, esta exemplifica a utilização de todos os métodos da classe GlobalParamService.
ECMGroupService
Webservice responsável por realizar operações referentes a grupos no Fluig. Pode ser utilizado para criar, alterar, excluir e procurar grupos, entre outras funcionalidades.
Métodos
Expandir | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
-
Quadro 18: Métodos da GroupService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosGroupService é disponibilizada a classe GroupServiceClient.java, esta exemplifica a utilização de todos os métodos da classe GroupService.
ECMOutstandingService
Webservice responsável por interagir com as transferências de pendências do Fluig. Pode ser utilizado para transferir pendências de um usuário para outro usuário.
Métodos
Expandir | ||
---|---|---|
| ||
-
Quadro 19: Métodos da OutstandingService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosOutstandingService é disponibilizada a classe OutstandingServiceClient.java, esta exemplifica a utilização de todos os métodos da classe OutstandingService.
ECMReportService
Webservice responsável por realizar operações referentes à empresa no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar empresas, entre outras funcionalidades.
Métodos
Expandir | ||||
---|---|---|---|---|
| ||||
-
Quadro 20: Métodos da xxxxx |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosXXXX é disponibilizada a classe xxxxx.java, esta exemplifica a utilização de todos os métodos da classe xxxxxxx.
ECMSearchDocumentService
Webservice responsável por realizar operações referentes às buscas no Fluig. Pode ser utilizado para buscar documentos utilizando a busca simples e avançada.
Métodos
Expandir | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
-
Quadro 21: Métodos da SearchDocumentService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosSearchDocumentService é disponibilizada a classe SearchDocumentServiceClient.java, esta exemplifica a utilização de todos os métodos da classe SearchDocumentService.
ECMSignalService
Webservice responsável por realizar operações referentes à empresa no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar empresas, entre outras funcionalidades.
Métodos
Expandir | ||||
---|---|---|---|---|
| ||||
-
Quadro 22: Métodos da SignalService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosXXXX é disponibilizada a classe xxxxx.java, esta exemplifica a utilização de todos os métodos da classe xxxxxxx.
ECMTokenService
Webservice responsável por interagir com os token’s do Fluig. Pode ser utilizado para pesquisar e validar os token’s existentes.
Métodos
Expandir | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
-
Quadro 23: Métodos da TokenService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosTokenService é disponibilizada a classe TokenServiceClient.java, esta exemplifica a utilização de todos os métodos da classe TokenService.
ECMWorkflowEngineService
Webservice responsável por realizar operações referentes a workflow no Fluig. Pode ser utilizado para movimentar solicitações, entre outras funcionalidades.
Métodos
...
title | No quadro 24, é mostrado todos os métodos disponíveis na classe WorkflowEngineService. |
---|
-
...
calculateDeadLineHours
...
Calcula um prazo a partir de uma data com base no expediente e feriados cadastrados no produto passando o prazo em horas.
Método:
calculateDeadLineHours(String username, String password, int companyId, String userId, String data, int segundos, int prazo, String periodId)
Parâmetros:
- username - Usuário de Integração
- password - Senha de Integração
- companyId - Código da empresa
- userId - Matrícula do usuário
- data - data (Tipo String no formato "yyyy-MM-dd").
- segundos - Quantidade de segundos após a meia noite
- prazo - Prazo que será aplicado em horas (Variável int).
- periodId - Código de Expediente
Retorno: Objeto DeadLineDto que contem variáveis com a data e hora.
...
calculateDeadLineTime
...
Calcula um prazo a partir de uma data com base no expediente e feriados cadastrados no produto passando o prazo em minutos.
Método:
calculateDeadLineHours(String username, String password, int companyId, String userId, String data, int segundos, int prazo, String periodId)
Parâmetros:
- username - Usuário de Integração
- password - Senha de Integração
- companyId - Código da empresa
- userId - Matrícula do usuário
- data - data (Tipo String no formato "yyyy-MM-dd").
- segundos - Quantidade de segundos após a meia noite
- prazo - Prazo que será aplicado em minutos (Variável int).
- periodId - Código de Expediente
Retorno: Objeto DeadLineDto que contem variáveis com a data e hora.
...
cancelInstance
...
Cancela uma solicitação.
Método:
cancelInstance(String user, String password, int companyId, int processInstanceId, String userId, String cancelText)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- userId: mátricula do usuário.
- cancelText: comentários do cancelamento.
Retorno: String.
...
cancelInstanceByReplacement
...
Cancela uma solicitação utilizando usuário substituto.
Método:
cancelInstanceByReplacement(String user, String password, int companyId, int processInstanceId, String userId, String cancelText, String replacementId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- userId: mátricula do usuário.
- cancelText: comentários do cancelamento.
- replacementId: matrícula do usuário substituto.
Retorno: String.
...
Cria nova versão do processo workflow.
Método:
createWorkFlowProcessVersion(String user, String password, int companyId, int processId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: número da solicitação.
Retorno: String.
...
exportProcess
Retorna o processo selecionado em uma String.
Método:
exportProcess (String username, String password, int companyId, String processId)
Parâmetros:
...
Retorno: String que contém a definição do processo.
...
Retorna o processo selecionado no formato zip.
Método:
exportProcessInZipFormat(String username, String password, int companyId, String processId)
Parâmetros:
...
Retorno: byte[] que contém a definição do processo.
...
getActualThread
...
Retorna a sequência da thread de uma solicitação.
Método:
getActualThread(String user, String password, int companyId, int processInstanceId, int stateSequence)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
- stateSequence: sequência do estado.
Retorno: int.
...
getAllActiveStates
...
Retorna o número da atividade em que uma solicitação esta.
Método:
getAllActiveStates(String user, String password, int companyId, String userId, int processInstanceId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
- processInstanceId: número da solicitação.
Retorno: Integer[].
...
getAllProcessAvailableToExport
...
Retorna uma lista de processos disponíveis para serem exportados.
Método:
getAllProcessAvailableToExport (String username, String password, int companyId)
Parâmetros:
- username - Usuário de Integração
- password - Senha de Integração
- companyId - Código da empresa
Retorno: ProcessDefinitionDto[].
...
getAllProcessAvailableToImport
...
Retorna uma lista de processos disponíveis para serem importados.
Método:
getAllProcessAvailableToImport (String username, String password, int companyId)
Parâmetros:
- username - Usuário de Integração
- password - Senha de Integração
- companyId - Código da empresa
Retorno: ProcessDefinitionDto[]
...
getAttachments
...
Retorna os anexos de uma solicitação.
Método:
getAttachments(String user, String password, int companyId, String userId, int processInstanceId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
- processInstanceId: número da solicitação.
Retorno: ProcessAttachmentDto[].
...
getAvailableProcess
...
Retorna os processos que o usuário pode iniciar uma solicitação.
Método:
getAvailableProcess(String username, String password, int companyId, String userId)
Parâmetros:
- username: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
Retorno: ProcessDefinitionVersionDto[].
...
getAvailableProcessOnDemand
...
Retorna os processos que o usuário pode iniciar uma solicitação, paginados.
Método:
getAvailableProcessOnDemand(String username, String password, int companyId, String userId, int limit, int lastRowId)
Parâmetros:
- username: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
- limit: número de registros a serem retornados.
- lastRowId: última linha retornada.
Retorno: ProcessDefinitionVersionDto[].
...
getAvailableStates
...
Retorna o número da próxima atividade de uma solicitação.
Método:
getAvailableStates(String user, String password, int companyId, String processId, int processInstanceId, int threadSequence)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: código do processo.
- processInstanceId: número da solicitação.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: Integer[].
...
getAvailableStatesDetail
...
Retorna detalhes das atividades disponíveis para seleção..
Método:
getAvailableStatesDetail(String user, String password, int companyId, String processId, int processInstanceId, int threadSequence)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: código do processo.
- processInstanceId: número da solicitação.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: ProcessStateDto[].
...
getAvailableUsers
...
Retorna os usuários que podem executar a tarefa corrente de uma solicitação.
Método:
getAvailableUsers(String username, String password, int companyId, int processInstanceId, int state, int threadSequence)
Parâmetros:
- username: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- state: número da atividade.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[].
...
getAvailableUsersOnDemand
...
Retorna os usuários que podem executar a tarefa corrente de uma solicitação, paginados e com busca.
Método:
getAvailableUsersOnDemand(String username, String password, int companyId, int processInstanceId, int state, int threadSequence, int limit, int initialUser, String userSearch)
Parâmetros:
- username: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- state: número da atividade.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
- limit: número de registros a serem retornados.
- initialUser: última linha retornada.
- userSearch: texto a ser buscado.
Retorno: AvailableUsersDto.
...
getAvailableUsersStart
...
Retorna os usuários disponíveis na abertura de uma solicitação.
Método:
getAvailableUsersStart (String username, String password, int companyId, String processId, int state, int threadSequence)
Parâmetros:
- username: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: código do processo.
- state: número da atividade.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[].
...
getAvailableUsersStartOnDemand
...
Retorna os usuários disponíveis na abertura de uma solicitação, paginados e com busca.
Método:
getAvailableUsersStart (String username, String password, int companyId, String processId, int state, int threadSequence, int limit, int initialUser, String userSearch)
Parâmetros:
- username: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: código do processo.
- state: número da atividade.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
- limit: número de registros a serem retornados.
- initialUser: última linha retornada.
- userSearch: texto a ser buscado.
Retorno: AvailableUsersDto.
...
getCardValue
...
Retorna o valor de um campo da ficha.
Método:
getCardValue(String user, String password, int companyId, int processInstanceId, String userId, String cardFieldName)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- userId: mátricula do usuário.
- cardFieldName: nome do campo da ficha.
Retorno: String.
...
getHistories
...
Retorna lista de históricos de um processo.
Método:
getHistories (String username, String password, int companyId)
Parâmetros:
- username - Usuário de Integração
- password - Senha de Integração
- companyId - Código da empresa
- userId - Matrícula do usuário
- processInstanceId - número da solicitação workflow
Retorno: ProcessHistoryDto[].
...
getInstanceCardData
...
Retorna o valor dos campos da ficha de uma solicitação.
Método:
getInstanceCardData(String user, String password, int companyId, String userId, int processInstanceId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
- processInstanceId: número da solicitação.
Retorno: String[][].
...
Retorna o código do formulário vinculado ao processo.
Método:
getProcessFormId(String user, String password, int companyId, String userId, int processId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
- processId: número da solicitação.
Retorno: int.
...
Retorna a versão de um processo.
Método:
getWorkFlowProcessVersion(String user, String password, int companyId, int processId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: número da solicitação.
Retorno: int.
...
importProcess
...
Importa processos workflow.
Método:
importProcess(String user, String password, int companyId, String processId, Attachment file, boolean newProcess, boolean overWrite, String colleagueId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: código do processo.
- file: arquivo a ser importado.
- newProcess: indica se deve ser criado um processo ou atualizado o existente.
- overWrite: indica se as atividade e fluxos do processo existente dever ser sobrescritas.
- colleagueId : matrícula do usuário.
Retorno: String.
...
Importa processos workflow e formulário.
Método:
importProcessWithCard(String user, String password, int companyId, String processId, Attachment[] processAttachs, boolean newProcess, boolean overWrite, String colleagueId, int parentDocId, String docDescription, String cardDescription, String datasetName, Attachment[] cardAttachs, CardEventDto[] customEvents, boolean update)
Parâmetros:
...
Retorno: String.
...
Libera rocessos workflow.
Método:
releaseProcess(String user, String password, int companyId, String processId)
Parâmetros:
...
...
saveAndSendTask
...
Movimenta solicitação para próxima atividade.
Método:
saveAndSendTask(String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[] attachments, String[][] cardData, ProcessTaskAppointmentDto[] appointment, boolean managerMode, int threadSequence)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- choosedState: número da atividade.
- colleagueIds: usuário que receberá a tarefa.
- comments: comentários.
- userId: matrícula do usuário que vai executar a tarefa.
- completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
- attachments: anexos da solicitação.
- cardData: dados da ficha.
- appointment: apontamentos da tarefa.
- managerMode: indica se usuário esta executando a tarefa como gestor do processo.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[][].
...
saveAndSendTaskByReplacement
...
Movimenta solicitação para próxima atividade utilizando usuário substituto.
Método:
saveAndSendTaskByReplacement (String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[] attachments, String[][] cardData, ProcessTaskAppointmentDto[] appointment, boolean managerMode, int threadSequence, String replacementId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- choosedState: número da atividade.
- colleagueIds: usuário que receberá a tarefa.
- comments: comentários.
- userId: matrícula do usuário que vai executar a tarefa.
- completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
- attachments: anexos da solicitação.
- cardData: dados da ficha.
- appointment: apontamentos da tarefa.
- managerMode: indica se usuário esta executando a tarefa como gestor do processo.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
- replacementId: matrícula do usuário substituto.
Retorno: String[][].
...
saveAndSendTaskClassic
...
Movimenta solicitação para próxima atividade e retorna um array de objeto com chave e valor.
Método:
saveAndSendTaskClassic(String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[] attachments, KeyValueDto[] cardData, ProcessTaskAppointmentDto[] appointment, boolean managerMode, int threadSequence)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- choosedState: número da atividade.
- colleagueIds: usuário que receberá a tarefa.
- comments: comentários.
- userId: matrícula do usuário que vai executar a tarefa.
- completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
- attachments: anexos da solicitação.
- cardData: dados da ficha.
- appointment: apontamentos da tarefa.
- managerMode: indica se usuário esta executando a tarefa como gestor do processo.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: KeyValueDto[].
...
searchProcess
...
Busca processo disponíveis para inicialização.
Método:
searchProcess(String user, String Password, int companyId, String colleagueId, String content, boolean favorite)
Parametros
- user - Usuário de Integração
- password - Senha de Integração
- companyId - Código da empresa
- colleagueId - Matrícula do usuário
- content – nome do processo a ser pesquisado
- favorite – busca da lista de processos favoritos ou da listagem padrão.
Retorno: ProcessDefinitionVersionDto[]
...
setAutomaticDecisionClassic
...
Seleciona usuário(s) e avança atividade automática.
Método:
setAutomaticDecisionClassic(String user, String password, int companyId, int processInstanceId, int iTaskAutom, int iTask, int condition, String[] colleagueIds, String comments, String userId, boolean managerMode, int threadSequence)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- iTaskAutom: número da atividade automática.
- iTask: numero da atividade atual.
- condition: numero da condição da atividade automática.
- colleagueIds: usuário que receberá a tarefa.
- comments: comentários.
- userId: matrícula do usuário que vai executar a tarefa.
- managerMode: indica se usuário esta executando a tarefa como gestor do processo.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: KeyValueDto[]
...
setDueDate
...
Altera a data de prazo da tarefa.
Método:
setDueDate(String user, String password, int companyId, int processInstanceId, String userId, int threadSequence, String newDueDate, int timeInSeconds)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- userId: mátricula do usuário.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
- newDueDate: nova data de prazo da tarefa.
- timeInSeconds: quantidade de segundos após a meia noite.
Retorno: String.
...
setTasksComments
...
Altera os comentários da tarefa.
Método:
setTasksComments(String user, String password, int companyId, int processInstanceId, String userId, int threadSequence, String comments)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação.
- userId: mátricula do usuário.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
- comments: comentários.
Retorno: String.
...
simpleStartProcess
...
Inicia uma solicitação simples.
Método:
simpleStartProcess(String user, String password, int companyId, String processId, String comments, ProcessAttachmentDto[] attachments, String cardData[][])
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: código do processo.
- comments: comentários.
- attachments: anexos da solicitação.
- cardData: dados da ficha.
Retorno: String[].
...
startProcess
...
Inicia uma solicitação.
Método:
startProcess(String user, String password, int companyId, String processId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[] attachments, String[][] cardData, ProcessTaskAppointmentDto[] appointment, boolean managerMode)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: código do processo.
- choosedState: número da atividade.
- colleagueIds: usuário que receberá a tarefa.
- comments: comentários.
- userId: matrícula do usuário que vai iniciar a solicitação.
- completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
- attachments: anexos da solicitação.
- cardData: dados da ficha.
- appointment: apontamentos da tarefa.
- managerMode: indica se usuário esta iniciando a solicitação como gestor do processo.
Retorno: String[][].
...
startProcessClassic
...
Inicia uma solicitação e retorna um array de objeto com chave e valor.
Método:
startProcessClassic(String user, String password, int companyId, String processId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[] attachments, KeyValueDto[] cardData, ProcessTaskAppointmentDto[] appointment, boolean managerMode)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processId: código do processo.
- choosedState: número da atividade.
- colleagueIds: usuário que receberá a tarefa.
- comments: comentários.
- userId: matrícula do usuário que vai iniciar a solicitação.
- completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
- attachments: anexos da solicitação.
- cardData: dados da ficha.
- appointment: apontamentos da tarefa.
- managerMode: indica se usuário esta iniciando a solicitação como gestor do processo.
Retorno: String[][].
...
takeProcessTask
...
Assume uma tarefa.
Método:
takeProcessTask(String user, String password, int companyId, String userId, int processInstanceId, int threadSequence)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
- processInstanceId: número da solicitação.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String.
...
takeProcessTaskByReplacement
...
Assume uma tarefa utilizando usuário substituto.
Método:
takeProcessTask(String user, String password, int companyId, String userId, int processInstanceId, int threadSequence, String replacementId)
Parâmetros:
- user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- userId: matrícula do usuário.
- processInstanceId: número da solicitação.
- threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
- replacementId: matrícula do usuário substituto.
Retorno: String.
...
updateWorkflowAttachment
...
Atualiza um documento do tipo 7.
Retorna uma string contendo a descrição de sucesso ou falha da operação.
Método:
updateWorkflowAttachment(String username, String password, int companyId, int processInstanceId, String usuario, DocumentDto[] docdtos, Attachment[] attach)
Parâmetros:
- username: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- processInstanceId: número da solicitação workflow.
- usuario: usuário responsável pela edição do documento.
- docDtos: documento ou documentos que serão publicados.
- attachs: arquivo(s) anexado(s) na publicação.
Quadro 24: Métodos da WorkflowEngineService
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosWorkflowEngineService é disponibilizada a classe WorkflowEngineServiceClient.java, esta exemplifica a utilização de todos os métodos da classe WorkflowEngineService.
ECMWorkflowRoleService
Webservice responsável por realizar operações referentes a papéis no Fluig. Pode ser utilizado para criar, alterar, excluir e procurar papéis, entre outras funcionalidades.
Métodos
Expandir | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
-
Quadro 25: Métodos da WorkflowRoleService |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosECMWorkflowRoleService é disponibilizada a classe WorkflowRoleServiceClient.java, esta exemplifica a utilização de todos os métodos da classe WorkflowRoleService.
...