WaflyTutoriais › Enviar mensagem por API

Como enviar mensagem de WhatsApp por API

curl, Node.js e Python · atualizado em julho de 2026

Resumo: para enviar mensagem de WhatsApp por API, faça um POST no endpoint send-text da instância com o header Client-Token e o JSON {phone, message} — o phone com DDI+DDD (ex.: 5511999999999). A resposta retorna o messageId. Exemplos em curl, Node.js e Python abaixo.

Enviar uma mensagem de WhatsApp por API se resume a um POST com três credenciais. Este tutorial mostra o request completo em curl, Node.js e Python, o formato correto do campo phone (número, grupo e canal) e os parâmetros opcionais que valem conhecer.

O que você precisa antes

  1. Uma instância WhatsApp conectada (na Wafly: criar conta → criar instância → escanear QR, ~2 minutos).
  2. As credenciais dela: Client-Token (header), instance e token (ambos na URL).

Base URL: https://wafly.com.br/api-bridge-whats

curl

curl -X POST "https://wafly.com.br/api-bridge-whats/instances/SUA_INSTANCIA/token/SEU_TOKEN/send-text" \
  -H "Client-Token: SEU_CLIENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "phone": "5511999999999", "message": "Olá! Enviado via API." }'

Resposta de sucesso:

{ "value": true, "messageId": "3EB0XXXX" }

Guarde o messageId — ele serve para responder (reply), editar e apagar a mensagem depois.

Node.js

Sem dependências — fetch é nativo do Node 18+:

const res = await fetch(
  "https://wafly.com.br/api-bridge-whats/instances/SUA_INSTANCIA/token/SEU_TOKEN/send-text",
  {
    method: "POST",
    headers: {
      "Client-Token": "SEU_CLIENT_TOKEN",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      phone: "5511999999999",
      message: "Olá! Enviado via API.",
    }),
  }
);

console.log(await res.json()); // { value: true, messageId: "3EB0XXXX" }

Python

import requests

resp = requests.post(
    "https://wafly.com.br/api-bridge-whats/instances/SUA_INSTANCIA/token/SEU_TOKEN/send-text",
    headers={"Client-Token": "SEU_CLIENT_TOKEN"},
    json={"phone": "5511999999999", "message": "Olá! Enviado via API."},
)
print(resp.json())

O formato do campo phone

DestinatárioFormatoExemplo
Número privadoDDI + DDD + número, só dígitos5511999999999
GrupoID do grupo + -group120363XXXX-group
Newsletter / canalID + @newsletterabcd1234@newsletter

O erro mais comum é mandar o número com +, espaços ou sem DDI. É sempre só dígitos: 55 + DDD + número.

Parâmetros opcionais que valem conhecer

Além de texto, os mesmos padrões de URL cobrem imagem, áudio, vídeo, documento, enquete, botões e carrossel — endpoints send-image, send-audio etc. na documentação completa.

Uma honestidade sobre volume

Nenhuma API — gerenciada ou self-host — elimina o risco de banimento: ele depende do seu uso (volume, opt-in dos destinatários, taxa de bloqueio). Aqueça números novos gradualmente e só mande mensagem pra quem espera recebê-la. Quem promete "zero ban" está vendendo ilusão; explicamos o risco sem eufemismo aqui.

Rode esses exemplos agora

3 dias grátis, sem cartão. Credenciais na tela da instância — copie e cole nos snippets acima.

Criar instância grátis

Perguntas frequentes

Como enviar para um grupo?

Use o ID do grupo com sufixo -group no campo phone. O resto do payload é idêntico.

Tem limite de mensagens?

Na Wafly, não — plano por instância com envios ilimitados. Mas respeite boas práticas de volume: o limite real é a política anti-spam do próprio WhatsApp.

Preciso da API oficial da Meta?

Depende do caso. Por instância: preço fixo, QR code, sem template. Oficial: por mensagem, templates aprovados, recomendada para operação crítica de alto volume. Comparamos as duas aqui.

E para receber mensagens?

Configure o webhook de recebidas da instância — tutorial completo aqui.

Continue

Webhook de WhatsAppReceba mensagens na sua aplicação — receiver de exemplo incluso. WhatsApp no n8nO mesmo envio, sem escrever código — com node dedicado. Quanto custa uma API de WhatsApp?Tabela de preços real de 2026, todos os modelos.

Payloads e endpoints verificados em julho/2026. Encontrou algo impreciso? Fale com a gente que corrigimos.