Ir para conteúdo principal

Ferramentas Darwin: Código Python

S
Escrito por Support Team

Esta nova ferramenta permite que você execute seu próprio código personalizado. Essa funcionalidade é útil para realizar cálculos, gerar valores ou interagir com consultas e componentes. Esta etapa executa seu código Python em um ambiente isolado e passa os resultados para as próximas fases do fluxo de trabalho. Se você preferir trabalhar com JavaScript, utilize a ferramenta de código JavaScript disponível.


Como funciona a ferramenta

Etapa 1: Adicionar a ferramenta ao fluxo

Abra o Construtor de Automações, clique no botão + para adicionar uma ação e selecione a ferramenta Python.

Etapa 2: Configurar os dados de entrada

Na seção Input Data (Dados de entrada), você define as variáveis que receberá das etapas anteriores e que utilizará dentro do código.

Para cada variável, você deve especificar:

  • Nome: o identificador que você usará no script.

  • Tipo de dado: string, number, boolean, etc.

  • Valor: selecione o dado de uma etapa anterior que será atribuído a esta variável.

Você pode adicionar quantas variáveis precisar usando o botão Add field. Também é possível excluir as que não utilizar.

Em seguida, configure os Output Data (Dados de saída). Aqui, você especifica manualmente o nome e o tipo das variáveis que deseja obter como resultado. Nas próximas etapas da sua automação, você poderá usar os campos definidos nesta seção.

Configurar os dados de saída é obrigatório, mesmo que você não tenha criado nenhuma variável nova no código.

Etapa 3: Escrever o código e configurar a saída

No editor de código, escreva o script em Python utilizando as variáveis declaradas nos dados de entrada. Você pode criar novas variáveis ou modificar as existentes.

Na seção Output Data, você define as variáveis que serão expostas como resultado. É obrigatório configurar esta seção, mesmo que você não crie novas variáveis no código. Para cada variável de saída, indique um nome e um tipo de dado.

Quando há campos definidos em Output Data, seu código deve incluir uma atribuição à variável Outputdata com um dicionário cujas chaves correspondam exatamente aos nomes declarados. Por exemplo:


python

Outputdata = {"resultado": valor, "otro_campo": otro_valor}

Se essa atribuição não estiver presente, a etapa falhará.

Depois disso, você pode escrever qualquer código Python utilizando as variáveis declaradas ou criar outras novas a partir delas.

O código é executado em um ambiente isolado. Para garantir uma execução segura, restringimos solicitações externas e operações de rede. Por exemplo, não é possível usar as bibliotecas utilizadas para solicitações HTTP.

Após configurar o código, abra a próxima etapa da automação. Nos campos onde você precisar inserir os valores de saída, selecione as variáveis definidas em Output Data na lista de campos disponíveis. Salve as alterações e inicie a automação.

Limitações e segurança

  • Versão do Python: 3.11

  • Fuso horário do ambiente: UTC

  • Limite de memória: 512 MB

  • Tempo máximo de execução: 10 segundos por etapa

  • Ambiente isolado: o código é executado em um sandbox sem acesso à rede. Solicitações HTTP e operações de rede não são permitidas (por exemplo, as bibliotecas requests, urllib e socket).

  • Módulos disponíveis: apenas módulos de uma lista aprovada podem ser importados. Entre eles estão: string, re, math, cmath, statistics, random, datetime, calendar, collections, collections.abc, functools, itertools, operator, heapq, bisect, array, copy, json, numpy, csv, base64, binascii, hashlib, hmac, pprint, textwrap, uuid, typing, dataclasses, traceback, decimal, fractions.

Erros e diagnósticos

Se a etapa falhar:

  • Verifique se os dados de saída estão configurados corretamente e se os nomes das variáveis de saída correspondem aos nomes que você atribuiu no seu código.

  • Verifique os dados de entrada: certifique-se de que a estrutura ou o número de linhas seja suficiente. Muitos erros ocorrem após a divisão quando a string de entrada não contém as linhas esperadas.

  • Certifique-se de não estar utilizando módulos restritos nem realizando solicitações de rede.

Exemplos de uso

Calcular a diferença em minutos entre duas datas

Retorna a duração em minutos a partir de dois timestamps, útil para calcular tempos de processamento, chamadas ou reuniões.

python

from datetime import datetime date_start = datetime.fromisoformat(date_start)  # or another format in which the string arrives date_end   = datetime.fromisoformat(date_end) dif_minutes = (date_end - date_start).total_seconds() / 60
phytoncode7.png

  • Separar data e hora e remover os segundos

    Converte uma data e hora completas em dois campos independentes (data e hora) e descarta os segundos.

python

from datetime import datetime date_time_str = date_time.strip()  # input is ALWAYS a string if date_time_str.isdigit():     dt = datetime.fromtimestamp(int(date_time_str) / 1000) else:     try:         dt = datetime.fromisoformat(date_time_str)     except ValueError:         dt = datetime.strptime(date_time_str, "%Y-%m-%d %H:%M:%S") def date_edit(arr):     return [(f"0{el}" if el < 10 else str(el)) for el in arr] date_str = ".".join(date_edit([dt.day, dt.month, dt.year])) time_str = ":".join(date_edit([dt.hour, dt.minute]))
phytoncode10.png
  • Limpar tags HTML de um texto

    Remove as tags HTML, quebras de linha e múltiplos espaços do corpo de um e-mail ou notificação.

python

import re regexp = re.compile(r'<(\/?[^>]+)>|(\n)|(\s{4,})', flags=re.MULTILINE) clean_text = regexp.sub('', html).strip() Outputdata = {"clean_text": clean_text}
phytoncode8.png
Isto respondeu à sua pergunta?