Hi All,
I'm new to the OutSystems environment and need help with implementing a process flow(BPT Processflow). I’ve reviewed the documentation, but I’m still facing challenges in making it work as expected.
I want to trigger a process flow (BPT Processes flow) and render the user interface based on the responses from the APIs I’ve consumed.
Here's the scenario:
How can I achieve this process flow and user interface behavior in OutSystems? Any step-by-step guidance would be highly appreciated.
1. Configuração inicial:
Antes de começar a criar o fluxo do processo, certifique-se de ter a infraestrutura básica configurada:
Armazenamento de login e token:
Crie um processo de login que chame a API de login e armazene o token na variável do cliente, como você já notou. Você pode fazer isso usando uma ação no OutSystems que chame a API e salve o token na variável do cliente.
Criando o Fluxo de Processo (BPT):
Crie um Processo de Negócio OutSystems (BPT), que pode ser feito no módulo de processos.
Configure um Evento de Início que será acionado quando o usuário efetuar login com sucesso e armazenar o token.
2. Inicie o fluxo do processo e chame a API:
Depois que o token for armazenado, você pode iniciar o fluxo do processo:
Ação que chama a API com o Token:
No seu fluxo de processo, crie uma Action que será responsável por chamar a API com o token armazenado. Você pode fazer isso usando o componente de integração OutSystems para fazer uma chamada de API.
A resposta desta API será usada para gerar dinamicamente os dados da pesquisa.
3. Renderizando dinamicamente a pesquisa:
Para gerar dinamicamente uma pesquisa no frontend, você pode usar as seguintes etapas:
Criando Variáveis e Estruturas:
Crie estruturas que reflitam a resposta da API que você receberá. Por exemplo, se uma API retornar um conjunto de perguntas, crie uma estrutura com os campos para armazenar essas perguntas e respostas.
Essas estruturas serão usadas para criar dinamicamente os campos da pesquisa.
Página de pesquisa:
Crie uma página (por exemplo, Quiz ou FormPage) que renderize elementos HTML com base nas perguntas que você recebeu da API. Você pode usar uma Lista ou Registros de Tabela para exibir dinamicamente os campos do formulário (entradas, seleção, etc.).
Durante a renderização, vincule os campos da página às variáveis de estrutura que você criou.
Interagindo com o fluxo do processo:
Para cada resposta na pesquisa, crie um formulário que será enviado. Após o envio do formulário, o processo no OutSystems deve continuar, por exemplo, chamando outra API ou criando outra etapa no fluxo do processo.
Cada vez que o usuário envia o formulário, você pode chamar um evento de processo que avançará para a próxima etapa.
4. Continuação do fluxo de processo com nova API:
Seguindo o fluxo do processo:
Após o envio do formulário, você pode configurar o processo para continuar. Dependendo da lógica de negócios, isso pode incluir chamar outro conjunto de APIs ou outro formulário de pesquisa.
Por exemplo, você pode usar uma Ação do tipo Iniciar um Processo para iniciar um novo fluxo ou apenas continuar com o processo atual, dependendo da lógica.
Nova chamada de API:
No segundo formulário, você chamará uma nova API com base na resposta do primeiro formulário. O processo de renderização do formulário para a próxima API pode ser semelhante ao primeiro, ajustado com base nos dados que a segunda API retorna.
5. Encerrando o Processo:
Quando todas as etapas do fluxo do processo forem concluídas e o usuário enviar os dados finais, você poderá encerrar o processo.
Finalizando o Processo:
Configure um Evento Final no BPT para encerrar o fluxo do processo após o último formulário ou ação ser concluído.
6. Exemplo de fluxo:
Login -> Chamar API 1 -> Receber resposta -> Gerar formulário 1 -> Enviar formulário 1 -> Chamar API 2 -> Receber resposta -> Gerar formulário 2 -> Enviar formulário 2 -> Fim.
Please go through the learning material
https://learn.outsystems.com/training/journeys/async-capabilities-649
this will help you to understand timer, bpt and light bpt.
You also learn best practices and use cases of the bpt