BPM > Integrações > Integração com sistemas terceiros

Integração com Sistemas Terceiros

Sumário

  1. Conceito
  2. Funcionalidades
    2.1 Consumo das Solicitações Terceiras
  3. Integração com Senior G5
    3.1 Habilitar o Recurso de Integração por Solicitações
    3.2 Consultar Pendências para Integração
    3.3 Responder Solicitações por Aplicativo Externo

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.

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:

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.

Exemplo:

POST /rest/platform/workflow/queries/getThirdPartyRequestByStatus

{ “processKey”: “ERP_CADASTROPRODUTO”, “status”: “InProgress” }

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.

Exemplo:

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.

Este artigo ajudou você?