Integrar com n8n e ERP: API e webhooks
Atualizado em · Para o gestor
O FlowField conversa com o n8n, o seu ERP ou o seu BI de dois jeitos: o token de API deixa o seu sistema buscar e gravar vistorias; o webhook avisa o seu sistema na hora em que algo acontece, como um laudo aprovado.
Tudo fica em Mais › Integrações, que só o titular da conta e quem tem o papel Gestor veem. A documentação completa da API está em https://goflowfield.com/v1/openapi.yaml.
Criar um token de API
- Em Integrações, toque em Novo token.
- Dê um Nome que diga onde ele vai ser usado, por exemplo "n8n produção".
- Toque em Criar token e copie o valor, que começa com
ff_. - No seu sistema, envie o token em todo pedido, no cabeçalho
Authorization: Bearer ff_….
A lista mostra o começo de cada token, quando foi criado e quando foi usado pela última vez. O token também deixa de valer quando a pessoa que o criou sai da equipe ou exclui a conta.
O que o token pode fazer
- Ler formulários, vistorias, fotos e o laudo em PDF (
GET /v1/records/{id}/laudo.pdf). - Criar e alterar vistorias, por exemplo abrir uma vistoria a partir de uma ordem de serviço do ERP.
- Consultar vistorias por campo (
POST /v1/query) e baixar a planilha de um formulário (GET /v1/forms/{id}/export.csv).
O token não aprova, não devolve e não reabre laudo, não cria nem edita formulário e não cria outro token: essas ações ficam com as pessoas da equipe.
Criar um webhook
- Em Integrações, toque em Novo webhook.
- Em URL de destino, cole o endereço que vai receber os avisos. Precisa ser
httpse acessível pela internet, na porta padrão do https (443) ou na 8443, e sem usuário e senha no endereço. Um n8n em outra porta (como a 5678) precisa ficar atrás de um endereço https normal; senão o app recusa com "Use a porta padrão do https (443) ou 8443." - Em Eventos, marque o que deve ser avisado: Vistoria criada, Vistoria alterada, Vistoria removida, Laudo aprovado, Vistoria devolvida, Lote sincronizado, Laudo emitido (com o link do PDF), Não conformidade criada ou Prazo de não conformidade (3 dias e vencida). Os três últimos estão em Alertas por e-mail e eventos de webhook.
- Toque em Criar webhook e guarde o Segredo (começa com
whsec_). Ele também aparece uma vez só. - Toque em Enviar teste para conferir se o destino recebe. O resultado aparece na hora, num aviso: "Entregue (HTTP 200)." ou "Falhou:" e o motivo. O teste chega como o evento
changeset.applied(Lote sincronizado), comdata.testigual atrue. O teste não muda o código que a lista mostra: ele reflete só a última entrega de um evento de verdade (por exemplo, HTTP 200, ou falhou), e um webhook novo mostra sem entregas até o primeiro evento.
Cada organização tem até 10 webhooks, um por endereço. Para mudar os eventos de um webhook, remova e crie de novo.
O que chega no destino
Cada aviso é um POST com corpo JSON { event, occurredAt, data }. Nos eventos de vistoria, data traz a vistoria, com id, situação e respostas. Os cabeçalhos:
X-FlowField-Event: o evento;X-FlowField-Delivery: o id da entrega, igual em todas as tentativas;X-FlowField-Timestamp: o momento do envio, em segundos;X-FlowField-Signature:sha256=seguido do HMAC-SHA256, em hexadecimal, de<timestamp>.<corpo>com o segredo.
No destino, recalcule a assinatura com o segredo e recuse o aviso se ela não bater ou se o carimbo tiver mais de 5 minutos.
Quando o destino falha
O FlowField tenta de novo sozinho, até 10 vezes ao longo de cerca de 72 horas. Resposta 4xx (menos 408 e 429) encerra as tentativas, porque repetir não resolve. Depois de corrigir o destino, toque em Reenviar no webhook (o botão diz quantas falhas há): as entregas que falharam voltam para a fila, com o mesmo id e o mesmo corpo.
Exemplo com o n8n: laudo aprovado vai ao cliente
- No n8n, crie um fluxo que começa com um nó Webhook, método POST, e copie a URL de produção dele.
- No FlowField, crie o webhook com essa URL e marque só Laudo aprovado.
- No n8n, com o
data.iddo aviso, baixe o PDF emhttps://goflowfield.com/v1/records/{id}/laudo.pdfcom o token no cabeçalhoAuthorization. - Siga com o que a sua empresa já usa: e-mail ao cliente, pasta compartilhada ou lançamento no ERP.