Respond to Webhook

Envie Respostas Customizadas de Volta ao Cliente
AutomationsAI.net

O que o Respond to Webhook Faz

O nó Respond to Webhook permite que seu workflow envie uma resposta HTTP customizada de volta à fonte que acionou o webhook, transformando seus workflows n8n em APIs completas e bidirecionais.

  • Envia respostas HTTP customizadas de volta ao cliente que chamou o webhook
  • Suporta múltiplos formatos de resposta: JSON, texto, HTML, redirect, binary (arquivos)
  • Permite configurar status codes, headers customizados e estruturas complexas
  • Essencial para criar APIs, integrações bidirecionais e workflows interativos
Flow & Core Nodes

Como Funciona com Webhook

O nó Respond to Webhook deve ser usado em conjunto com o nó Webhook:

  1. Webhook Trigger: Configure o nó Webhook com modo de resposta "Using 'Respond to Webhook' Node"
  2. Processamento: Adicione nós intermediários para processar dados, fazer cálculos, consultar bancos de dados, etc.
  3. Respond to Webhook: No final do workflow, adicione este nó para enviar a resposta
  4. Cliente Recebe: O cliente que chamou o webhook recebe a resposta imediatamente

Principais Casos de Uso

  • APIs Customizadas: Criar endpoints de API completos com lógica de negócio complexa
  • Integrações Bidirecionais: Receber dados, processar e retornar resultados ao sistema chamador
  • Validação de Formulários: Validar dados de formulário e retornar sucesso/erro
  • Processamento Síncrono: Processar solicitação e retornar resultado na mesma chamada
  • Retorno de Cálculos: Executar cálculos complexos e retornar resultados
  • Webhooks de Confirmação: Confirmar recebimento e processamento de dados

Opções de Resposta

1. Tipos de Resposta

  • All Input Data: Retorna todos os dados de entrada
  • First Entry JSON: Retorna apenas o primeiro item como JSON
  • Text: Retorna texto simples
  • JSON: Retorna JSON customizado
  • HTML: Retorna página HTML
  • Redirect: Redireciona para outra URL
  • Binary File: Retorna arquivo (PDF, imagem, etc.)

2. Status Codes HTTP

  • 200 OK: Sucesso padrão
  • 201 Created: Recurso criado com sucesso
  • 400 Bad Request: Erro de validação
  • 404 Not Found: Recurso não encontrado
  • 500 Internal Server Error: Erro no servidor

3. Headers Customizados

  • Content-Type: Especifica tipo de conteúdo
  • Authorization: Tokens JWT ou outros
  • Cache-Control: Controle de cache
  • Custom Headers: Qualquer header necessário

Como Configurar

Configuração Passo a Passo

  1. No Webhook Trigger: Defina "Respond" como "Using 'Respond to Webhook' Node"
  2. Adicione Processamento: Insira nós para sua lógica de negócio
  3. Adicione Respond to Webhook: No final, adicione este nó
  4. Escolha Tipo de Resposta: Selecione JSON, texto, HTML, etc.
  5. Configure Dados: Defina o conteúdo da resposta usando expressões
  6. Defina Status Code: Configure código HTTP apropriado (200, 400, etc.)
  7. Headers (opcional): Adicione headers customizados se necessário

Exemplos Práticos

Exemplo 1: API de Validação de Email

Cenário: Criar API que valida se email é válido

  • Webhook: POST /validate-email
  • IF Node: Verifica se email é válido com regex
  • Respond (TRUE): Status 200, {"valid": true, "email": "..."}
  • Respond (FALSE): Status 400, {"valid": false, "error": "Invalid email"}

Exemplo 2: API de Cálculo

Cenário: Calcular preço com desconto e impostos

  • Webhook: POST /calculate-price com {price, quantity, discount}
  • Code Node: Calcula total com descontos e impostos
  • Respond to Webhook: Status 200, retorna: {"subtotal": 100, "discount": 10, "tax": 9, "total": 99}

Exemplo 3: Formulário de Contato

Cenário: Processar formulário e retornar confirmação

  • Webhook: POST /contact com dados do formulário
  • Set Node: Valida e limpa dados
  • Email Node: Envia email para equipe
  • Respond to Webhook: Status 200, {"success": true, "message": "Obrigado! Entraremos em contato."}

Exemplo 4: Download de Relatório

Cenário: Gerar e retornar PDF

  • Webhook: GET /report/{id}
  • Database Query: Busca dados do relatório
  • Code Node: Gera PDF com dados
  • Respond to Webhook: Tipo Binary File, retorna PDF

Melhores Práticas

  • Use Status Codes Apropriados: 2xx para sucesso, 4xx para erros do cliente, 5xx para erros do servidor
  • Estruture Respostas Consistentes: Mantenha formato padrão para todas as APIs
  • Inclua Mensagens de Erro Claras: Sempre retorne mensagens descritivas em caso de erro
  • Configure Content-Type Correto: application/json para JSON, text/html para HTML, etc.
  • Trate Todos os Caminhos: Use IF/Switch para garantir que sempre há uma resposta
  • Valide Entrada: Sempre valide dados recebidos antes de processar
  • Log Adequado: Registre requests e responses para debugging
  • Timeout Razoável: Garanta que processamento não demore muito

Padrões de Resposta Comuns

Sucesso Padrão (200)

{"success": true, "data": {...}, "message": "Operação concluída"}

Erro de Validação (400)

{"success": false, "error": "Validation failed", "details": ["Email inválido"]}

Não Encontrado (404)

{"success": false, "error": "Resource not found", "resource": "user", "id": 123}

Erro Interno (500)

{"success": false, "error": "Internal server error", "requestId": "abc123"}

Importante Lembrar

  • Apenas Primeiro Item: Por padrão, retorna apenas o primeiro item, configure "All Input Data" se precisar de todos
  • Timeout do Cliente: Cliente pode ter timeout próprio, processe rapidamente ou use processamento assíncrono
  • Segurança: Adicione autenticação no Webhook se endpoint for público
  • CORS: Configure headers CORS se API será chamada de browsers