NODInfra

Enviar Mensagem

Enviar mensagem de texto

POSThttps://api.nodinfra.com.br/send/text
URL completa: https://api.nodinfra.com.br/send/text

Envia uma mensagem de texto para um contato, grupo ou canal/newsletter.

Recursos Específicos

  • Preview de links com suporte a personalização automática ou customizada
  • Formatação básica do texto
  • Substituição automática de placeholders dinâmicos

Envio para Newsletter

Para enviar texto para um canal, use o mesmo campo number, mas informe o JID completo do canal:

  • Exemplo: 120363123456789012@newsletter
{
  "number": "120363123456789012@newsletter",
  "text": "Post publicado no canal"
}

Campos Comuns

Este endpoint suporta todos os campos opcionais comuns documentados na tag "Enviar Mensagem", incluindo: delay, readchat, readmessages, replyid, mentions, forward, track_source, track_id, placeholders e envio para grupos.

Preview de Links

Preview Automático

{
  "number": "5511999999999",
  "text": "Confira: https://exemplo.com",
  "linkPreview": true
}

Preview Personalizado

{
  "number": "5511999999999",
  "text": "Confira nosso site! https://exemplo.com",
  "linkPreview": true,
  "linkPreviewTitle": "Título Personalizado",
  "linkPreviewDescription": "Uma descrição personalizada do link",
  "linkPreviewImage": "https://exemplo.com/imagem.jpg",
  "linkPreviewLarge": true
}

Corpo da requisição

numberstringobrigatório

ID do chat para o qual a mensagem será enviada. Pode ser um número de telefone em formato internacional, um ID de grupo (`@g.us`), um ID de usuário (com `@s.whatsapp.net` ou `@lid`) ou um ID de canal/newsletter (`@newsletter`).

exemplo: 5511999999999

textstringobrigatório

Texto da mensagem (aceita placeholders)

exemplo: Olá {{name}}! Como posso ajudar?

linkPreviewbooleanopcional

Ativa/desativa preview de links. Se true, procura automaticamente um link no texto para gerar preview. Comportamento: - Se apenas linkPreview=true: gera preview automático do primeiro link encontrado no texto - Se fornecidos campos personalizados (title, description, image): usa os valores fornecidos - Se campos personalizados parciais: combina com dados automáticos do link como fallback

exemplo: true

linkPreviewTitlestringopcional

Define um título personalizado para o preview do link

exemplo: Título Personalizado

linkPreviewDescriptionstringopcional

Define uma descrição personalizada para o preview do link

exemplo: Descrição personalizada do link

linkPreviewImagestringopcional

URL ou Base64 da imagem para usar no preview do link

exemplo: https://exemplo.com/imagem.jpg

linkPreviewLargebooleanopcional

Se true, gera um preview grande com upload da imagem. Se false, gera um preview pequeno sem upload

exemplo: true

replyidstringopcional

ID da mensagem para responder

exemplo: 3EB0538DA65A59F6D8A251

mentionsstringopcional

Números para mencionar (separados por vírgula)

exemplo: 5511999999999,5511888888888

readchatbooleanopcional

Marca conversa como lida após envio

exemplo: true

readmessagesbooleanopcional

Marca últimas mensagens recebidas como lidas

exemplo: true

delayintegeropcional

Atraso em milissegundos antes do envio, durante o atraso apacerá 'Digitando...'

exemplo: 1000

forwardbooleanopcional

Marca a mensagem como encaminhada no WhatsApp

exemplo: true

track_sourcestringopcional

Origem do rastreamento da mensagem

exemplo: chatwoot

track_idstringopcional

ID para rastreamento da mensagem (aceita valores duplicados)

exemplo: msg_123456789

asyncbooleanopcional

Se true, envia a mensagem de forma assíncrona via fila interna. Útil para alto volume de mensagens.

exemplo: false

Exemplo

Mensagem básica
{
  "number": "5511999999999",
  "text": "Olá! Como posso ajudar?"
}

Respostas

200Mensagem enviada com sucesso
400Requisição inválida
401Não autorizado
429Limite de requisições excedido
500Erro interno do servidor

Testar endpoint

POSThttps://api.nodinfra.com.br/send/text
cURL
curl -X POST 'https://api.nodinfra.com.br/send/text' \
  -H 'token: SEU_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "number": "5511999999999",
  "text": "Olá! Como posso ajudar?"
}'