Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Índice
outlinetrue
exclude.*ndice
stylenone

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 clients possam se comunicar com o serviçoAlé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
  • WebServices

...

titleDica!

...

  • 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 Para acessar os webservices do TOTVS Fluig Plataforma, é preciso acessar o URL URL https://<endereco_fluig:porta>/webdesk/services.

Criar Stubs

Os stubs são necessários para que os clients 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. 

Nota
titleObservação
Foi criado um facilitador para gerar todos os stubs, basta baixar o documento Cliente Web Service.zip. Basta descompactá-lo e executar o arquivo "fluig-ws.sh", informe o nome e porta do servidor. Após executar, será gerado o "fluig-ws-client.jar". Importe o .jar para acesso ao serviço. Aqui você encontra um exemplo (ws-soap e webservice) prático de utilização em artefatos publicados no fluig.

Image Removed

Figura 1: Exemplo de criação de stub

...

visibletrue
titleLista de webservices

No Quadro 1 (abaixo) são listados os comandos necessários para a criação de stubs de cada serviço disponível no fluig.

...

Webservices (WSDL)

...

Comando

...

ECMAttributionMecanismService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMAttributionMecanismService?wsdl

...

ECMBusinessPeriodService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMBusinessPeriodService?wsdl

...

ECMCardIndexService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCardIndexService?wsdl

...

ECMCardService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCardService?wsdl

...

ECMColleagueGroupService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueGroupService?wsdl

...

ECMColleagueReplacementService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueReplacementService?wsdl

...

ECMColleagueService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueService?wsdl

...

ECMCompanyService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCompanyService?wsdl

...

ECMCustomFieldsService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCustomFieldsService?wsdl

...

ECMDashBoardService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDashBoardService?wsdl

...

ECMDataServiceService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDataServiceService?wsdl

...

ECMDatasetService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDatasetService?wsdl

...

ECMDocumentService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDocumentService?wsdl

...

ECMFavoritesService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMFavoritesService?wsdl

...

ECMFolderService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMFolderService?wsdl

...

ECMGlobalParamService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMGlobalParamService?wsdl

...

ECMGroupService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMGroupService?wsdl

...

ECMOutstandingService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMOutstandingService?wsdl

...

ECMReportService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMReportService?wsdl

...

ECMSearchDocumentService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMSearchDocumentService?wsdl

...

ECMSignalService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMSignalService?wsdl

...

ECMTokenService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMTokenService?wsdl

...

ECMWorkflowEngineService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMWorkflowEngineService?wsdl

...

ECMWorkflowRoleService

...

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMWorkflowRoleService?wsdl

Quadro 1: Comandos para criação de stubs.

Considerações Métodos de Update

Para os métodos de update que recebem objetos complexos é 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.

Nota
  • Identificação dos atributos: Os atributos de retorno dos métodos são identificados nos objetos. Caso não tenha encontrado o objeto que procura é possível fazer uma pesquisa nos datasets e assim identificar os atributos. Para mais informações sobre como consultar o dataset, acesse a documentação Desenvolvimento de Datasets.
  • Tratamento de exceção (try/catch): Quando o serviço utilizado não estiver disponível, não haverá retorno. Para esse tipo de caso, é aconselhável realizar o tratamento utilizando Try / Catch.

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 

...

visibletrue
titleNo 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)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: AttributionMecanismDto[].

Quadro 2: Métodos da AttributionMecanismService.

Exemplo de utilização

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

...

visibletrue
titleNo quadro 3, é mostrado todos os métodos disponíveis na classe BusinessPeriodService.

...

Retorna os expedientes da empresa.

Método:

getBusinessPeriods(String user, String password, int companyId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: BusinessPeriodDto[].

Quadro 3: Métodos da BusinessPeriodService.

Exemplo de utilização

Faça o download da classe ECMBusinessPeriodService.java, esta exemplifica a utilização dos principais métodos da classe BusinessPeriodService.

ECMCardIndexService

Webservice responsável por realizar operações referentes aos formulários cadastrados no fluig.

Métodos

...

visibletrue
title No quadro 4, é mostrado todos os métodos disponíveis na classe CardIndexService.

...

createSimpleCardIndex

Criação simples de um formulário.

Método:

createSimpleCardIndex (String user, String password, int companyId, int parentDocumentId, String publisherId, String documentDescription, String cardDescription, AttachmentArray attachments, CardEventDtoArray customEvents)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • parentDocumentId: número do formulário.
  • publisherId: código do autor.
  • documentDescription: descrição.
  • cardDescription: nome.
  • attachments: arquivo anexo.
  • customEvents: eventos.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

createSimpleCardIndexWithDataset

Criação simples de um formulário com datasets.

Método:

createSimpleCardIndexWithDataset (String user, String password, int companyId, int parentDocumentId, String publisherId, String documentDescription, String cardDescription, String datasetName, AttachmentArray attachments, CardEventDtoArray customEvents)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • parentDocumentId: número do formulário.
  • publisherId: código do autor.
  • documentDescription: descrição.
  • cardDescription: nome.
  • datasetName: nome do dataset.
  • attachments: arquivo anexo.
  • customEvents: eventos.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

createSimpleCardIndexWithDatasetPersisteType

Criação simples de um formulário com datasets determinando o tipo da persistência (Formulário ou Lista).

createSimpleCardIndexWithDatasetPersisteType (String user, String password, int companyId, int parentDocumentId, String publisherId, String documentDescription, String cardDescription, String datasetName, AttachmentArray attachments, CardEventDtoArray customEvents, Integer persistenceType)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa;
  • parentDocumentId: número do formulário.
  • publisherId: código do autor.
  • documentDescription: descrição.
  • cardDescription: nome.
  • datasetName: nome do dataset.
  • attachments: arquivo anexo.
  • customEvents: eventos.
  • persistenceType: tipo da persistência que será utilizada (0 = Formulário / 1 = Lista).

Retorno: WebServiceMessageArray .

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

getActiveCardIndex

Retorna o formulário ativo.

Método:

getActiveCardIndex (String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do formulário.
  • colleagueId: número do usuário.

Retorno: DocumentDtoArray.

...

getAttachmentsList

Retorna a lista de anexos do formulário.

Método:

getAttachmentsList (String user, String password, int companyId, int documentId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do formulário.

Retorno: StringArray, com o nome dos anexos.

...

getCardIndexContent

Retorna o conteúdo de um formulário.

Método:

getCardIndexContent (String user, String password, int companyId, int documentId, String colleagueId, int version, String nomeArquivo)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do formulário.
  • colleagueId : matrícula do usuário para a verificação de permissão nos formulários.
  • version: número da versão do formulário.
  • nomeArquivo: nome do arquivo anexo.

Retorno: Uma lista de byte[]. 

...

getCardIndexesWithoutApprover

Retorna os formulários sem aprovadores que o usuário tenha permissão.

Método:

getCardIndexesWithoutApprover(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 para a verificação de permissão nos formulários.

Retorno: DocumentDto[].

...

getCustomizationEvents

Retorna os eventos do formulário.

Método:

getCustomizationEvents (String user, String password, int companyId, int documentId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do formulário.

Retorno: CardEventDtoArray.

...

getFormFields

Retorna os campos do formulário.

Método:

getFormFields(String user, String password, int companyId, int documentId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do formulário.

Retorno: Lista de String[] com o ID de cada campo do formulário.

...

updateSimpleCardIndex

Atualização simples do formulário.

Método:

updateSimpleCardIndex (String user, String password, int companyId, int documentId, String publisherId, String cardDescription, String descriptionField, AttachmentArray attachments, CardEventDtoArray customEvents)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do formulário.
  • publisherId: código do autor.
  • cardDescription: nome.
  • descriptionField: descrição.
  • attachments: arquivo anexo.
  • customEvents: eventos.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateSimpleCardIndexWithDataset

Atualização simples do formulário com datasets.

Método:

updateSimpleCardIndexWithDataset (String user, String password, int companyId, int documentId, String publisherId, String cardDescription, String descriptionField, String datasetName, AttachmentArray attachments, CardEventDtoArray customEvents)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do formulário.
  • publisherId: código do autor.
  • cardDescription: nome.
  • descriptionField: descrição.
  • datasetName: nome do dataset.
  • attachments: arquivo anexo.
  • customEvents: eventos.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Quadro 4: Métodos da CardIndexService.

Exemplo de utilização

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

...

visibletrue
titleNo quadro 5, é mostrado todos os métodos disponíveis na classe CardService.

...

create

Cria um registro de formulário.

Método:

create(int companyId, String user, String password, CardDto[] carddtos)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • carddtos: formulário que será criado.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

deleteCard

Exclui um formulário e envia para a lixeira.

Método:

deleteCard(int companyId, String user, String password, int cardId)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • cardId: número do formulário.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

getCardVersion

Retorna a versão de um formulário.

Método:

getCardVersion(int companyId, String user, String password, int nrDocumentId, int version, String colleagueId)

Método:

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • nrDocumentId: número do formulário.
  • version: versão do formulário.
  • colleagueId: matrícula do usuário.

Retorno: CardDto[], lista com ID do campo e seus valores.

...

updateCard

Altera os metadados de um formulário.

Método:

updateCard(int companyId, String user, String password, CardDto[] cardDtos, Attachment[] attachs, DocumentSecurityConfigDto[] docsecurity, ApproverDto[] docapprovers, RelatedDocumentDto[] reldocs)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • cardDtos: formulário que será alterado.
  • attachs: anexos do formulário.
  • docsecurity: segurança do formulário.
  • docapprovers: aprovadores do formulário.
  • reldocs: documentos relacionados do formulário.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateCardData

Altera os campos de um formulário.

Método:

updateCardData(int companyId, String user, String password, int cardId, CardFieldDto[] cardData)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • cardId: número do formulário.
  • cardData: campos do formulário que serão alterados.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Quadro 5: Métodos da 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

...

visibletrue
titleNo 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

...

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

...

visibletrue
titleNo 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)

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: ColleagueReplacementDto.

...

 getReplacementsOfUser

Retorna todos os substitutos de um usuário.

Método:

getReplacementsOfUser(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 origem.

Retorno: ColleagueReplacementDto[].

...

getValidReplacedUsers

Retorna todos os usuário substituídos por um substituto válido.

Método:

getValidReplacedUsers(String username, String password, int companyId, String replacementId)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa;
  • replacementId: matrícula do usuário substituto.

Retorno: ColleagueReplacementDto[].

...

getValidReplacement

Retorna um substituto válido de um usuário.

Método:

getValidReplacement(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: ColleagueReplacementDto.

...

getValidReplacementsOfUser

Retorna todos os substitutos válidos de um usuário.

Método:

getValidReplacementsOfUser(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 origem.

Retorno: ColleagueReplacementDto[].

...

updateColleagueReplacement

Altera o cadastro de um substituto.

Método:

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
titleAtençã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

...

visibletrue
titleNo 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)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • colleagues: usuários.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

createColleaguewithDependencies

Cria um usuário com grupos e papéis.

Método:

...

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • colleagues: usuários.
  • grupos: grupos.
  • papeis: papéis.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

getColleague

Retorna um usuário.

Método:

getColleague(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: ColleagueDto[].

...

getColleagueByLogin 

Retorna o usuário a partir do login.

Método:

getColleagueByLogin(String username, String password)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.

Retorno: ColleagueDto[].

...

getColleagues

Retorna todos os usuários ativos.

Método:

getColleagues(String username, String password, int companyId)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: ColleagueDto[].

...

getColleaguesMail

Retorna um usuário utilizando um e-mail.

Método:

getColleaguesMail(String username, String password, int companyId, String mail)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • mail: e-mail do usuário.

Retorno: ColleagueDto[].

Estrutura de retorno com sucesso

...

getColleagueWithMap

Retorna uma mensagem informando se o usuário foi criado corretamente.

Método:

getColleagueWithMap(String colleagueXML, String username, String password)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • colleagueXML: lista normalizada de documentos.

Retorno: String.

...

getGroups

Retorna os grupos que o usuário participa.

Método:

getGroups(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.

...

getSimpleColleague

Retorna o usuário.

Método:

getSimpleColleague(String username, String password)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.

Retorno: ColleagueDto[].

...

getSummaryColleagues

Retorna todos os usuários ativos.

Método:

getSummaryColleagues(int companyId)

Parâmetros:

  • companyId: código da empresa.

Retorno: ColleagueDto[].

...

removeColleague

Desativa um usuário.

Método:

removeColleague(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: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

Ativa um usuário.

Método:

activateColleague(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: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateColleague

Altera um usuário.

Método:

updateColleague(String username, String password, int companyId, ColleagueDto[] colleagues)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • colleagues: usuários.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateColleaguewithDependencies

Esse método altera um usuário com grupos e papéis, permite adicionar os papéis a um usuário.

Método:

...

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • colleagues: usuários.
  • grupos: grupos.
  • papeis: papéis.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

validateColleagueLogin

Valida o acesso de um usuário no produto.

Método:

validateColleagueLogin(int companyId, String colleagueId, String password)

Parâmetros:

  • companyId: código da empresa.
  • colleagueId: matrícula do usuário.
  • password: senha do usuário.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Quadro 8: Métodos da ColleagueService.

Exemplo de utilização

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

...

visibletrue
titleNo quadro 9, é mostrado todos os métodos disponíveis na classe CompanyService.

...

createCompany

Cria uma empresa no fluig.

Método:

createCompany(String username, String password, String companyId, String description, String urlAccessName, String phisicalPath, String webdeskServer, String webPort)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • description: descrição da empresa.
  • urlAccessName: URL de acesso.
  • phisicalPath: caminho físico.
  • webdeskServer: servidor.
  • webPort: porta.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

getCompanies

Retorna todas as empresas cadastradas no fluig.

Método:

getCompanies(String username, String password, String companyId)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: CompanyDto[].

...

getCompany

Retorna uma empresa cadastrada no fluig.

Método:

getCompany(int companyId)

Parâmetros:

  • companyId: código da empresa.

Retorno: CompanyDto.

...

updateCompany

Altera uma empresa no fluig.

Método:

updateCompany(String username, String password, String companyId, String description, String urlAccessName, String phisicalPath, String webdeskServer, String webPort)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • description: descrição da empresa.
  • urlAccessName: URL de acesso.
  • phisicalPath: caminho físico.
  • webdeskServer: servidor.
  • webPort: porta.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Quadro 9: Métodos da CompanyService

Exemplo de utilização

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

...

visibletrue
titleNo quadro 10, é mostrado todos os métodos disponíveis na classe CustomFieldsService.

...

createCustomFields

Cria um campo customizado.

Método:

...

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)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: CustomFieldsDto.

...

getAllDocumentCustomField

Retorna todos os campos customizados de um documento.

Método:

getAllDocumentCustomField(String user, String password, int companyId, int documentId, int version)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do documento.
  • version: versão do documento.

Retorno: DocumentCustomFieldsDto.

...

removeCustomField

Exclui um campo customizado.

Método:

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:

...

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:

...

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

...

visibletrue
titleNo 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.

...

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: 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.

...

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: 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.

...

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: 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.

...

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.

...

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)

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 atribuídas 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.

...

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: HomeRequestSummaryDto[].

...

Retorna a url do servidor.

Método:

getUrlEcm(long companyId)

Parâmetros:

...

Retorno: String , com a url da empresa

Quadro 11: Métodos da ECMDashBoardService

Exemplo de utilização

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

...

visibletrue
titleNo 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.

ECMDatasetService

Webservice responsável por interagir com os datasets do fluig. Pode ser utilizado para pesquisar os datasets existentes.

Métodos

...

visibletrue
titleNo quadro 13, é mostrado todos os métodos disponíveis na classe DatasetService.

...

addDataset

Cria um dataset.

Método:

addDataset(int companyId, String user, String password, String datasetName, String description, String impl)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • datasetName: nome do dataset que será criado.
  • description: descrição do dataset.
  • impl: implementação para criação do dataset.

Retorno: String.

...

deleteDataset

Remove um dataset.

Método:

deleteDataset(int companyId, String user, String password, String datasetName)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • datasetName: nome do dataset que será removido.

Retorno: void.

...

getAvailableDatasets

Retorna todos os datasets disponíveis.

Método:

getAvailableDatasets(int companyId, String user, String password)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.

Retorno: Object[].

...

getDataset

Retorna as informações de um dataset.

Método:

getDataset(int companyId, String user, String password, String name, String[] fields, SearchConstraintDto[] constraintsDto, String[] order)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • name: nome do dataset.
  • fields: campos que serão retornados do dataset.
  • constraintsDto: filtro dos registros que irão compor o dataset.
  • order: campos utilizados para ordenar o dataset.

Retorno: DatasetDto.

...

updateDataset

Atualiza um dataset.

Método:

updateDataset(int companyId, String user, String password, String datasetName, String description, String impl)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • datasetName: nome do dataset que será atualizado.
  • description: descrição do dataset.
  • impl: implementação do dataset.

Retorno: void.

Quadro 13: Métodos da DatasetService

Exemplo de utilização

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
titleDica!

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

...

visibletrue
titleNo 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.
  • observation: observação da aprovação ou rejeição.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

copyDocumentToUploadArea

Copia os arquivos (principal e anexos) de um documento para a area de upload do usuário. Isto permite que os documentos tornem-se acessíveis via FTP.

Método:

copyDocumentToUploadArea(String user, String password, int companyId, int documentId, int version, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do documento que será copiado.
  • version: versão do documento
  • colleagueId: matrícula do usuário cuja área de upload será utilizada

Retorno: String[] nome dos arquivos que foram disponibilizados na área de upload

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

createDocument createDocument

Cria um documento.

Método:

createDocument(String user, String password, int companyId, DocumentDto[] docDtos, Attachment[] attachs,  DocumentSecurityConfigDto[] docSecurity, ApproverDto[] docApprovers, RelatedDocumentDto[] relDocs)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docDtos: documento que será publicado (mais detalhes do parâmetro aqui).
  • attachs: arquivo anexado na publicação (mais detalhes do parâmetro aqui).
  • docSecurity: segurança do documento que será publicado (mais detalhes do parâmetro aqui).
  • docApprovers: aprovadores do documento que será publicado (mais detalhes do parâmetro aqui).
  • relDocs: documentos relacionados ao documento que será publicado (mais detalhes do parâmetro aqui).

...

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Veja nosso exemplo no repositório do fluig. Utilize o arquivo dataset-create-document.

...

createDocumentWithApprovementLevels

Cria um documento com nível de aprovação.

Método:

createDocumentWithApprovementLevels(String user, String password, int companyId, DocumentDto[] docDtos, Attachment[] attachs, DocumentSecurityConfigDto[] docSecurity, ApproverWithLevelDto[] docApproversLevels, ApprovalLevelDto[] levels, RelatedDocumentDto[] relDocs)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docDtos: documento que será publicado.
  • attachs: arquivo anexado na publicação.
  • docSecurity: segurança do documento que será publicado.
  • docApproversLevel: nível de aprovação que os aprovadores do documento estão inseridos.
  • levels: níveis de aprovação que o documento terá.
  • relDocs: documentos relacionados ao documento que será publicado.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

createSimpleDocument

Cria um documento simples.

Método:

createSimpleDocument(String user, String password, int company, int parentDocumentId, String publisherId, String documentDescription, Attachment[] attachments)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • parentDocumentId: número da pasta pai.
  • publisherId: matrícula do usuário que publicará o documento.
  • documentDescription: descrição do documento.
  • attachments: arquivo anexado na publicação (para utilização via TDS é necessário instanciar a classe Attachment. Confira um exemplo de utilização em Criação de documento a partir do método createSimpleDocument).

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

createSimpleDocumentPrivate

Cria um documento simples na pasta particular.

Método:

createSimpleDocumentPrivate(String colleagueId, String password, int companyId, int parentDocumentId, String documentDescription, Attachment[] attachments)

Parâmetros:

  • colleagueId: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • parentDocumentId: número da pasta pai.
  • documentDescription: descrição do documento.
  • attachments: arquivo anexado na publicação.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

deleteDocument

Exclui um documento e o envia para a lixeira.

Método:

deleteDocument(String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do documento que será excluído.
  • colleagueId: matrícula do usuário.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

destroyDocument

Exclui um documento da lixeira.

Método:

destroyDocument(String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do documento que será excluído.
  • colleagueId: matrícula do usuário.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

destroyDocumentApproval

Exclui documento pendente de aprovação.

Metodo:

destroyDocumentApproval(String userId, String password, int companyId, int documentId, String publisherId)

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 excluido.
  • publisherId: código do publicador.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

findMostPopularDocuments

Retorna os documentos mais acessados no fluig que o usuário tenha permissão de acesso.

Método:

findMostPopularDocuments(String user, String password, int companyId, String colleagueId, int nr_resultados)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • colleagueId: matrícula do usuário.
  • nr_resultados: quantidade de documentos que serão retornados.

Retorno: DocumentDto[].

Atributos de Retorno:

  • accesCount
  • activeVersion
  • additionalComments
  • allowMuiltiCardsPerUser
  • approved
  • colleagueId
  • companyId
  • crc
  • createDate
  • datasetName
  • deleted
  • documentDescription
  • documentId
  • documentType
  • documentTypeId
  • downloadEnabled
  • draft
  • expirationDate
  • expires
  • iconId
  • imutable
  • indexed
  • inheritSecurity
  • isEncrypted
  • keyWord
  • lastModifiedDate
  • metaListId
  • metaListRecordId
  • parentDocumentId
  • permissionType
  • phisicalFile
  • phisicalFileSize
  • privateDocument
  • protectedCopy
  • publisherId
  • restrictionType
  • rowId
  • securityLevel
  • topicId
  • translated
  • UUID
  • updateIsoProperties
  • userNotify
  • validationStartDate
  • version
  • versionDescription
  • volumeId

...

findMostPopularDocumentsOnDemand

Retorna os documentos mais acessados no fluig que o usuário tenha permissão de acesso, paginados.

Método:

findMostPopularDocuments(int companyId, String user, String password, String colleagueId, int limit, int lastRowId)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • colleagueId: matrícula do usuário.
  • limit: número de registros a serem retornados.
  • lastRowId: última linha retornada.

Retorno: DocumentDto[].

Atributos de Retorno:

  • accesCount
  • activeVersion
  • additionalComments
  • allowMuiltiCardsPerUser
  • approved
  • colleagueId
  • companyId
  • crc
  • createDate
  • datasetName
  • deleted
  • documentDescription
  • documentId
  • documentType
  • documentTypeId
  • downloadEnabled
  • draft
  • expirationDate
  • expires
  • iconId
  • imutable
  • indexed
  • inheritSecurity
  • isEncrypted
  • keyWord
  • lastModifiedDate
  • metaListId
  • metaListRecordId
  • parentDocumentId
  • permissionType
  • phisicalFile
  • phisicalFileSize
  • privateDocument
  • protectedCopy
  • publisherId
  • restrictionType
  • rowId
  • securityLevel
  • topicId
  • translated
  • UUID
  • updateIsoProperties
  • userNotify
  • validationStartDate
  • version
  • versionDescription
  • volumeId

...

findRecycledDocuments

Retorna os documentos da lixeira.

Método:

findRecycledDocuments(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[].

Atributos de Retorno:

  • accesCount
  • activeVersion
  • additionalComments
  • allowMuiltiCardsPerUser
  • approved
  • colleagueId
  • companyId
  • crc
  • createDate
  • datasetName
  • deleted
  • documentDescription
  • documentId
  • documentType
  • documentTypeId
  • downloadEnabled
  • draft
  • expirationDate
  • expires
  • iconId
  • imutable
  • indexed
  • inheritSecurity
  • isEncrypted
  • keyWord
  • lastModifiedDate
  • metaListId
  • metaListRecordId
  • parentDocumentId
  • permissionType
  • phisicalFile
  • phisicalFileSize
  • privateDocument
  • protectedCopy
  • publisherId
  • restrictionType
  • rowId
  • securityLevel
  • topicId
  • translated
  • UUID
  • updateIsoProperties
  • userNotify
  • validationStartDate
  • version
  • versionDescription
  • volumeId

...

getActiveDocument

Retorna um documento ativo.

Método:

getActiveDocument(String user, String password, int companyId, int nrDocumentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número do documento.
  • colleagueId: matrícula do usuário.

Retorno: DocumentDto[].

...

getApprovers

Retorna os aprovadores de um documento.

Método:

getApprovers(String user, String password, int companyId, int nrDocumentId, int version)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número do documento.
  • version: número da versão do documento.

Retorno: ApproverWithLevelDto[].

Atributos de Retorno:

  • approverType
  • colleagueId
  • companyId
  • documentId
  • levelId
  • version

...

getDocumentApprovalHistory

Retorna o histórico de aprovações do documento solicitado.

Metodo:

getDocumentApprovalHistory(String user, String password, int companyId, int documentId, int version)

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 que se deseja visualizar o status.
  • version: versão do documento (caso seja informada a versão 0 sera solicitada a ultima versão do documento).

Retorno: DocumentApprovementHistoryDto.

Atributos de Retorno:

  • colleagueId
  • documentVersion
  • iterationSequence
  • levelId
  • movementSequence
  • observation
  • signed
  • status

...

getDocumentApprovalStatus

Retorna o status do documento com relação a aprovação. O status do documento pode ser:

0 - Aprovado.

1 - Rejeitado.

2- Em aprovação.

Método:

getDocumentApprovalStatus(String user, String password, int companyId, int documentId, int version)

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 que se deseja visualizar o status.
  • version: versão do documento (caso seja informada a versão 0 sera solicitada a ultima versão do documento).

Retorno: DocumentApprovalStatusDto.

Atributos de Retorno:

  • companyId
  • documentId
  • status
  • version

...

getDocumentByExternalId

Retorna um documento pelo código externo.

Método:

getDocumentByExternalId(String user, String password, int companyId, String externalDocumentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • externalDocumentId: código externo do documento.
  • colleagueId: matrícula do usuário.

Retorno: DocumentDto[].

...

getDocumentContent

Retorna o byte do arquivo físico de um documento, caso o usuário tenha permissão para acessá-lo.

Método:

getDocumentContent(String user, String password, int companyId, int nrDocumentId, String colleagueId, int documentoVersao, String nomeArquivo)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número do documento.
  • colleagueId: matrícula do usuário.
  • documentVersao: número da versão do documento.
  • nomeArquivo: nome do arquivo.

Retorno: Lista de byte[].

...

getDocumentVersion

Retorna a versão de um documento.

Método:

getDocumentVersion(String user, String password, int companyId, int nrDocumentId, int version, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número do documento.
  • version: número da versão do documento.
  • colleagueId: matrícula do usuário.

Retorno: DocumentDto[].

Atributos de Retorno:

  • accesCount
  • activeVersion
  • additionalComments
  • allowMuiltiCardsPerUser
  • approved
  • colleagueId
  • companyId
  • crc
  • createDate
  • datasetName
  • deleted
  • documentDescription
  • documentId
  • documentType
  • documentTypeId
  • downloadEnabled
  • draft
  • expirationDate
  • expires
  • iconId
  • imutable
  • indexed
  • inheritSecurity
  • isEncrypted
  • keyWord
  • lastModifiedDate
  • metaListId
  • metaListRecordId
  • parentDocumentId
  • permissionType
  • phisicalFile
  • phisicalFileSize
  • privateDocument
  • protectedCopy
  • publisherId
  • restrictionType
  • rowId
  • securityLevel
  • topicId
  • translated
  • UUID
  • updateIsoProperties
  • userNotify
  • validationStartDate
  • version
  • versionDescription
  • volumeId

...

getRelatedDocuments

Retorna todos os documentos relacionados de um documento.

Método:

getRelatedDocuments(String user, String password, int companyId, int nrDocumentId, int version)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número do documento.
  • version: número da versão do documento.

Retorno: RelatedDocumentDto.

Atributos de Retorno:

  • companyId
  • documentId
  • relatedDocumentId
  • version

...

getReportSubjectId

Retorna o código do assunto de relatórios dentro do fluig.

Método:

getReportSubjectId(String user, String password, int companyId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: topicId : int.

...

getSecurity

Retorna a segurança de um documento.

Método:

getSecurity(String user, String password, int company, int nrDocumentId, int version)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número do documento.
  • version: número da versão do documento.

Retorno: DocumentSecurityConfigDto[].

Atributos de Retorno:

  • attributionType
  • attributionValue
  • companyId
  • documentId
  • permission
  • securityLevel
  • sequence
  • showContent
  • version

...

getUserPermissions

Retorna as permissões do usuário sobre um documento.

Método:

getUserPermissions(int companyId, String user, int nrDocumentId, int version)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • nrDocumentId: número do documento.
  • version: número da versão do documento.

Retorno: Integer, retorna o valor correspondente a permissão..

Atributos de Retorno:

  • result

...

moveDocument

Move documentos para pasta destino.

Método:

moveDocument(String user, String password, int companyId, int[] documentIds, String colleagueId, int destfolder)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentIds: lista com os números dos documentos que serão movidos.
  • colleagueId: matrícula do usuário com permissão para mover o documento
  • destFolder: número da pasta de destino.

Retorno: Lista String[].

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

removeSecurity

Remove a segurança de um documento.

Método:

removeSecurity(String user, String password, int companyId, int documentId, int version)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do documento.
  • version: número da versão do documento.

Retorno: Não há retorno.

...

restoreDocument

Restaura um documento da lixeira.

Método:

restoreDocument(String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número do documento que será restaurado.
  • colleagueId: matrícula do usuário.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateDocument

Altera um documento.

Método:

updateDocument(String user, String password, int companyId, DocumentDto[] docDtos, Attachment[] attachs,  DocumentSecurityConfigDto[] docSecurity,ApproverDto[] docApprovers, RelatedDocumentDto[] relDocs)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docDtos: documento que será publicado (mais detalhes do parâmetro aqui).
  • attachs: arquivo anexado na publicação (mais detalhes do parâmetro aqui).
  • docSecurity: segurança do documento que será publicado  (mais detalhes do parâmetro aqui ).
  • docApprovers: aprovadores do documento que será publicado  (mais detalhes do parâmetro aqui ).
  • relDocs: documentos relacionados ao documento que será publicado  (mais detalhes do parâmetro aqui ).

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateDocumentWithApprovementLevels

Altera um documento com nível de aprovação.

Métodos:

updateDocumentWithApprovementLevels(String user, String password, int companyId, DocumentDto[] docDtos, Attachment[] attach, DocumentSecurityConfigDto[] docSecutiry, ApproverWithLevelDto[]  docApprovers, ApprovalLevelDto[] levels, RelatedDocumentDto[] relDocs)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docDtos: documento que será alterado.
  • attachs: arquivo anexado na alteração.
  • docSecurity: segurança do documento que será alterado.
  • docApprovers: nível de aprovação que os aprovadores do documento estão inseridos.
  • levels: níveis de aprovação que o documento terá.
  • relDocs: documentos relacionados ao documento que será alterado.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateGroupSecurityType

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)
  • colleagueId: matrícula do usuário

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateSimpleDocument

Altera de forma simples um documento.

Método:

updateSimpleDocument(String username, String password, int companyId, int documentId, String publisherId, String documentDescription, Attachment[] attachments)

Parâmetros:

  • username: login do usuário de integração.
  • password: senha do usuário de integração.
  • companyId: código da empresa.
  • documentId: número do documento que será alterado.
  • publisherId: matrícula do usuário que realizará a alteração do documento.
  • documentDescription: descrição do documento.
  • attachments: arquivos anexados na alteração.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

validateIntegrationRequirements

Verifica a integração do usuário no fluig.

Método:

validateIntegrationRequirements (String user, String password, int companyId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Quadro 14: Métodos da DocumentService

Exemplo de utilização

Faça o download da classe DocumentServiceClient.java, esta exemplifica a utilização dos principais métodos da classe DocumentService.

Informações
titleNota
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
titleIntegraçõ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

...

visibletrue
titleNo 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)

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[].

...

findFavoritesOnDemand

Retorna os documentos favoritos do usuário, paginados.

Método:

findFavoritesOnDemand(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[].

...

findFavoritesProcess

Retorna os processos favoritos do usuário.

Método:

findFavoritesProcess (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: ProcessDefinitionVersionDto[] .

...

findFavoritesProcessOnDemand

Retorna os processos favoritos do usuário, paginados.

Método:

findFavoritesProcess (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.
  • limit: número de registros a serem retornados.
  • lastRowId: última linha retornada.

Retorno: ProcessDefinitionVersionDto[] .

...

isFavoriteDocument

Verifica se documento é favorito.

Método:

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

...

visibletrue
titleNo quadro 16, é mostrado todos os métodos disponíveis na classe FolderService.

...

createFolder

Cria uma pasta.

Método:

createFolder(String user, String password, int companyId, DocumentDto[] docdtos, DocumentSecurityConfigDto[] docsecurity, ApproverDto[] docapprovers )

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docdtos: pasta que será criada.
  • docsecurity: segurança da pasta.
  • docapprovers: aprovadores da pasta.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

createFolderWithApprovementLevels

Cria uma pasta com nível de aprovação.

Método:

createFolderWithApprovementLevels(String user, String password, int companyId, DocumentDto[] docdtos, DocumentSecurityConfigDto[] docsecurity, ApproverWithLevelDto[] docapprovers, ApprovalLevelDto[] levels)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docdtos: pasta que será criada.
  • docsecurity: segurança da pasta.
  • docapprovers: aprovadores em níveis.
  • levels: níveis de aprovação da pasta.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

createSimpleFolder

Cria uma pasta simples.

Método:

createSimpleFolder(String user, String password, int companyId, int parentDocumentId, String publisherId, String documentDescription)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • parentDocumentId: número do documento pai.
  • publisherId: matrícula do usuário publicador.
  • documentDescription: descrição da pasta.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

deleteDocument

Exclui uma pasta e envia para a lixeira.

Método:

deleteDocument(String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número da pasta.
  • colleagueId: matrícula do usuário.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

destroyDocument

Exclui uma pasta da lixeira.

Método:

destroyDocument(String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número da pasta.
  • colleagueId: matrícula do usuário.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

findRecycledDocuments

Retorna todos os documentos da lixeira de um usuário.

Método:

findRecycledDocuments(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[].

...

getApprovers

Retorna os aprovadores de uma pasta.

Método:

getApprovers(String user, String password, int companyId, int nrDocumentId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número da pasta.

Retorno: ApproverWithLevelDto[].

...

getChildren

Retorna todos os documentos de uma pasta.

Método:

getChildren(String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número da pasta.
  • colleagueId: matrícula do usuário.

Retorno: DocumentDto[].

...

getFolder

Retorna uma pasta.

Método:

getFolder(String user, String password, int companyId, int nrDocumentId, String colleagueId )

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número da pasta.
  • colleagueId: matrícula do usuário origem.

Retorno: DocumentDto[].

...

getPrivateChildren

Retorna todos os documentos de uma pasta particular.

Método:

getPrivateChildren(String user, String password, int companyId, int parentDocumentId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número da pasta.

Retorno: DocumentDto[].

...

getRootFolders

Retorna as pastas root que um usuário tem acesso, exceto a pasta particular.

Método:

getRootFolders(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[].

...

getSecurity

Retorna a segurança de uma pasta.

Método:

getSecurity(String user, String password, int companyId, int nrDocumentId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número da pasta.

Retorno: DocumentSecurityConfigDto[].

...

getSubFolders

Retorna todas as subpastas e arquivos de um pasta.

Método:

getSubFolders(String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número da pasta.
  • colleagueId: matrícula do usuário.

Retorno: DocumentDto[].

...

getSubFoldersOnDemand

Retorna todas as subpastas e arquivos de uma pasta, paginados.

Método:

getSubFoldersOnDemand(int companyId, String user, String password, int documentId, boolean privatefolder, String[] documenttypes, int limit , int lastRowId, String colleagueId)

Parâmetros:

  • companyId: código da empresa.
  • user: login do usuário.
  • password: senha do usuário.
  • documentId: número da pasta.
  • privatefolder: identifica se é uma pasta particular.
  • documenttypes: tipos de documentos das pastas.
  • limit: número de registros a serem retornados.
  • lastRowId: última linha retornada.
  • colleagueId: matrícula do usuário.

Retorno: DocumentDto[].

...

getSubFoldersPermission

Retorna todas as subspastas em que o usuário tenha a permissão informada.

Método:

getSubFoldersPermission(String user, String password, int companyId, int documentId, String colleagueId, int permission)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número da pasta particular.
  • colleagueId: matrícula do usuário.
  • permission: permissão sobre a pasta.

Retorno: DocumentDto[].

...

getSubPrivateFolders

Retorna todas as subpastas de uma pasta particular.

Método:

getSubPrivateFolders(String colleagueId, String password, int companyId, int documentId)

Parâmetros:

  • colleagueId: matrícula do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número da pasta particular.

Retorno: DocumentDto[].

...

getUserPermissions

Retorna a permissão de um usuário sobre uma pasta.

Método:

getUserPermissions(int companyId, String user, int nrDocumentId, int version)

Parâmetros:

  • companyId: código da empresa.
  • user: matrícula do usuário.
  • nrDocumentId: número da pasta.
  • version: versão da pasta.

Retorno: Integer, referente ao nível de permissão do usuário.

...

restoreDocument

Restaura uma pasta da lixeira.

Método:

restoreDocument(String user, String password, int companyId, int documentId, String colleagueId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: número da pasta.
  • colleagueId: matrícula do usuário.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateFolder

Altera uma pasta.

Método:

updateFolder(String user, String password, int companyId, DocumentDto[] docdtos, DocumentSecurityConfigDto[] docsecurity, ApproverDto[] docapprovers)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docdtos: pasta que será alterada.
  • docsecurity: segurança da pasta.
  • docapprovers: aprovadores da pasta.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateFolderWithApprovementLevels

Altera uma pasta com nível de aprovação.

Método:

updateFolderWithApprovementLevels(String user, String password, int companyId, DocumentDto[] docdtos, DocumentSecurityConfigDto[] docsecurity, ApproverWithLevelDto[] docapprovers, ApprovalLevelDto[] levels)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docdtos: pasta que será alterada.
  • docsecurity: segurança da pasta.
  • docapprovers: aprovadores em níveis.
  • levels: níveis de aprovação da pasta.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

updateSimpleFolder

Altera de forma simples uma pasta.

Método:

updateSimpleFolder(String user, String Password, int companyId, DocumentDto[] docdtos)

Parâmetros:

  • user: login do usuário
  • password: senha do usuário
  • companyId: código da empresa
  • docdtos: pasta que será alterada.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Quadro 16: Métodos da FolderService

Exemplo de utilização

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

...

visibletrue
titleNo 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)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: VolumeDto[].

...

updateConfigurations

Altera as configurações do sistema.

Método:
updateConfigurations( String username,String password, int companyId, String dbDriver, String dbUser, String dbPassword, String dbServer,
String dbPort,String dbScheme, String dbInstance, String emailServer, String emailPort, String emailSender, boolean emailDefaultSender, String emailUser, String emailPassword, boolean emailTLS,String paramsRMTPTPort, String lsType, String paramsLSHost, String paramsLSPort, String paramsOpenOfficeDir, String paramsOpenOfficePorts, String portsSetName)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • 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.

...

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

...

visibletrue
titleNo 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 

...

visibletrue
titleNo quadro 19, é mostrado todos os métodos disponíveis na classe OutstandingService.

...

transfer

Transfere pendências de um usuário para outro usuário.

Método:

transfer(String user, String password, int companyId, String colleagueIdFrom, String colleagueIdTo, String[] parameters)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • 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

...

visibletrue
titleNo 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)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • parentDocId: código da pasta pai.
  • reportDescription: descrição do relatório.
  • attachments: anexos do relatório.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

getActiveReport

Retorna um relatório ativo no fluig.

Método:

getActiveReport(int companyId, String username, String password, String documentId)

Parâmetros:

  • companyId: código da empresa.
  • username: login do usuário.
  • password: senha do usuário.
  • documentId: código do documento.

Retorno: DocumentDto.

...

getAttachmentsList

Retorna uma lista de anexos do relatório no fluig.

Método:

getAttachmentsList(String username, String password, int companyId, String documentId)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • documentId: código do documento.

Retorno: Retorna lista de String[], com nome dos anexos.

...

getReportContent

Retorna o arquivo físico de um relatório.

Método:

getReportContent(String username, String password, int companyId, int nrDocumentId, String colleagueId, int documentoVersao, String fileName)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • nrDocumentId: número do documento.
  • colleagueId: matrícula do usuário.
  • documentoVersao: versão do documento.
  • fileName: nome do arquivo.

Retorno: byte[].

...

getRepots

Retorna os relatórios disponíveis.

Método:

getRepots(String username, String password, int companyId)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: DocumentDto[].

...

updateSimpleReport

Atualiza um relatório de maneira simplificada no fluig.

Método:

updateSimpleReport(String username, String password, int companyId, int docId, String reportDescription, Attachment[] attachments, String versionOption)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • docId: código da pasta pai.
  • reportDescription: descrição do relatório.
  • attachments: anexos do relatório.
  • versionOption: informa se deseja atualizar a versão do relatório.

Retorno: WebServiceMessageArray.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Quadro 20: Métodos da ReportService.

Exemplo de utilização

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

...

visibletrue
titleNo 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.
  • documentParentId: número do documento pai.
  • startDate: data inicial.
  • finalDate: data final.

Retorno: SearchResultDto.

...

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.
  • documentParentId: número do documento pai.
  • startDate: data inicial.
  • finalDate: data final.

Retorno: SearchResultDto.

...

searchDocuments

Utiliza busca simples.

Método:

searchDocuments(String user, String password, int companyId, String colleagueId, String content)

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.

Retorno: SearchResultDto.

...

searchFavoritesDocuments

Busca documentos favoritos.

Metodo:

searchFavoritesDocuments(String user, String Password, int companyId, String colleagueId, String content)

Parametros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • colleagueId: matrícula do usuário.
  • contente: conteúdo a ser buscado

Retorno: SearchResultDto.

Quadro 21: Métodos da SearchDocumentService

Exemplo de utilização

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

...

visibletrue
titleNo 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)

Parâmetro:

  • login: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: Signal[].

Quadro 22: Métodos da SignalService.

Exemplo de utilização

Faça o download da classe ECMSignalService.java, esta exemplifica a utilização dos principais métodos da classe SignalService.

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

...

visibletrue
titleNo quadro 22, é mostrado todos os métodos disponíveis na classe TokenService.

...

getToken

Retorna um token de segurança.

Método:

getToken(String login, String password)

Parâmetros:

  • login: login do usuário.
  • password: senha do usuário.

Retorno: String.

...

getTokenByLogin

Retorna um token de segurança para o login solicitado.

Método:

getTokenByLogin(int companyId, String colleagueId, String password, String login)

Parâmetros:

  • companyId: código da empresa.
  • colleagueId: matrícula do usuário.
  • password: senha do usuário.
  • login: login do usuário que será gerado pelo token.

Retorno: String.

...

getTokenEmail

Retorna um token de segurança para o e-mail solicitado.

Método:

getTokenEmail(int companyId, String email, String password)

Parâmetros:

  • companyId: código da empresa.
  • email: e-mail do usuário.
  • password: senha do usuário.

Retorno: String.

...

validateToken

Valida o token de segurança e retorna o login do usuário.

Método:

validateToken(String token)

Parâmetro:

  • token: token do usuário.

Retorno: String.

Quadro 23: Métodos da TokenService.

Exemplo de utilização

Faça o download da classe  TokenServiceClient.java, esta exemplifica a utilização dos principais 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 outros recursos.

Métodos

...

visibletrue
titleNo quadro 23, é 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.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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 do registro de formulário.

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 do registro de formulário.

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 do registro de formulário 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 processId)

Parâmetros:

  • user: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.
  • processId: código do processo.

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 atividades e fluxos do processo existentes devem ser sobrescritas.
  • colleagueId : matrícula do usuário.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

Libera processos workflow.

Método:

releaseProcess(String user, String password, int companyId, String processId)

Parâmetros:

...

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).
  • attachments: anexos da solicitação.
  • cardData: dados do registro de formulário.
  • 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[][].

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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).
  • attachments: anexos da solicitação.
  • cardData: dados do registro de formulário.
  • 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[][].

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).
  • attachments: anexos da solicitação.
  • cardData: dados do registro de formulário.
  • 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.

Estrutura mínima para movimentação com anexo

...

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
titleObservação

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
titleObservação

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 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:



Bloco de código
languagebash
linenumberstrue
wsimport -d C:\stubs\ https://<endereco_fluig:porta>/webdesk/ECMWorkflowEngineService?wsdl


Após esse download manual, você pode gerar o arquivo .jar para gerar uma lib para ser utilizada no seu projeto (o nosso utilitário já executa esse comando):

Bloco de código
languagebash
linenumberstrue
jar -cvf fluig-ws-client.jar C:\stubs\*.*

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/)

Bloco de código
languagebash
linenumberstrue
wsdl2java -client -compile -d C:\stubs\ -classdir C:\stubs\ -encoding UTF-8 -compile https://<endereco_fluig:porta>/webdesk/ECMWorkflowEngineService?wsdl


Após a geração dos stubs de todos os serviços que seja necessário, você deve gerar o arquivo .jar que será utilizado como biblioteca pela sua implementação:

Bloco de código
languagebash
linenumberstrue
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.

Exemplo de configuração da atividade de serviço pelo editor webImage Added

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 com mais documentação do que está sendo feito. 

Bloco de código
languagejs
firstline1
titleExemplo de integração via codificação
linenumberstrue
collapsetrue
//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 clients possam se comunicar com o serviço.


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
  • WebServices


Dica
titleDica!

A equipe TOTVS Fluig recomenda a utilização da API em exemplos que utilizam o método SOAP, pois seu uso é mais complexo em comparação com a API e está caindo em desuso.


Como acessar

Para acessar os webservices do TOTVS Fluig Plataforma, é preciso acessar o URL https://<endereco_fluig:porta>/webdesk/services.


Criar Stubs

Os stubs são necessários para que os clients 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. 

Nota
titleObservação
Foi criado um facilitador para gerar todos os stubs, basta baixar o documento Cliente Web Service.zip. Basta descompactá-lo e executar o arquivo "fluig-ws.sh", informe o nome e porta do servidor. Após executar, será gerado o "fluig-ws-client.jar". Importe o .jar para acesso ao serviço. Aqui você encontra um exemplo (ws-soap e webservice) prático de utilização em artefatos publicados no fluig.


Image Added

Figura 1: Exemplo de criação de stub


Cloak
visibletrue
titleLista de webservices

No Quadro 1 (abaixo) são listados os comandos necessários para a criação de stubs de cada serviço disponível no fluig.

Webservices (WSDL)

Comando

ECMAttributionMecanismService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMAttributionMecanismService?wsdl

ECMBusinessPeriodService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMBusinessPeriodService?wsdl

ECMCardIndexService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCardIndexService?wsdl

ECMCardService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCardService?wsdl

ECMColleagueGroupService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueGroupService?wsdl

ECMColleagueReplacementService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueReplacementService?wsdl

ECMColleagueService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueService?wsdl

ECMCompanyService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCompanyService?wsdl

ECMCustomFieldsService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCustomFieldsService?wsdl

ECMDashBoardService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDashBoardService?wsdl

ECMDataServiceService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDataServiceService?wsdl

ECMDatasetService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDatasetService?wsdl

ECMDocumentService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDocumentService?wsdl

ECMFavoritesService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMFavoritesService?wsdl

ECMFolderService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMFolderService?wsdl

ECMGlobalParamService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMGlobalParamService?wsdl

ECMGroupService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMGroupService?wsdl

ECMOutstandingService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMOutstandingService?wsdl

ECMReportService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMReportService?wsdl

ECMSearchDocumentService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMSearchDocumentService?wsdl

ECMSignalService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMSignalService?wsdl

ECMTokenService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMTokenService?wsdl

ECMWorkflowEngineService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMWorkflowEngineService?wsdl

ECMWorkflowRoleService

wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMWorkflowRoleService?wsdl

Quadro 1: Comandos para criação de stubs.


Considerações Métodos de Update

Para os métodos de update que recebem objetos complexos é 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.

Nota
  • Identificação dos atributos: Os atributos de retorno dos métodos são identificados nos objetos. Caso não tenha encontrado o objeto que procura é possível fazer uma pesquisa nos datasets e assim identificar os atributos. Para mais informações sobre como consultar o dataset, acesse a documentação Desenvolvimento de Datasets.
  • Tratamento de exceção (try/catch): Quando o serviço utilizado não estiver disponível, não haverá retorno. Para esse tipo de caso, é aconselhável realizar o tratamento utilizando Try / Catch.

...

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>.

Retorno: KeyValueDto[].

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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: 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.

Retorno: KeyValueDto[]

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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: 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.
  • comments: comentários.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

...

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 do registro de formulário.

Retorno: String[].

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Para utilização do método, acesse o exemplo a seguir:

Exemplo.

...

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. 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).
  • attachments: anexos da solicitação.
  • cardData: dados do registro de formulário.
  • appointment: apontamentos da tarefa.
  • managerMode: indica se usuário esta iniciando a solicitação como gestor do processo.

Retorno: String[][].

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Para utilização do método, acesse o exemplo a seguir:

...

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 do registro de formulário.
  • appointment: apontamentos da tarefa.
  • managerMode: indica se usuário esta iniciando a solicitação como gestor do processo.

Retorno: String[][].

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Para utilização do método, acesse o exemplo a seguir:

Exemplo.

...

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.

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.

Retorno: String.

Estrutura de retorno com sucesso

Estrutura de retorno com erro

Quadro 24: Métodos da WorkflowEngineService

Exemplo de utilização

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

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

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

Retorna um papel cadastrado no fluig.

Método:

getWorkflowRole(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.

Retorno: WorkflowRoleDto.

Atributos de Retorno:

  • companyId
  • roleDescription
  • roleId

Retorna todos os papéis cadastrados no fluig.

Método:

getWorkflowRoles(String username, String password, int companyId)

Parâmetros:

  • username: login do usuário.
  • password: senha do usuário.
  • companyId: código da empresa.

Retorno: WorkflowRoleDto[].

Atributos de Retorno:

  • companyId
  • roleDescription
  • roleId

Atualiza um papel no fluig.

Método:

updateWorkflowRole(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

Quadro 25: Métodos da WorkflowRoleService
Cloak
visibletrue
titleNo quadro 24, é mostrado todos os métodos disponíveis na classe WorkflowRoleService.

createWorkflowRole

deleteWorkflowRole

getWorkflowRole

getWorkflowRoles

updateWorkflowRole