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.
- 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.
1def main(name: str = "world"):2 print(f"saying hello to {name}")3 return {"message": f"Hello, {name}!"}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"}'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
- 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.
- 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.
- 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ção | O que você escolhe |
|---|---|
| Endpoint URL | O caminho depois do id do projeto. Só letras, números, -, _ e /. |
| HTTP Method | GET, POST (o padrão), PUT ou DELETE. |
| Execution Mode | Synchronous (espera e devolve a saída) ou Asynchronous (devolve um runId para consultar). |
| Authentication | Protected (exige token de API — recomendado) ou Public (sem token). |
| Parameter Passing | Só quando o script tem parâmetros: Request body (JSON) ou Query string. |
| Limites | Chamadas por minuto e Execuções ao mesmo tempo — os mesmos dois campos da aba. |
| Active Tokens | Só 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.
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.
| Limite | Faixa | Acima do limite |
|---|---|---|
| Chamadas por minuto (endpoint) | 1–100.000 | HTTP 429, o cabeçalho Retry-After e {"code": "rate_limited", "retryAfter": n}; nenhuma execução é criada. |
| Execuções ao mesmo tempo (item) | 1–1.000 | As 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;
retryAftersã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.