Integração com Sistemas Terceiros
Sumário
1. Conceito
Neste modelo de integração, todas as etapas do processo são executadas com os dados exclusivamente armazenados na nuvem do BPM. Quando alguma etapa estiver configurada com mecanismo de atribuição Usuário de Aplicação Terceira, o sistema terceiro terá disponível uma API para consumir os dados da solicitação em andamento. Sempre que um processo configurar uma etapa com o tipo de mecanismo de aplicação Usuário Aplicação Externa, o processo já fica esperando a aplicação terceira responder a etapa para continuar o fluxo do processo.
O diagrama abaixo, exemplifica a integração de uma aplicação terceira, que de tempos em tempos de acordo com a necessidade do processo desenvolvido fica consumindo as solicitações terceiras finalizadas por usuários do BPM:
2. Funcionalidades
2.1 Consumo das Solicitações Terceiras
Sempre que um evento movimentar um processo BPM, as informações da tarefa e status da tarefa serão atualizados com os seguintes status.
- Pending: a solicitação foi criada pelo BPM e ainda não foi finalizada ou cancelada;
- Treated: a solicitação foi finalizada;
- All: todas as solicitações terceiras com usuário de aplicação externa.
Para integrar com o backend de um sistema terceiro, o desenvolvedor deve consultar e responder a solicitação a ser integrada.
3. Integração com Senior G5
As API getThirdPartyRequestByStatus e responsePendency podem ser utilizadas em regras LSP (Linguagem Senior de Programação), com uso das funções HttpPost para chamadas das APIs REST e ListaRegraCarregarJson e ListaRegraObterValorAlfa para manipular o retorno dos dados em formato JSON.
Para agendar o consumo das solicitações do BPM, recomenda-se o recurso de agendamento da Web G5 ou agendamento de webservices.
3.1 Habilitar o Recurso de Integração por Solicitações
Para habilitar o recurso de integração por solicitações utilizando a opção de integração na área de trabalho do processo, informe os campos abaixo:
- Habilitar integração de solicitações: indica se a integração esta habilitada, ou seja, começa gerar os registros para consumo da API (getThirdPartyRequestByStatus);
- Chave do processo para aplicação terceira: é o identificado único do processo. Ele deve ser usado para consulta das tarefas/solicitações.
3.2 Consultar Pendências para Integração
Para consultar as solicitações informe a chave do processo, configurada na área de trabalho do processo e o status.
- Consulta pendências de solicitações:
Exemplo:
POST /rest/platform/workflow/queries/getThirdPartyRequestByStatus
{ “processKey”: “ERP_CADASTROPRODUTO”, “status”: “InProgress” }
- Consulta pendências já integradas:
Exemplo:
POST /rest/platform/workflow/queries/getThirdPartyRequestByStatus
{ “processKey”: “ERP_CADASTROPRODUTO”, “status”: “Completed” }
O retorno deste serviço será uma lista de solicitações com detalhes das variáveis de processo usadas na integração:
{
"requests": [{
"flowToken": {
"processInstanceID": 806,
"step": 4,
"activityId": 6
},
"processData": {
"tipo": "Pessoa Jurídica",
"nome": "SENIOR LTDA"
}
},
{
"flowToken": {
"processInstanceID": 329,
"step": 4,
"activityId": 2
},
"processData": {
"tipo": "Pessoa Jurídica",
"nome": "CORREIOS"
}
}
]
}
Abaixo, um detalhamento da estrutura JSON retornada pelo serviço:
| Campo | Descrição |
|---|---|
| flowToken/processInstanceId | Número da solicitação do Processo |
| flowToken/step | Identificador Interno da Etapa do Processo |
| flowToken/activityId | Identificador Interno da Atividade do Processo |
| processData | Lista chave valor com as variáveis do processo |
3.3 Responder Solicitações por Aplicativo Externo
Só é possível responder tarefas por aplicações terceiras se ela estiver em uma etapa como usuário de aplicativo externo.
- Responde a solicitação número 806 chamando a ação finaliza:
POST /rest/platform/workflow/actions/responsePendency
{ "serviceFlowToken": {
"processInstanceID": 806,
"step": 4,
"activityId": 6
}
"responseData" : {
"flowExecutionData" : {
"actionToExecute" : "Finalizar"
}
}
}Quando o fluxo esta em uma etapa de aplicação externa, ela não pode ser usada com usuários da plataforma. É necessário ter uma chave de aplicação que representa o sistema terceiro para responder a tarefa.

English
Español


