FAQ - Perguntas frequentes
Todos os passos de um fluxo geram Requisições?
-> A requisição ocorre somente quando existe uma comunicação com outro sistema e, dependendo do fluxo que se deseja construir, nem todos os passos exigem uma comunicação externa com outro sistema. Podem haver passos com conectores de Espera, ou conectores condicionais como o Conditional - IF, que não geram requisição. Ou seja, as requisições vão depender dos conectores que forem selecionados em cada passo.
Quando a requisição de um passo é executada, qual é o IP de origem?
-> Os IP's que realizam as requisições serão sempre da Fluid, através dos nossos servidores em nuvem.
Como faço para configurar a retentativa em casos onde não obtenho uma resposta da API?
Quando obtemos a resposta da API de uma requisição, é intuitivo configurar o HTTP Status Code para a retentativa, ex: 400Porém, para casos onde a API não retorna uma resposta (API indisponível, um timeout, etc), digite o código de erro 0 (zero). Para saber mais, acesse Tratamento de Erros
Qual a diferença dos status "Falha" e "Divergência", no gráfico de atividade dos fluxos?
-> O status "Falha" é considerado quando todos passos de um fluxo executados retornaram falha. E o status "Divergência" é considerado quando pelo menos um passo executado retornou falha, porém o fluxo não foi abortado.
Preciso criar uma API Key mesmo se todos os meus fluxos iniciarem com Schedulers?
-> Sim, essa chave é obrigatória para todos os clientes dentro da Fluid. É necessário configurar as API Keys tanto para executar fluxos via Schedulers (old), como fluxos que iniciam por Eventos.
Quando um scheduler finaliza com falha/divergência, o que fazer?
-> É preciso analisar caso a caso, alguns schedulers precisam limpar os dados da execução (baseado no ID da execução) que teve falha/divergência antes de executá-lo novamente, outros basta executá-lo novamente.
Por que um dos meus fluxos não está aparecendo na tela de eventos?
-> Se você não está vendo um de seus fluxos na tela de eventos (não está conseguindo disparar o fluxo via evento/webhook), a causa mais comum é que apenas fluxos que foram publicados serão exibidos nessa área. Se o fluxo estiver em status de rascunho, ele não aparecerá na tela de eventos. Certifique-se de publicar o fluxo para que ele seja monitorado e gerencie os eventos relacionados a ele.
Por que a última versão do meu fluxo não está rodando quando disparo via evento/webhook?
-> Se a última alteração que você fez no fluxo não está sendo refletida na execução, certifique-se que esta versão está publicada e não em modo rascunho. Versões de fluxos no modo rascunho são úteis para testes apenas, porém não são executadas quando disparadas por eventos.
Como acessar a resposta de um passo anterior no passo que estou configurando?
TODO Thauan Mendes de Lima
-> Para acessar valores da resposta de um passo anterior basta utilizar as seguintes sintaxes:
- Caso queira utilizar o valor de um passo anterior em um Template: {{.state.<passo a ser buscado o valor>.<caminho onde o valor se encontra>}}
- Caso queira utilizar o valor de um passo anterior em um Depara ou Rules: Diferente do Template não precisa abrir e fechar chaves e nem informar o 'state' <passo a ser buscado o valor>.<caminho onde o valor de encontra>
- Caso queira utilizar o valor de um passo anterior em um campo Dinâmico: {{get `state.<passo a ser buscado o valor>.<caminho onte o valor se encontra>`}}
Quando utilizar um conector Conditional - IF e quando utilizar Rules Mandatórias?
-> Ambos possuem o mesmo objetivo. Recomendamos que seja priorizado o conector IF, para facilitar o entendimento do fluxo na forma visual. Porém, caso as opções na lista de "Operador" deste conector não atenderem a regra desejada, é possível optar pela utilização da "Rule" mandatória.
O conector HTTP se comunica com APIs REST?
-> Sim, este conector é genérico e atende tanto protocolos HTTP, como HTTPS. Basta inserir no campo da URL o protocolo desejado. Este conector é bastante versátil, podendo ser usado para APIs REST, SOAP ou qualquer outra que utilize o protocolo HTTP.
Qual é a ordem de transformação de dados na execução de um conector, entre Rules, De/Para, Template e URL?
Posso utilizar caracteres especiais na nomenclatura dos passos?
-> A nomenclatura dos passos dentro de um fluxo NÃO pode conter o caractere underline _, os demais caracteres são permitidos.
Como visualizar o payload recebido em Eventos que disparam um fluxo?
-> Para visualizar o payload recebido no evento basta acessar o menu na lateral esquerda da tela e selecionar a opção Eventos. Nessa página serão apresentados os logs de todos os eventos executados com informações de status, data e hora e o nome do fluxo. Ao selecionar e expandir um Evento, será possível visualizar o payload recebido:
![Tela de Eventos Tela de Eventos](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/2o-1d_pt5mRmI0ERcgiZ8_image.png?format=webp)
O que fazer caso eu não encontre um conector necessário ou um conector existente não atenda meus objetivos dentro da plataforma?
-> Quando houver a necessidade de um novo conector, o procedimento é solicitar ao time da Fluid, através da abertura de um chamado.
Para novas funcionalidades dentro de um conector existente, a solicitação pode ser via chamado também ou pelo canvas, no link abaixo:
![Sugerir funcionalidade para um conector Sugerir funcionalidade para um conector](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/H6QPEpLBWiKWWa8h4tz4E_image.png?format=webp)
O que significa quando não tem o campo "Conexão" na configuração de um passo de um conector no canvas?
-> Alguns conectores não precisam realizar uma requisição em sistema externo, nestes casos não se faz necessária uma configuração de "conexão" e o campo não é apresentado em tela. Outros conectores que realizam a requisição vão apresentar o campo "Conexão", porém, de forma não obrigatória, porque essa informação vai depender de como a API foi construída.
![Campo: Conexão Campo: Conexão](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/hd9lWae0viRkmlRjre4my_image.png?format=webp)
O campo "Conexão" é obrigatório?
-> Não. O preenchimento deste campo no conector vai depender de como a API do sistema externo foi construída, se exige alguma autenticação, ou não.
Como acessar entidades com hífen no nome em um Go template?
-> Para acessar entidades que contêm hífen no nome em um Go template , você pode usar a função index passando a variável que contém a estrutura de dados e o nome da entidade entre aspas duplas. Por exemplo, se você tem uma variável state que contém um mapa de dados e deseja acessar a entidade com o nome "envia-nota-fiscal", você pode fazer da seguinte maneira:
Isso retornará o valor associado à entidade "envia-nota-fiscal" no mapa state. Certifique-se de que a chave existe no mapa, caso contrário, isso resultará em uma string vazia ou zero, dependendo do tipo de valor armazenado.
Como criar um Slug a partir de uma string?
-> Para converter uma string para o formato slug (o que é slug?), você pode fazer da seguinte maneira (exemplo gerando um JSON com um atributo chamado msg):
Ou seja, é possível converter uma string em slug usando qualquer uma das duas sintaxes acima.
Como acessar um header específico do payload de entrada de um fluxo?
Para acessar diretamente um header específico:
Veja mais em Parametrizações.