Tempo aproximado para leitura: 00:01:00 min
Dúvida
Quais os requisitos mínimos para movimentar uma solicitação de processo via API?
Ambiente
TOTVS Fluig Plataforma - BPM - Todas as versões.
Solução
<Link do Ambiente>/process-management/swagger-ui/#/Requests/move
Observe que no próprio link da api está apontando para o id da solicitação:
/v2/requests/{processInstanceId}/move
Se tratando do payload você pode acessar o "Try it out" e testar com os dados que você possui.
{
"movementSequence": 2, // movementSequence da atividade atual (ds interno processHistory)
"assignee": "string", //Responsavel pela tarefa
"targetState": 32, //Atividade destino
"targetAssignee": "string", //Usuário destino
"asManager": false, //Se movimentará como gestor
"formFields": { //Campos do Formulário
"CAMPO1" : "VALOR",
"CAMPO2" : "VALOR"
}
}
É importante analisar a solicitação em conjunto na tela de consulta de solicitações, dessa forma você acompanhar a atualização do seu código diretamente na solicitação.
Para conseguir o "movementSequence", você pode consultar o dataset interno processHistory. Verifique o artigo abaixo:
Fluig - Plataforma - BPM - Como recuperar o valor do movementSequence de uma solicitação
Exemplo de como realizar a chamada em uma atividade de serviço:
function servicetask91(attempt, message) {
try {
var requestId = getValue("WKNumProces"); // Obtém o número da solicitação atual
var movementSequence = 2; // Ajuste conforme necessário
var assignee = getValue("WKUser"); // Usuário responsável atual
var targetState = 32; // ID da atividade destino
var targetAssignee = "usuario.destino"; // Usuário que receberá a atividade
var payload = {
"movementSequence": movementSequence,
"assignee": assignee,
"targetState": targetState,
"targetAssignee": targetAssignee,
"asManager": false,
"formFields": {
"campo1": "valor1",
"campo2": "valor2"
}
};
var clientService = fluigAPI.getHttpClient();
var url = "/process-management/api/v2/requests/" + requestId + "/move"; /*ID da solicitação*/
var response = clientService.post(url, JSON.stringify(payload), { /*importante informar o payload sempre no formato de JSON*/
"Content-Type": "application/json"
});
log.info("Movimentação realizada com sucesso: " + response);
} catch (e) {
log.error("Erro ao movimentar solicitação: " + e);
};
}
0 Comentários