Pular para o conteúdo principal

Enviando Mensagens

Todas as mensagens são enviadas através de um único endpoint. O campo type determina que tipo de mensagem será enviada, e os demais campos variam de acordo. Endpoint:
POST https://api.wappfy.io/api/instances/{instanceId}/messages/send
Headers:
HeaderValor
X-Api-KeySua chave de API
Content-Typeapplication/json

Mensagem de Texto

Envie uma mensagem de texto simples.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "text",
    "text": "Olá da Wappfy!"
  }'
Resposta:
{
  "data": {
    "message_id": "BAE5F2C4D3B2A1",
    "status": "sent"
  }
}

Mensagem de Imagem

Envie uma imagem com legenda opcional.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "image",
    "media_url": "https://example.com/foto.jpg",
    "caption": "Veja esta foto!"
  }'

Mensagem de Vídeo

Envie um arquivo de vídeo com legenda opcional.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "video",
    "media_url": "https://example.com/video.mp4",
    "caption": "Assista isso!"
  }'

Mensagem de Áudio

Envie um arquivo de áudio. Mensagens de áudio aparecem como mensagens de voz no WhatsApp.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "audio",
    "media_url": "https://example.com/mensagem-voz.ogg"
  }'
Para melhor compatibilidade, use arquivos .ogg codificados com o codec Opus para mensagens de voz.

Mensagem de Documento

Envie um arquivo como anexo de documento.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "document",
    "media_url": "https://example.com/relatorio.pdf",
    "filename": "Relatorio-T1.pdf",
    "caption": "Aqui está o relatório trimestral"
  }'

Mensagem de Localização

Envie um pino de localização geográfica.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "location",
    "latitude": -23.5505,
    "longitude": -46.6333,
    "name": "São Paulo",
    "address": "São Paulo, SP, Brasil"
  }'

Mensagem de Enquete

Crie uma enquete interativa. Os destinatários podem votar nas opções diretamente no WhatsApp.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "poll",
    "poll_name": "Qual dia é melhor para a reunião?",
    "poll_options": ["Segunda", "Quarta", "Sexta"],
    "poll_allow_multiple": false
  }'

Mensagem de Contato / vCard

Compartilhe um cartão de contato.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "contact",
    "contact_name": "Maria Silva",
    "contact_phone": "+5511988887777"
  }'

Encaminhar Mensagem

Encaminhe uma mensagem existente para outro chat.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "forward",
    "forward_message_id": "BAE5F2C4D3B2A1",
    "forward_chat_id": "[email protected]"
  }'

Reação

Reaja a uma mensagem com um emoji.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "reaction",
    "reaction_message_id": "BAE5F2C4D3B2A1",
    "reaction": "\ud83d\udc4d"
  }'
Para remover uma reação, envie uma string vazia como valor do campo reaction.

Recursos Avançados

Responder a uma Mensagem

Cite uma mensagem anterior incluindo o quoted_message_id. Funciona com qualquer tipo de mensagem.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "text",
    "text": "Sim, concordo com isso!",
    "quoted_message_id": "BAE5F2C4D3B2A1"
  }'

Editar uma Mensagem Enviada

Edite uma mensagem que você enviou anteriormente fornecendo o edit_message_id.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "text",
    "text": "Conteúdo da mensagem atualizado",
    "edit_message_id": "BAE5F2C4D3B2A1"
  }'
Você só pode editar mensagens que você enviou. A edição tem uma janela de tempo imposta pelo WhatsApp (aproximadamente 15 minutos após o envio).

Menções

Mencione contatos específicos em uma mensagem de grupo. Os contatos mencionados receberão uma notificação.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: SUA_CHAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "text",
    "text": "Ei @Maria e @Carlos, por favor revisem isso.",
    "mentions": [
      "[email protected]",
      "[email protected]"
    ]
  }'

Formatos de Chat ID

FormatoDescriçãoExemplo
{telefone}@s.whatsapp.netChat individual[email protected]
{id}@g.usChat de grupo[email protected]

Números de Telefone Brasileiros

A Wappfy trata automaticamente a questão do 9o dígito brasileiro. Se uma mensagem falhar com o erro “no LID found”, o sistema automaticamente tenta novamente com o formato alternativo (adicionando ou removendo o 9o dígito).Por exemplo, se 5511999998888 falhar, será tentado 551199998888, e vice-versa. Isso acontece de forma transparente — você não precisa tratar isso manualmente.

Referência de Tipos de Mensagem

TipoCampos ObrigatóriosCampos Opcionais
texttextquoted_message_id, edit_message_id, mentions
imagemedia_urlcaption, quoted_message_id
videomedia_urlcaption, quoted_message_id
audiomedia_urlquoted_message_id
documentmedia_urlfilename, caption, quoted_message_id
locationlatitude, longitudename, address, quoted_message_id
pollpoll_name, poll_optionspoll_allow_multiple
contactcontact_name, contact_phonequoted_message_id
forwardforward_message_id, forward_chat_id
reactionreaction_message_id, reaction

Tratamento de Erros

Código de StatusDescrição
400Payload de mensagem inválido (ex: campos obrigatórios ausentes para o tipo informado).
404Instância não encontrada ou não conectada.
422Validação da mensagem falhou (ex: formato de número de telefone inválido).
429Limite de requisições excedido. Veja Limites de Requisição.
502O provedor WhatsApp retornou um erro. Verifique a mensagem de erro para detalhes.