FAQ - Perguntas frequentes
16min
requisições todos os passos de um fluxo geram requisições docid\ jlrddtxqikvohd769f5bo ? > 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 docid\ yydiulj5osg2m99zrdrcy , ou conectores condicionais como o conditional if docid\ n 6bklyfc lksldxsl3d8 , 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 400 poré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 docid\ iew9ungetwqfrptgelulq fluxos qual a diferença dos status "falha" e "divergência", no gráfico de execuções de 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 quais são as formas possíveis para disparar um fluxo? > para disparar um fluxo é necessário que haja um scheduler docid\ td0jcahzszcq92ymebgqt parametrizado realizando a chamada inicial, eventos docid\ umtr8dli6rnl8us2v8o1a disparados ou manualmente ao testar um fluxo pelo canvas 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 docid\ u9rzulsup oxxcqf5mu 8 tanto para executar fluxos via schedulers (old) docid\ w4ukr pw4uwdk3zjah4uh , como fluxos que iniciam por eventos docid\ umtr8dli6rnl8us2v8o1a 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 faço para enviar um xml no disparo do fluxo? para enviar um xml como payload para o disparo de um fluxo, configure o header content type para application/xml preciso retornar um xml no response de um fluxo disparado sincronamente, como fazer? para retornar um xml no fluxo, ao dispará lo informe o query parameter hct=application/xml acesse aqui a documentação completa com exemplo acesse conectores como acessar a resposta de um passo anterior no passo que estou configurando? > 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>`}} como enviar um xml no formdata utilizando o conector http ? > 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 {{ steps \<nome do passo> body | escape}} quando utilizar um conector conditional if docid\ n 6bklyfc lksldxsl3d8 e quando utilizar rules docid\ lgqsmyrxokym9hgjtotkl 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 docid ix6fj1xxma6nvqnol8mx 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? > a montagem do passo inicia pelas informações preenchidas em rules docid\ lgqsmyrxokym9hgjtotkl , depois as informações inseridas no de/para docid\ voqdaukjjknbswvrhbzqw , posteriormente segue para as informações preenchidas no template docid\ treajh8tvdyh6ukyeaqzp e por último, monta a url e executa a chamada 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 docid\ umtr8dli6rnl8us2v8o1a 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 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 conexões 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 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 golang template 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 go {{ index state "envia nota fiscal" }} 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 ) go { "exemplo 1" "{{toslug "cidade de florianópolis"}}", "exemplo 2" "{{"cidade de florianópolis" | toslug}}" } 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 {{index input headers "content type"}} veja mais em parametrizações docid\ vpilzuenypycbjpp4yand como acessar um array utilizando go template? 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 {{$x = steps \<nome do passo> body }} {{index $x 0 | tojson}} como lidar com datas em formato unix timestamp na fluid api? estou manipulando dados na fluid api e me deparei com uma data em formato unix timestamp como posso convertê la corretamente para manipulação? quando você encontra um campo contendo uma data no formato unix timestamp, é necessário convertê la para um formato utilizável para isso, você pode usar o filtro | int para garantir que o timestamp seja interpretado corretamente se o campo que você está manipulando for similar ao exemplo abaixo go { "dates" { "confirmed at" 1730424941, "created at" 1730424832 } } para manipular o valor de confirmed at corretamente, use {{ dates confirmed at | int }} o que isso faz? o filtro | int converte o valor do timestamp de string para inteiro, permitindo que você o utilize em operações, como formatação de data ou cálculos por que isso é importante? sem o uso de | int , há o risco de o valor ser tratado como uma string, o que pode causar erros ao aplicar funções de data ou realizar comparações numéricas notas adicionais certifique se de que o formato de saída desejado seja compatível com as necessidades do fluxo considere ferramentas de manipulação de data, como filtros de formatação ( | date ) para ajustar o timestamp ao formato legível se persistirem dúvidas ou problemas, entre em contato com o suporte da fluid api