O objetivo deste documento é descrever os Web Services Soap do Fluig, com seus métodos, parâmetros e retornos
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
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
Cloak
visible
true
title
No quadro 2, é mostrado todos os métodos disponíveis na classe AttributionMecanismService.
getAttributionMecanism
Retorna os mecanismos de atribuição da empresa.
Método:
getAttributionMecanism(String user, String password, int companyId)
Faça o download da classe ECMAttributionMecanismService.java, esta exemplifica a utilização dos principais métodos da classe AttributionMecanismService.
ECMBusinessPeriodService
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
Cloak
visible
true
title
No quadro 3, é mostrado todos os métodos disponíveis na classe BusinessPeriodService.
getBusinessPeriods
Retorna os expedientes da empresa.
Método:
getBusinessPeriods(String user, String password, int companyId)
Faça o download da classe CardIndexServiceClient.java, esta exemplifica a utilização dos principais 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 outros recursos.
Exemplos de utilização
Faça o download da classe CardServiceClient.java, esta exemplifica a utilização dos principais métodos da classe CardService, que identifica os parametros a serem passados no carddtos.
Para visualizar um exemplo de montagem do xml, clique em download.
Métodos
Cloak
visible
true
title
No quadro 5, é mostrado todos os métodos disponíveis na classe CardService.
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
Cloak
visible
true
title
No quadro 6, é mostrado todos os métodos disponíveis na classe ColleagueGroupSevice.
createColleagueGroup
Associa um usuário a um grupo.
Método:
createColleagueGroup(String username, String password, int companyId, ColleagueGroupDto[] grupo_colaborador)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa;
grupo_colaborador: grupo que estará associado a um usuário.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
deleteColleagueGroup
Exclui um usuário de um grupo.
Método:
deleteColleagueGroup(String username, String password, int companyId, String groupId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
groupId: código do grupo.
colleagueId: matrícula do usuário.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getAllColleagueGroups
Retorna todos os grupos que possuem usuários relacionados.
Método:
getAllColleagueGroups(String username, String password, int companyId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
Retorno: ColleagueGroupDto[].
getColleagueGroup
Retorna somente um grupo que determinado usuário participa.
Método:
getColleagueGroup(String username, String password, int companyId, String groupId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
groupId: código do grupo.
colleagueId: matrícula do usuário.
Retorno: ColleagueGroupDto[].
Atributos de Retorno:
colleagueId
companyId
groupId
getColleagueGroupsByColleagueId
Retorna os grupos que um usuário participa.
Método:
getColleagueGroupsByColleagueId(String username, String password, int companyId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
Retorno: ColleagueGroupDto[].
Atributos de Retorno:
colleagueId
companyId
groupId
getColleagueGroupsByGroupId
Retorna os usuários que participam de um grupo de usuários.
Método:
getColleagueGroupsByGroupId(String username, String password, int companyId, String groupId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
groupId: código do grupo.
Retorno: ColleagueGroupDto[].
Atributos de Retorno:
colleagueId
companyId
groupId
updateColleagueGroup
Atenção
O método updateColleagueGroup foi depreciado, portanto não é recomendada a sua utilização em desenvolvimentos sobre a plataforma.
Altera a associação de um usuário a um grupo.
Método:
updateColleagueGroup(String username, String password, int companyId, ColleagueGroupDto[] grupo_colaborador)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
grupo_colaborador: grupo de usuários que será alterado.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 6: Métodos da ColleagueGroupService.
Exemplo de utilização
Faça o download da classe ColleagueGroupServiceClient.java, esta exemplifica a utilização dos principais 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 outros recursos.
Métodos
Cloak
visible
true
title
No quadro 7, é mostrado todos os métodos disponíveis na classe ColleagueReplacementService.
createColleagueReplacement
Cria um substituto.
Método:
createColleagueReplacement (String username, String password, int companyId, ColleagueReplacementDto crDto)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
crDto: cadastro do substituto.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
deleteColleagueReplacement
Exclui o cadastro de um substituto.
Método:
deleteColleagueReplacement(String username, String password, int companyId, String colleagueId, String replacementId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário origem.
replacementId: matrícula do usuário substituto.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getColleagueReplacement
Retorna um substituto de um usuário.
Método:
getColleagueReplacement(String username, String password, int companyId, String colleagueId, String replacementId)
updateColleagueReplacement (String username, String password, int companyId, ColleagueReplacementDto crDto)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
crDto: cadastro do usuário.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 7: Métodos da ColleagueReplacementService
Exemplo de utilização
Faça o download da classe ECMColleagueReplacementService.java, esta exemplifica a utilização dos principais 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 outros recursos.
Nota
title
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, exceto no caso de possuir o identity configurado, neste caso a senha deverá ser passada normalmente sem a criptografia.
Utilizado o hash MD5 no e-mail contendo os dados do usuário criado, é regra de negócio o campo senha ser apresentado em branco.
Métodos
Cloak
visible
true
title
No quadro 8, é mostrado todos os métodos disponíveis na classe ColleagueService.
createColleague
Cria um usuário.
Método:
createColleague(String username, String password, int companyId, ColleagueDto[] colleagues)
Faça o download da classe ColleagueServiceClient.java, esta exemplifica a utilização dos principais 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 outros recursos.
Métodos
Cloak
visible
true
title
No quadro 9, é mostrado todos os métodos disponíveis na classe CompanyService.
Faça o download da classe CompanyServiceClient.java, esta exemplifica a utilização dos principais 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 outros recursos.
Métodos
Cloak
visible
true
title
No quadro 10, é mostrado todos os métodos disponíveis na classe CustomFieldsService.
createCustomFields
Cria um campo customizado.
Método:
createCustomFields(String user, String password, int companyId, [] customFieldsDto)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
customFieldsDto: campo customizado que será criado.
Retorno: String, retorna OK caso os parâmetros da requisição estejam corretos.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getAllCustomField
Retorna todos os campos customizados.
Método:
getAllCustomField(String user, String password, int companyId)
removeCustomField(String user, String password, int companyId, String customFieldsId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
customFieldsId: código do campo customizado.
Retorno: String, retorna OK caso os parâmetros da requisição estejam corretos.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
removeDocumentCustomField
Exclui um campo customizado de um documento.
Método:
removeDocumentCustomField(String user, String password, int companyId, String customFieldsId, int documentId, int version)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
customFieldsId: código do campo customizado.
documentId: número do documento.
version: versão do documento.
Retorno:
Retorno: String, retorna OK caso os parâmetros da requisição estejam corretos.
.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
setDocumentCustomFields
Cria ou altera um campo customizado em um documento.
Método:
setDocumentCustomFields(String user, String password, int companyId, [] documentCustomFieldsDto)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
documentCustomFieldsDto: documento com campo customizado.
Retorno: String, retorna OK caso os parâmetros da requisição estejam corretos.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
updateCustomFields
Altera um campo customizado.
Método:
updateCustomFields(String user, String password, int companyId, [] customFieldsDto)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
customFieldsDto: campo customizado que será alterado.
Retorno: String, retorna OK caso os parâmetros da requisição estejam corretos.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 10: Métodos da CustomFieldsService
Exemplo de utilização
Faça o download da classe CustomFieldsServiceClient.java, esta exemplifica a utilização dos principais 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
Cloak
visible
true
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)
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.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
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.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
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.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
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.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorno: List de int[], com a quantidade de tarefas atrasadas.
fillChronoTasks
Retorna a quantidade de tarefas com prazo de conclusão que foram atribuídas 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.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorno: : Lista de int[], com a quantidade de tarefas com prazo de conclusão atribuída ao usuário.
fillTypeTasks
Retorna os tipos de tarefas que o usuário possui.
Método:
fillTypeTasks(String user, String password, int companyId, String colleagueId)
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Faça o download da classe ECMDashBoardService.java, esta exemplifica a utilização dos principais métodos da classe ECMDashBoardService.
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
Cloak
visible
true
title
No quadro 12, é mostrado todos os métodos disponíveis na classe DataServiceService.
Faça o download da classe DatasetServiceClient.java, esta exemplifica a utilização dos principais 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 outros recursos.
Dica
title
Dica!
Para transferir arquivos para a pasta de upload é recomendado a utilização do protocolo FTP. Para mais detalhes sobre o procedimento acesse a documentação Utilizando o protocolo FTP.
Não recomendamos passar via webservice arquivos convertidos em base 64 na tag <filecontent> pois existe uma limitação de quantidade da String. Indicamos a utilização em arquivos pequenos de no máximo 5mb
Informações
Faça download do exemplo contido em nosso repositório utilizando o arquivo soap-xml-document-service.
Métodos
Cloak
visible
true
title
No quadro 14, é mostrado todos os métodos disponíveis na classe DocumentService.
approveDocument
Aprova ou reprova documento pendente de aprovação.
Metodo:
approveDocument(int companyId, String userId, String password, int documentId, int version, String approverId, boolean approved, String observation)
Parâmetros:
user: código do usuário de integração.
password: senha do usuário de integração.
companyId: código da empresa.
documentId: código do documento a ser aprovado.
version: versão do documento a ser aprovado.
approverId: código do aprovador
approved: true se aprova o documento e false caso o documento sera reprovado.
Modifica o tipo da segurança dos grupos na permissão e na restrição. Existem duas opções que são representadas por um inteiro:
0 - TODOS os usuários dos Grupos.
1 - SOMENTE usuários comuns dos grupos.
Método:
updateGroupSecurityType(String user, String password, int companyId, int documentId, int version, int permissionType, int restrictionType, String colleagueId)
Parâmetros:
user: código do usuário de integração.
password: senha do usuário de integração.
companyId: código da empresa.
documentId: código do documento.
version: versão do documento.
permissionType: tipo da permissão (0 - TODOS os usuários dos Grupos / 1 - SOMENTE usuários comuns dos grupos)
restrictionType: tipo da restrição (0 - TODOS os usuários dos Grupos / 1 - SOMENTE usuários comuns dos grupos)
Faça o download da classe DocumentServiceClient.java, esta exemplifica a utilização dos principais métodos da classe DocumentService.
Informações
title
Nota
Alguns campos, entre eles Approved, ApprovedDate, CreateDate, LastModifiedDate, apesar de aparecerem no exemplo disposto não podem ser modificados, pois se tratam de campos de uso interno do sistema. Os campos são mantidos no objeto do Documento pois são necessários para o resgate dessas informações.
Informações
title
Integrações
Para os métodos de criação de documento (createDocument, createSimpleDocument, etc...) pode-se utilizar um usuário para autenticação e outro para publicação, pois pode ser necessário validar a permissão de outro usuário no momento de criar o documento no fluig.
Neste caso, quando o arquivo a ser publicado não é enviado na requisição (campo filecontent do parâmetro Attachment), ele poderá ser obtido na pasta de upload do usuário publicador, ou do usuário utilizado para autenticar no fluig via WS. Para isso, o documento deve estar na pasta de upload do usuário em questão, o que pode ser feito via FTP. Isso pode ser útil em integrações que utilizam o mesmo usuário (integrador) para autenticar no FTP e nos serviços.
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
Cloak
visible
true
title
No quadro 15, é mostrado todos os métodos disponíveis na classe FavoritesService.
addDocumentToFavorites
Adiciona um documento aos favoritos do usuário informado.
Método:
addDocumentToFavorites(String username, String password, int companyId, int nrDocument, int nrVersao, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
nrDocument: número do documento
nrVersao: versão do documento
colleagueId : matrícula do usuário.
Retorno: void.
addProcessToFavorites
Adiciona um processo aos favoritos do usuário informado.
Método:
addProcessToFavorites(String username, String password, int companyId,String processId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo
colleagueId : matrícula do usuário.
Retorno: void.
findFavorites
Retorna os documentos favoritos do usuário.
Método:
findFavorites(String user, String password, int companyId, String colleagueId)
isFavoriteDocument(String username, String password, int companyId, int nrDocument, String colleagueId)
Parâmetros:
username: login do usuário de integração.
password: senha do usuário.
companyId: código da empresa.
nrDocument: código do documento.
colleagueId: matricula do usuário.
Retorno: Boolean, documento favoritado.
removeFavoriteDocument
Remove um documento dos favoritos do usuário informado.
Método:
removeFavoriteDocument (String username, String password, int companyId, int nrDocument, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
nrDocument: número do documento
colleagueId : matrícula do usuário.
Retorno: void.
removeFavoriteProcess
Remove um processo dos favoritos do usuário informado.
Método:
addProcessToFavorites(String username, String password, int companyId,String processId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
colleagueId : matrícula do usuário.
Retorno: void.
Quadro 15: Métodos da FavoritesService
Exemplo de utilização
Faça o download da classe ECMFavoritesService.java, esta exemplifica a utilização dos principais 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 outros recursos.
Métodos
Cloak
visible
true
title
No quadro 16, é mostrado todos os métodos disponíveis na classe FolderService.
Faça o download da classe FolderServiceClient.java, esta exemplifica a utilização dos principais 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
Cloak
visible
true
title
No quadro 17, é mostrado todos os métodos disponíveis na classe GlobalParamService.
createGlobalParam
Cria parâmetros gerais para uma empresa.
Método:
createGlobalParam(String username, String password, int companyId, GlobalParamDto[] global)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
global: parâmetros gerais da empresa.
Retorno: String.
getGlobalParam
Retorna os parâmetros gerais de uma empresa.
Método:
getGlobalParam(String username, String password, int companyId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
Retorno: GlobalParamDto[].
getVolumes
Retorna os volumes da empresa.
Método:
getVolumes(String user, String password, int companyId)
dbDriver: driver do banco de dados (MySql- com.mysql.jdbc.Driver. SQLServer - net.sourceforge.jtds.jdbc.Driver. Oracle -oracle.jdbc.driver.OracleDriver)
dbUser: username banco de dados.
dbPassword: password banco de dados.
dbServer: servidor de conexão do banco de dados.
dbPort: porta servidor banco de dados.
dbScheme: database.
dbInstance: instância do banco, utilizada para SQLServer, caso não seja o caso passar em branco ("").
mailServer: nome do servidor SMTP.
emailSender: e-mail do remetente padrão do produto.
emailPort: porta do servidor SMTP.
emailDefaultSender:
emailUser: usuário de email, somente se o servidor necessitar de autenticação.
emailPassword: password do email, somente se o servidor necessitar de autenticação.
emailTLS: servidor utilizará criptografia no envio de email (true/false)
paramsRMTPTPort: porta utilizada pelo Flex.
lsType: tipo de licença utilizada, LM/LS.
paramsLSHost: servidor de licenças.
paramsLSPort: porta servidor de licenças.
paramsOpenOfficeDir: diretório de instalação do OpenOffice
paramsOpenOfficePorts: porta utilizado pelo OpenOffice
portsSetName: portas utilizadas pelo sistema (ports-default, ports-01, ports-02)
Retorno: String.
Atenção
Método depreciado e não mais utilizável no fluig.
updateGlobalParam
Altera parâmetros gerais de uma empresa.
Método:
updateGlobalParam(String username, String password, int companyId, GlobalParamDto[] global)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
global: parâmetros gerais da empresa.
Retorno: String.
Quadro 17: Métodos da GlobalParamService.
Exemplo de utilização
Faça o download da classe GlobalParamServiceClient.java, esta exemplifica a utilização dos principais 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 outros recursos.
Métodos
Cloak
visible
true
title
No quadro 18, é mostrado todos os métodos disponíveis na classe GroupService.
createGroup
Cria um grupo no fluig.
Método:
createGroup(String username, String password, int companyId, GroupDto[] grupos)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
grupos: grupo que será criado.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
deleteGroup
Exclui um grupo do fluig.
Método:
deleteGroup(String username, String password, int companyId, String groupId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
GroupId: código do grupo.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getGroup
Retorna um grupo cadastrado no fluig.
Método:
getGroups(String username, String password, int companyId, String groupId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
groupId: código do grupo.
Retorno: GroupDto[].
Atributos de Retorno:
companyId
groupDescription
groupId
getGroups
Retorna todos os grupos cadastrados no fluig.
Método:
getGroups(String username, String password, int companyId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
Retorno: GroupDto[].
Atributos de Retorno:
companyId
groupDescription
groupId
getGroupsByDescription
Retorna um grupo pela descrição.
Método:
getGroupsByDescription(String username, String password, int companyId, String desc)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
desc: descrição do grupo.
Retorno: GroupDto[].
Atributos de Retorno:
companyId
groupDescription
groupId
getOcurrenceByKey
Retorna se existe configuração de segurança para atribuição e valor da atribuição.
Método:
getOcurrenceByKey(String username, String password, int companyId, int pIdiAtribuic, String pDesValAtribuic)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
pIdiAtribuic: código da atribuição.
pDesValAtribuic: valor da atribuição.
Retorno: boolean.
updateGroup
Altera um grupo no fluig.
Método:
updateGroup(String username, String password, int companyId, GroupDto[] grupos)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
grupos: grupo que será alterado.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 18: Métodos da GroupService.
Exemplo de utilização
Faça o download da classe GroupServiceClient.java, esta exemplifica a utilização dos principais 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
Cloak
visible
true
title
No quadro 19, é mostrado todos os métodos disponíveis na classe OutstandingService.
transfer
Transfere pendências de um usuário para outro usuário.
colleagueIdFrom: matrícula do usuário origem (suas pendências serão tranferidas para o usuário destino).
colleagueIdTo: matrícula do usuário destino (receberá as pendências do usuário origem).
parameters: array de pendências que serão transferidas para o usuário destino.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 19: Métodos da OutstandingService.
Exemplo de utilização
Faça o download da classe OutstandingServiceClient.java, esta exemplifica a utilização dos principais métodos da classe OutstandingService.
ECMReportService
Webservice responsável por realizar operações referentes a relatórios no fluig. Pode ser utilizado para criar, alterar, excluir e procurar relatórios, entre outros recursos.
Métodos
Cloak
visible
true
title
No quadro 20, é mostrado todos os métodos disponíveis na classe ReportService.
createSimpleReport
Cria um relatório de maneira simplificada no fluig.
Método:
createSimpleReport(String username, String password, int companyId, int parentDocId, String reportDescription, Attachment[] attachments)
Faça o download da classe ReportServiceClient.java, esta exemplifica a utilização dos principais métodos da classe ReportService.
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
Cloak
visible
true
title
No quadro 21, é mostrado todos os métodos disponíveis na classe SearchDocumentService.
advancedSearchDocuments
Utiliza busca avançada.
Método:
advancedSearchDocuments(String user, String password, int companyId, String colleagueId, String content, boolean findAllDocumentTypes, boolean findFolders, boolean findDocuments, boolean findCardIndex, boolean findCards, boolean findExternalDocument, int documentParentId, Date startDate, Date finalDate)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
content: conteúdo da busca.
findAllDocumentTypes: indica se deve buscar todos os tipos de documentos.
findFolders: indica se deve buscar pastas.
findDocuments: indica se deve buscar documentos.
findCardIndex: indica se deve buscar formulários.
findCards: indica se deve buscar registros de formulários.
findExternalDocument: indica se deve buscar documentos externos.
Utiliza busca avançada através das opções de metadados e campos customizados.
Método:
advancedSearchDocuments(String user, String password, int companyId, String colleagueId, String content, SearchFields[] metadata, SearchFields[] customfields, boolean findAllDocumentTypes, boolean findFolders, boolean findDocuments, boolean findCardIndex, boolean findCards, boolean findExternalDocument, int documentParentId, Date startDate, Date finalDate)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
content: conteúdo da busca.
metadata: informações para busca a partir de metadados do arquivo, como publicador (usando o fieldName publisher), autor (author), descrição (description), descrição da versão/revisão (versionDescription), comentários (additionalComments), tags (tags), data de criação (createDate) e data da última alteração (lastUpdateDate).
customfields: informações para busca a partir de metadados de campos customizados, informando o código do campo customizado como fieldName e valor a ser utilizado como filtro.
findAllDocumentTypes: indica se deve buscar todos os tipos de documentos.
findFolders: indica se deve buscar pastas.
findDocuments: indica se deve buscar documentos.
findCardIndex: indica se deve buscar formulários.
findCards: indica se deve buscar registros de formulários.
findExternalDocument: indica se deve buscar documentos externos.
Faça o download da classe SearchDocumentServiceClient.java, esta exemplifica a utilização dos principais métodos da classe SearchDocumentService.
ECMSignalService
Webservice responsável por interagir com os sinais criados no fluig. Pode ser utilizado para criar, remover, enviar sinais ou consultar os sinais existentes.
Métodos
Cloak
visible
true
title
No quadro 22, é mostrado todos os métodos disponíveis na classe TokenService.
createSignal
Cria um sinal no fluig.
Método:
createSignal(String login, String password, int companyId, String description)
Parâmetros:
login: login do usuário.
password: senha do usuário.
companyId: código da empresa.
description: descrição do sinal.
Retorno: String.
deleteSignal
Remove um sinal criado no fluig.
Método:
deleteSignal(String login, String password, int companyId, int signalId)
Parâmetros:
login: login do usuário que será gerado pelo token.
password: senha do usuário.
companyId: código da empresa.
signalId: código do sinal.
Retorno: String.
fireSignal
Envia/ Dispara o sinal existente.
Método:
fireSignal (String login, String password, int companyId, int signalId)
Parâmetros:
login: login do usuário que será gerado pelo token.
password: senha do usuário.
companyId: código da empresa.
signalId: código do sinal.
Retorno: String.
getSignals
Retorna os sinais existentes no fluig.
Método:
getSignals(String login, String password, int companyId)
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...
Atenção
Caso haja necessidade de utilizar este método na primeira instância do processo, favor consultar a .
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.
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.
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.
newProcess: indica se deve ser criado um processo ou atualizado o existente.
overWrite: indica se as atividades e fluxos do processo existentes devem ser sobrescritas.
colleagueId : matrícula do usuário.
parentDocId: número do formulário.
docDescription: descrição.
cardDescription: nome.
datasetName: nome do dataset.
cardAttachs: arquivo anexo.
customEvents: eventos.
update: caso verdadeiro ('true'), informa que será uma atualização.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
releaseProcess
Libera processos workflow.
Método:
releaseProcess(String user, String password, int companyId, String processId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
Retorno: String. Estrutura de retorno com sucesso
Estrutura de retorno com erro
saveAndSendTask
Movimenta solicitação para próxima atividade.
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o valor.
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).
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[][].
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Exemplo de utilização com exclusão de anexo:
O exemplo de movimentação com exclusão de anexo está excluindo apenas um anexo, caso necessário excluir mais de um, adicione uma nova tag <item>
saveAndSendTaskByReplacement
Movimenta solicitação para próxima atividade utilizando usuário substituto.
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o valor.
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).
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[][].
Estrutura de retorno com sucesso
Estrutura de retorno com erro
saveAndSendTaskClassic
Movimenta solicitação para próxima atividade e retorna um array de objeto com chave e valor.
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o 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).
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.
Estrutura mínima para movimentação com anexo
xmlExemplo usando SoapUI
O exemplo de movimentação com anexo foi criado considerando do uso da pasta de upload do volume. Sendo assim, o arquivo para transferência deverá estar contido na pasta de upload do usuário.
Considerando o exemplo acima, o arquivo pdf_para_teste.pdf deverá estar contido na pasta do usuário, que fica localizada dentro do diretório upload no volume do fluig.
Caso não queira utilizar este tipo de transferência para anexo e sim a transferência via Bytes, devem ser adicionadas à estrutura, abaixo da tag <fileName>, as seguintes tags:
<fileSize> = para indicar o tamanho do arquivo
<filecontent> = que deverá conter os bytes referentes ao arquivo
Adicionando estas tags será ignorada a busca no diretório de upload do usuário, sendo considerado o arquivo contido na tag <filecontent>.
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: número da atividade atual.
condition: número 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.
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: matrícula do usuário. Quando é Para um Grupo ou Para um Papel deve ser passado da seguinte forma: Papel: "Pool:Role:CodigoDoPapel"; Grupo: "Pool:Group:CodigoDoGrupo".
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. Exemplo: "2014-08-20".
timeInSeconds: quantidade de segundos após a meia noite. Exemplo: "32000".
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
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.
colleagueIds: usuário que receberá a tarefa. Caso a solicitação esteja sendo atribuída "Para um Papel" ou "Para um Grupo", o parâmetro colleagueIds deve ser informado da seguinte forma: Papel: Pool:Role:Nome_do_papel Grupo: Pool:Group:Nome_do_grupo
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).
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.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
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.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
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.
documents: documento ou documentos que serão publicados.
attachments: arquivo(s) anexado(s) na publicação.
Observação:
Caso necessite atualizar somente o título do anexo, basta enviar a tag attachments vazio, exemplo:
<attachments></attachments>
Caso queira atualizar o arquivo do anexo será preciso informar o filename. Caso não tenha enviado o arquivo na pasta upload via FTP informe também o filecontent, exemplo:
Faça o download da classe ECMWorkflowEngineService.java, esta exemplifica a utilização dos principais 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 outros recursos.
Métodos
Cloak
visible
true
title
No quadro 24, é mostrado todos os métodos disponíveis na classe WorkflowRoleService.
createWorkflowRole
Cria um papel no fluig.
Método:
createWorkflowRole(String username, String password, int companyId, workflowRoleDto role)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
role: papel que será criado.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
deleteWorkflowRole
Exclui um papel do fluig.
Método:
deleteWorkflowRole(String username, String password, int companyId, String roleId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
roleId: código do papel a ser excluído.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getWorkflowRole
Retorna um papel cadastrado no fluig.
Método:
getWorkflowRole(String username, String password, int companyId, String roleId)