Olá, gostaria de saber como consultar se um processo está aberto, cancelado ou finalizado via SOAP? Alguém sabe como faço?
Olá, gostaria de saber como consultar se um processo está aberto, cancelado ou finalizado via SOAP? Alguém sabe como faço?
Boa tarde Diogo,
no caso da API SOAP você teria que usar a operação getHistories do WorkflowEngineService (/webdesk/ECMWorkflowEngineService?wsdl). Essa operação retorna o histórico do processo em ordem decrescente, então você teria que verificar os dados do primeiro registro retornado na lista. No histórico existe a propriedade active, se ela etiver como true isso indica que o processo/solicitação está em aberto, caso ela tenha o valor false é porque o processo está encerrado. No caso de encerrado para saber se foi cancelado você vai ter que verificar as tasks desse registro e verificar qual o status delas, onde 4 é cancelado e 2 é finalizado. Se o registro não possuir tasks é porque é uma atividade final então a solicitação foi finalizada.
Indico, se possível, você utilizar a API REST do fluig (/bpm/swagger-ui/), essa verificação ficaria mais fácil.
Obrigado pela ajuda meu caro, eu realmente estava estudando sobre a API REST, porém tive dificuldades com a autenticação, não consigo fazer as chamadas via POSTMAN e não sei o que faço, estou ousando .Net para criar uma API que vai interagir com o Fluig, no SOAP é bem fácil, é só passar usuário e senha, como eu faço uma autenticação bem simples no REST?
— Diogo machado 23 de Mar de 2018A autenticação é via Oauth 1.0. Você precisa cadastrar um Oauth Provider e um Oauth App, criando um usuário aplicativo, conforme essa documentação http://tdn.totvs.com/x/KAFlDw no item Cadastrar aplicativo no fluig. Dá de testar pelo POSTMAN sim, você só precisa do Consumer Key e do Consumer Secret definidos no Oauth App e do Token Access e Token Secret do usuário aplicativo. Com esses 4 itens é só selecionar o tipo de autenticação Oauth 1 que ele gera o Oauth Authorization Header pra você. No .Net você só vai precisar utilizar alguma API que crie o Oauth Authorization Header na requisição.
— Diogo Boegershausen 23 de Mar de 2018Obrigado novamente, consegui fazer o cadastro e a requisição via POSTMAN, agora vou olhar como fazer isso dentro do .net! Me economizou horas hein? Abraço!
— Diogo machado 23 de Mar de 2018