Pular para o conteúdo principal

Enviar Mensagens via N8N

Conceituacao

Este guia mostra como enviar mensagens WhatsApp usando workflows N8N. Voce vai aprender a enviar texto simples, imagens e templates, alem de trabalhar com dados dinamicos de outras fontes (planilhas, bancos de dados, APIs externas).

Pre-requisito

Certifique-se de que voce ja configurou a autenticacao no N8N antes de continuar.


1. Enviar Mensagem de Texto

O caso de uso mais basico: enviar uma mensagem de texto para um numero WhatsApp.

Endpoint

POST https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/text

Configuracao do HTTP Request Node

CampoValor
MethodPOST
URLhttps://oapi.ogmma.com.br/v1/channels/SEU_CHANNEL_ID/messages/text
AuthenticationHeader Auth → Ogmma API
Body Content TypeJSON

Body

{
"to": "5511999999999",
"text": "Ola! Esta mensagem foi enviada automaticamente via N8N."
}

Response Esperado

202 Accepted:

{
"success": true,
"message": "Mensagem enfileirada para envio"
}
Dica

O status 202 indica que a mensagem foi aceita e sera enviada de forma assincrona. Para confirmar a entrega, configure um webhook para receber o evento message.sent.

Workflow

[Manual Trigger] → [Set: telefone + texto] → [HTTP Request: enviar texto]

Baixar workflow: send-text-message.json


2. Enviar Imagem

Envie uma imagem com legenda opcional.

Endpoint

POST https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/image

Body

{
"to": "5511999999999",
"imageUrl": "https://exemplo.com/imagem-produto.jpg",
"caption": "Confira nosso novo produto!"
}

Atributos

AtributoTipoObrigatorioDescricao
tostringSimNumero do destinatario com codigo do pais
imageUrlstringSimURL publica da imagem (JPEG, PNG)
captionstringNaoLegenda da imagem
fileNamestringNaoNome do arquivo

Consulte a documentacao completa em Enviar Imagem.


3. Enviar Template WABA

Para canais WABA (WhatsApp Business API oficial), voce pode enviar templates pre-aprovados pelo Meta.

Endpoint

POST https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/template

Body

{
"to": "5511999999999",
"templateId": "64f8b2c3e1a2b3c4d5e6f7d0",
"variables": {
"1": "Joao",
"2": "12345"
}
}

Atributos

AtributoTipoObrigatorioDescricao
tostringSimNumero do destinatario
templateIdstringSimID do template cadastrado na Ogmma
variablesobjectNaoVariaveis dinamicas do template (chave = posicao)

Consulte a documentacao completa em Enviar Template.


4. Usando Dados Dinamicos

O verdadeiro poder do N8N e combinar dados de diferentes fontes para enviar mensagens personalizadas.

Expressoes N8N

No N8N, voce usa expressoes {{ }} para referenciar dados de nodes anteriores:

ExpressaoDescricao
{{ $json.telefone }}Campo telefone do node anterior
{{ $json.nome }}Campo nome do node anterior
{{ $('Set').item.json.texto }}Campo texto de um node especifico chamado "Set"

Exemplo: Dados do Google Sheets

Imagine uma planilha com colunas nome, telefone e pedido:

Set Node (mapear campos):

{
"to": "={{ $json.telefone }}",
"text": "Ola {{ $json.nome }}! Seu pedido #{{ $json.pedido }} foi confirmado."
}

HTTP Request Node:

  • URL: https://oapi.ogmma.com.br/v1/channels/SEU_CHANNEL_ID/messages/text
  • Body: usar os campos mapeados pelo Set node

Exemplo: Webhook Externo

Receba dados de um webhook externo (ex: formulario de contato) e envie WhatsApp:

[Webhook Trigger] → [Set: mapear campos] → [HTTP Request: enviar mensagem]

Set Node:

{
"to": "={{ $json.body.phone }}",
"text": "Obrigado pelo contato, {{ $json.body.name }}! Responderemos em breve."
}

5. Outros Tipos de Mensagem

A Ogmma API suporta varios tipos de mensagem. A configuracao no N8N e similar para todos -- apenas a URL e o body mudam:

TipoEndpointCampos PrincipaisDocumentacao
Texto.../messages/textto, textEnviar Texto
Imagem.../messages/imageto, imageUrl, captionEnviar Imagem
Video.../messages/videoto, videoUrl, captionEnviar Video
Audio.../messages/audioto, audioUrlEnviar Audio
Documento.../messages/documentto, documentUrl, fileNameEnviar Documento
Contato.../messages/contactto, name, phoneEnviar Contato
Template.../messages/templateto, templateId, variablesEnviar Template

Para todos os tipos, substitua ... por https://oapi.ogmma.com.br/v1/channels/{channelId}.


Tratamento de Erros

Ao enviar mensagens via N8N, podem ocorrer erros. Configure o tratamento no HTTP Request node:

Habilitar "Continue on Fail"

No HTTP Request node, ative Settings → Continue on Fail para que o workflow nao pare em caso de erro. Isso permite tratar o erro no proximo node.

Erros Comuns

StatusCodigoCausaSolucao
400VALIDATION_ERRORCampo obrigatorio ausente ou invalidoVerifique os campos to e text/imageUrl
404CHANNEL_NOT_FOUNDchannelId invalidoVerifique o ID do canal na URL
401UNAUTHORIZEDAPI Key invalidaVerifique a credential no N8N
429RATE_LIMIT_EXCEEDEDMuitas requisicoes por minutoAdicione um Wait node entre envios

Exemplo: IF Node para Tratar Erro

[HTTP Request] → [IF: statusCode == 202?]
→ Sim: [Sucesso - proxima acao]
→ Nao: [Tratar erro - notificar admin]

Proximo Passo

  • Receber Webhooks -- receba notificacoes quando mensagens sao entregues ou quando clientes respondem
  • Auto-Resposta -- combine envio com recebimento para criar um chatbot