VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Fluxos de automação

Como o seller cria automações do tipo "quando X acontecer, faça Y" pela API do painel do seller.

Um fluxo é uma automação do seller (lojista) no formato "quando acontecer X, e se Y, faça Z". Por exemplo: "quando entrar um pedido, e se o total passar de R$ 1.000, avise minha equipe". O seller desenha o fluxo como um grafo (um gatilho, condições, ações e uma saída), ativa, e a plataforma passa a executá-lo sozinha a cada evento. Esta seção documenta as onze rotas /api/v1/vendor/flows.

Pontos principais
  • Um fluxo nasce rascunho (draft). Só um fluxo active executa.
  • Um fluxo só age sobre o que é do próprio seller: o evento precisa vir de um pedido, produto ou devolução dele.
  • As ações permitidas ao seller são três: set_order_status, set_product_status e notify_inbox. Enviar e-mail, WhatsApp ou chamar webhook é recusado.
  • Há no máximo 20 fluxos ativos por seller e 50 passos por fluxo.
  • A execução é assíncrona: um worker verifica as execuções pendentes a cada 30 segundos.
  • Um fluxo apagado some da listagem e é pausado; não há como restaurar.

Como funciona

draft→active→paused
statusSignificado
draftRecém-criado. Não executa.
activeLigado. Cada evento do gatilho cria uma execução.
pausedDesligado por pause (ou ao apagar). Execuções em andamento ficam paradas até o fluxo ser reativado.
  1. Escolha o gatilho e as ações

    GET /vendor/flows/catalog lista os gatilhos e as ações disponíveis.

  2. Crie o fluxo

    POST /vendor/flows com o nome, o gatilho e o grafo. O fluxo fica em rascunho.

  3. Valide

    POST /vendor/flows/{id}/test confere o grafo sem executar nada.

  4. Ative

    POST /vendor/flows/{id}/activate revalida e liga. A partir daí cada evento do gatilho cria uma execução (run).

  5. Acompanhe

    GET /vendor/flows/{id}/runs lista as execuções e GET /vendor/flows/runs/{runId}/steps mostra, passo a passo, o que cada uma fez.

Conceitos-chave

O grafo

O graph tem nodes (passos) e edges (ligações). Regras que a ativação confere: exatamente um passo trigger, pelo menos um exit, e nenhum passo (além do gatilho) sem ligação de entrada.

typeO que fazconfig
triggerPonto de partida. Um só.{}
conditionTesta um valor do evento e segue pelo ramo yes ou no.field, op e value (número) ou str (texto).
actionFaz algo.kind e params.
exitEncerra a execução com sucesso.{}

Condição. field é um dado do evento (tabela abaixo) e op é gt, gte, lt, lte, eq ou neq. Campos de texto (terminados em .status, .payment_method ou _status) comparam com str e só aceitam eq e neq. Os numéricos comparam com value. Valores em dinheiro estão em centavos: 100000 é R$ 1.000,00. Um field que o evento não traz resulta em no.

Ligações. Ao sair de uma condição, cada ligação deve ter branch igual a yes ou no. Nos demais passos, branch é null.

Ações permitidas ao seller.

kindparamsEfeito
notify_inboxtitle (obrigatório), body, link, user_idCria uma notificação no painel. Sem user_id, vai para o usuário que criou o fluxo.
set_order_statusstatus (obrigatório), notesMuda o status do pedido do evento, passando pelas mesmas regras de transição de uma mudança manual.
set_product_statusstatusMuda o status do produto do evento.

Gatilhos que realmente disparam

O catálogo lista oito gatilhos, mas para o seller funcionam seis:

GatilhoDispara quandoDados para condições
order.createdEntra um pedido do seller.order.total (centavos), order.item_count, order.payment_method, order.customer_id
order.statusChangedO status de um pedido do seller muda.order.status, order.old_status (nome do status, como shipped)
order.paymentStatusChangedO pagamento muda de estado.order.payment_status
order.chargebackUm pedido sofre estorno por disputa.order.total, order.gateway
product.pending_moderationUm produto do seller vai para moderação.product.vendor_id
return.statusChangedUma devolução de pedido do seller muda de status.return.status, return.order_id

product.stockChanged e user.registered aparecem no catálogo, mas não executam para sellers: o primeiro não tem disparo ligado, o segundo não pertence a nenhum seller.

Execução e histórico

Cada evento cria uma execução (run) com os dados do evento em context. O mesmo evento não cria duas execuções do mesmo fluxo. Cada passo executado fica registrado em steps. Uma ação que falha por motivo temporário é tentada até 3 vezes no total; se continuar falhando, a execução termina como failed com o motivo em error.

status da execuçãoSignificado
activeEm andamento ou aguardando o próximo ciclo.
doneChegou a um exit.
failedUma ação falhou.

Endpoints

MétodoCaminhoPara que servePágina
GET/api/v1/vendor/flowsLista os fluxos.Fluxos
POST/api/v1/vendor/flowsCria um fluxo em rascunho.Fluxos
GET/api/v1/vendor/flows/{id}Consulta um fluxo.Fluxos
PUT/api/v1/vendor/flows/{id}Substitui o fluxo.Fluxos
DELETE/api/v1/vendor/flows/{id}Apaga o fluxo.Fluxos
POST/api/v1/vendor/flows/{id}/activateValida e liga.Ligar, pausar e testar
POST/api/v1/vendor/flows/{id}/pauseDesliga.Ligar, pausar e testar
POST/api/v1/vendor/flows/{id}/testValida o grafo sem executar.Ligar, pausar e testar
GET/api/v1/vendor/flows/{id}/runsLista as execuções.Execuções
GET/api/v1/vendor/flows/runs/{runId}/stepsPassos de uma execução.Execuções
GET/api/v1/vendor/flows/catalogGatilhos e ações.Catálogo

Erros comuns

  • Esperar que o fluxo dispare logo após criar. Ele nasce em draft. É preciso activate.
  • Achar que test simula um evento. Ele só valida a estrutura do grafo; nada é executado.
  • Usar uma ação de e-mail ou WhatsApp. O seller só pode notify_inbox, set_order_status e set_product_status. O restante volta 422.
  • Escolher user.registered ou product.stockChanged. Entram no catálogo mas nunca executam para o seller.
  • Escrever valor de dinheiro em reais na condição. order.total está em centavos.
  • Mandar PUT com name ou trigger_type vazios. Diferente do POST, o PUT não os exige e grava vazio.
  • Editar um fluxo ativo e supor que a validação roda de novo. O PUT só confere a lista de ações. Um grafo quebrado numa edição só aparece nas execuções, que falham. Pause, edite e ative de novo.
  • Esquecer o limite de 20 ativos. activate responde 422 quando o seller já tem 20.

Próximos passos

Fluxos
Criar, consultar, editar e apagar.
Ligar, pausar e testar
Ativação e validação.
Execuções
O que cada fluxo fez.
Anterior
Notificações
Próxima
Fluxos
Nesta página
  • Como funciona
  • Conceitos-chave
  • O grafo
  • Gatilhos que realmente disparam
  • Execução e histórico
  • Endpoints
  • Erros comuns
  • Próximos passos