AutomatizeEtapa 1 de 5

Tudo o que inicia: a aba Gatilhos

Todo script e todo flow têm uma aba Gatilhos ao lado do código. Ela reúne tudo o que pode iniciar o item sem você clicar em Executar — o endpoint de API, os agendamentos e os gatilhos de evento — e os dois limites que o protegem. Nesta lição você lê a aba de cima a baixo, muda o endpoint com Configurar e vê os dois limites funcionando.

O que você vai aprender
  • Ler o cartão da API e copiar um curl síncrono ou assíncrono que funciona como mostrado
  • Mudar método, modo, autenticação, parâmetros e limites com Configurar
  • Adicionar e pausar agendamentos sem sair do editor
  • Limitar chamadas por minuto e execuções ao mesmo tempo

Uma aba, todas as entradas

Abra um script no editor e escolha Gatilhos na barra lateral (num flow, é uma das abas da direita). A aba tem quatro partes, sempre nesta ordem: API, Agendamentos, Eventos e Limites. Cada parte lê e grava os mesmos registros das páginas do projeto — o endpoint é o mesmo da página API, os agendamentos são os mesmos da página Agendamentos — então uma mudança feita num lugar aparece no outro na hora.

docs-demoCódigohello.pySalvarPublicar
hello.py
1def main(name: str = "world"):2    print(f"saying hello to {name}")3    return {"message": f"Hello, {name}!"}
Gatilhos1
APIAbrir na página da API
Outro sistema inicia este script com uma requisição HTTP — copie a URL ou o curl abaixo.
POST/exec/p_58e3011e/hello
ModoSyncAuthBearerLimite60/minStatus
ChamarSyncAsync
1curl -X POST "$WAISO_URL/exec/p_58e3011e/hello" \2  -H "Authorization: Bearer $WAISO_TOKEN" \3  -H "Content-Type: application/json" \4  -d '{"name":"world"}'
AgendamentosAbrir em Agendamentos
morning_helloDias úteis às 08:00Ativo
Adicionar agendamento
Eventos
Rode este script quando algo acontecer em outro lugar: chega um e-mail, uma linha do banco muda, chega uma mensagem MQTT.Adicionar gatilho de evento
Limites
O cartão da API no topo com a URL, o curl de Chamar, depois Agendamentos, Eventos e Limites.

Todo gatilho roda a versão publicada. Enquanto o item não é publicado, a aba diz Os gatilhos executam a versão publicada. Publique este script para chamá-lo por URL ou por agendamento. e os botões de adicionar ficam desativados, com o motivo ao passar o mouse. Depois de publicar, se você continuar editando, uma linha avisa Há alterações não publicadas — os gatilhos continuam executando a versão publicada.

O cartão da API e o curl

  1. Ative o endpoint

    Num item que está Ainda não está na API, clique em Ativar endpoint. O cartão passa a mostrar o selo do método, a URL com o caminho em negrito, as colunas Modo, Auth, Limite e Status, e Abrir na página da API, que abre a página API focada neste endpoint.

  2. Copie o curl

    Em Chamar, um seletor Sync | Async escolhe qual exemplo aparece, depois vem Copiar curl. O seletor só muda a exibição — nunca muda o endpoint, porque trocar o modo de um endpoint em uso quebraria quem chama. Quando o exemplo difere do endpoint, uma linha diz Este endpoint é Síncrono — altere em Configurar.

  3. Defina o token

    O curl lê o token de $WAISO_TOKEN (Defina $WAISO_TOKEN com um token da API.). Criar token abre as configurações da página API com um novo token para este endpoint.

Sync espera e responde com a saída (ideal abaixo de ~30 s). Async responde na hora com um runId; consulte até terminar. Um flow que para numa etapa de Aprovação responde 202 com a execução enquanto espera, em vez de segurar a chamada. O contrato completo — códigos de status, a URL de consulta, erros de token — está em Endpoints de API.

Configurar: as opções do endpoint

Configurar abre o mesmo diálogo da página API. As seções ficam listadas à esquerda; cada uma está a um clique e Save changes grava tudo junto. Os rótulos desse diálogo aparecem em inglês nos dois idiomas do app.

SeçãoO que você escolhe
Endpoint URLO caminho depois do id do projeto. Só letras, números, -, _ e /.
HTTP MethodGET, POST (o padrão), PUT ou DELETE.
Execution ModeSynchronous (espera e devolve a saída) ou Asynchronous (devolve um runId para consultar).
AuthenticationProtected (exige token de API — recomendado) ou Public (sem token).
Parameter PassingSó quando o script tem parâmetros: Request body (JSON) ou Query string.
LimitesChamadas por minuto e Execuções ao mesmo tempo — os mesmos dois campos da aba.
Active TokensSó para endpoint protegido: os tokens que podem chamá-lo.

Agendamentos e eventos

Agendamentos lista todos os agendamentos que rodam este item, como a página Agendamentos mostra, com a próxima execução (um pausado mostra “—”). Adicionar agendamento abre o assistente de agendamento já apontado para este item; Pausar agendamento e Retomar agendamento funcionam em cada linha; Abrir em Agendamentos leva à página completa. Eventos guarda os gatilhos que iniciam o item quando chega um e-mail, muda uma linha no banco ou chega uma mensagem MQTT — veja Gatilhos de evento.

Cada linha de agendamento tem o próprio botão de pausa.

Os dois limites

Protege contra chamadas demais ou execuções demais ao mesmo tempo. Os dois campos aceitam números inteiros e são salvos quando você sai do campo ou aperta Enter (a linha de ajuda mostra Salvo por um instante). Os dois ficam vazios por padrão — aí só vale o limite do seu plano.

LimiteFaixaAcima do limite
Chamadas por minuto (endpoint)1–100.000HTTP 429, o cabeçalho Retry-After e {"code": "rate_limited", "retryAfter": n}; nenhuma execução é criada.
Execuções ao mesmo tempo (item)1–1.000As execuções a mais esperam na fila e começam quando uma termina; nunca falham.
  • As chamadas são contadas por endpoint em cada minuto do relógio, qualquer que seja o token; retryAfter são os segundos até o próximo minuto (1 a 60).
  • O limite de chamadas precisa do endpoint ativo (Ative o endpoint para limitar as chamadas.). O limite de execuções vale para toda execução do item: chamadas de API, agendamentos, eventos e execuções do editor.
  • Uma chamada recusada fica registrada: aparece no uso da página API como limitada.
1 / 5