FAQ - Perguntas frequentes
-> 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.
-> Os IP's que realizam as requisições serão sempre da Fluid, através dos nossos servidores em nuvem.
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
-> 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.
-> 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.
-> É 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.
-> 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.
-> 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.
-> 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: {{.steps.<passo a ser buscado o valor>.body.<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 `steps.<passo a ser buscado o valor>.body.<caminho onte o valor se encontra>`}}
-> Para enviar um xml via formdata no conector HTTP é necessário chamar a função escape ao referênciar o xml a ser enviado, como no exemplo abaixo:
-> 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.
-> 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.
-> A nomenclatura dos passos dentro de um fluxo NÃO pode conter o caractere underline _, os demais caracteres são permitidos.
-> 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:
-> 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:
-> 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.
-> 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.
-> 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.
-> 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.
Para acessar diretamente um header específico:
Veja mais em Parametrizações.
Para acessar um array no template é preciso utilizar o index e em seguida informar o número do índice a ser acessado, como por exemplo: