---
title: "Responder mensagem citada no WhatsApp pela API"
description: "Tutorial passo a passo para responder mensagem citada (reply) no WhatsApp pela API: texto, imagem, áudio, documento e localização, com exemplos em cURL."
url: "https://api-wa.me/blog/tutorial-responder-mensagem-citada-whatsapp-api"
language: "pt-BR"
og:type: "article"
og:site_name: "WAME API"
---

[Início](https://api-wa.me/)/[Blog da API do WhatsApp](https://api-wa.me/blog)/Como responder mensagem citada no WhatsApp pela API

Raphael Serafim· Publicado em 17 de setembro de 2026· 8 min de leitura

Compartilhar

# Como responder mensagem citada no WhatsApp pela API

Tutorial passo a passo para responder mensagem citada (reply) no WhatsApp pela API: texto, imagem, áudio, documento e localização, com exemplos em cURL.

Copiar para LLM[Ver como Markdown](https://api-wa.me/blog/tutorial-responder-mensagem-citada-whatsapp-api.md)

**Responder uma mensagem específica no WhatsApp pela API — em vez de mandar uma mensagem solta — usa o mesmo MSG\_ID da mensagem original numa rota diferente, e isso muda como a conversa fica organizada para quem lê.** Este tutorial mostra o passo a passo para responder com texto, imagem, áudio, documento e localização.

## Por que usar resposta citada em vez de envio comum

Numa conversa com várias mensagens seguidas — um cliente manda três perguntas de uma vez, por exemplo — responder cada uma citando a pergunta original evita ambiguidade. Sem a citação, quem lê a conversa depois não sabe a qual pergunta aquela resposta se refere.

Isso importa especialmente em [atendimento com múltiplos atendentes no mesmo número](https://api-wa.me/blog/multiatendimento-mesmo-numero-whatsapp): quando mais de uma pessoa responde no mesmo chat, a citação evita que uma resposta pareça estar fora de contexto para quem entra na conversa depois.

## Pré-requisitos

- Uma instância da API já conectada (QR Code ou pareamento).
- Um webhook configurado recebendo mensagens, porque é de lá que vem o `MSG_ID` da mensagem que você vai responder.
- A key da sua instância, usada na URL de toda chamada (`https://us.api-wa.me/{KEY}/...`).

## Passo a passo

### 1\. Capture o `MSG_ID` da mensagem recebida

Toda mensagem recebida chega no seu webhook com um identificador único. Guarde esse valor no momento em que a mensagem chega — é ele que entra na URL da resposta:

json

Copiar

```
{
  "id": "3EB0C767D097B4C5A1F2",
  "from": "5511999999999",
  "text": "Vocês entregam aos sábados?"
}
```

### 2\. Responda com texto

sh

Copiar

```
curl -X POST https://us.api-wa.me/{KEY}/message/3EB0C767D097B4C5A1F2/text \
  -H "Content-Type: application/json" \
  -d '{"to": "5511999999999", "text": "Sim, entregamos aos sábados até 14h!"}'
```

Note a diferença para um envio comum: o `MSG_ID` entra na própria URL, entre a key e o tipo de conteúdo (`text`).

### 3\. Responda com imagem, áudio ou documento

O padrão se repete para cada tipo de mídia, só muda o segmento final da URL e o corpo da requisição:

sh

Copiar

```
# Responder com imagem
curl -X POST https://us.api-wa.me/{KEY}/message/3EB0C767D097B4C5A1F2/image \
  -H "Content-Type: application/json" \
  -d '{"to": "5511999999999", "url": "https://exemplo.com/tabela-horarios.jpg", "caption": "Nossos horários de entrega"}'

# Responder com áudio
curl -X POST https://us.api-wa.me/{KEY}/message/3EB0C767D097B4C5A1F2/audio \
  -H "Content-Type: application/json" \
  -d '{"to": "5511999999999", "url": "https://exemplo.com/audio-resposta.mp3"}'

# Responder com documento
curl -X POST https://us.api-wa.me/{KEY}/message/3EB0C767D097B4C5A1F2/document \
  -H "Content-Type: application/json" \
  -d '{"to": "5511999999999", "url": "https://exemplo.com/catalogo.pdf", "filename": "catalogo.pdf"}'
```

### 4\. Responda com localização

Útil quando a pergunta original é sobre endereço ou ponto de retirada:

sh

Copiar

```
curl -X POST https://us.api-wa.me/{KEY}/message/3EB0C767D097B4C5A1F2/location \
  -H "Content-Type: application/json" \
  -d '{"to": "5511999999999", "lat": -23.5505, "lng": -46.6333, "name": "Loja Centro"}'
```

### 5\. Automatize a captura e resposta pelo webhook

Na prática, os passos 1 e 2 acontecem no mesmo handler: seu webhook recebe a mensagem, decide a resposta e já chama a API de volta usando o `id` que acabou de receber, sem precisar de um passo manual no meio.

javascript

Copiar

```
app.post('/webhook', async (req, res) => {
  const { id, from, text } = req.body;
  if (text?.toLowerCase().includes('sábado')) {
    await fetch(`https://us.api-wa.me/${KEY}/message/${id}/text`, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ to: from, text: 'Sim, entregamos aos sábados até 14h!' }),
    });
  }
  res.sendStatus(200);
});
```

## Respondendo com base no tipo de conteúdo recebido

Um agente de atendimento completo não responde sempre com o mesmo tipo de conteúdo — a escolha depende do que a pergunta pede. Uma regra simples de decisão, aplicada no mesmo handler que já captura o `MSG_ID`:

javascript

Copiar

```
async function responderAdequado(id, from, textoRecebido) {
  const base = `https://us.api-wa.me/${KEY}/message/${id}`;

  if (/foto|imagem|catálogo/i.test(textoRecebido)) {
    return fetch(`${base}/image`, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ to: from, url: CATALOGO_URL, caption: 'Nosso catálogo atualizado' }),
    });
  }

  if (/endereço|localização|onde fica/i.test(textoRecebido)) {
    return fetch(`${base}/location`, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ to: from, lat: -23.5505, lng: -46.6333, name: 'Loja Centro' }),
    });
  }

  return fetch(`${base}/text`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ to: from, text: 'Como posso ajudar?' }),
  });
}
```

Esse tipo de roteamento simples resolve boa parte das perguntas recorrentes sem precisar de um modelo de IA — só entra em jogo quando a variação da pergunta é grande demais para um conjunto de regras.

## Testando a resposta antes de colocar em produção

Antes de automatizar em volume, vale confirmar manualmente que a citação está funcionando como esperado:

1. Mande uma mensagem de teste do seu próprio número para a instância;
2. Capture o `id` que chega no webhook (log simples já resolve nessa etapa);
3. Chame o endpoint de resposta usando esse `id` copiado manualmente;
4. Confirme no app que a resposta chegou citando a mensagem original, e não como uma mensagem solta.

Esse teste manual, feito uma vez por tipo de conteúdo (texto, imagem, áudio, documento, localização), evita descobrir um erro de formato só depois que a automação já está respondendo clientes de verdade.

## Erros comuns

**Usar o endpoint de envio comum por engano.** `/message/text` manda uma mensagem solta; `/message/{MSG_ID}/text` manda uma resposta citando a original. Os dois endpoints coexistem, e o erro mais comum de quem começa é esquecer o `{MSG_ID}` na URL — a mensagem sai, só que sem a citação.

**Guardar o `MSG_ID` errado.** Se sua aplicação processa várias mensagens em lote, é fácil associar o identificador errado à resposta errada. Vale sempre amarrar o `id` recebido diretamente à lógica que decide a resposta, no mesmo escopo do handler.

**Responder a uma mensagem que já foi apagada.** Se a mensagem original foi removida (por você ou pelo remetente) antes da resposta sair, a citação pode não aparecer do jeito esperado. Isso é raro, mas vale considerar em fluxo de resposta com atraso.

## Resposta citada em conversa de grupo

O mesmo endpoint funciona também quando a mensagem original veio de um grupo, não só de uma conversa individual — a diferença está no `to`, que passa a ser o identificador do grupo em vez do número do contato:

sh

Copiar

```
curl -X POST https://us.api-wa.me/{KEY}/message/3EB0C767D097B4C5A1F2/text \
  -H "Content-Type: application/json" \
  -d '{"to": "[email protected]", "text": "Boa pergunta! A resposta está fixada no início do grupo."}'
```

Isso é útil para um bot de moderação ou de FAQ dentro de um [grupo automatizado pela API](https://api-wa.me/blog/automatizar-grupos-whatsapp-api): responder citando a pergunta específica, mesmo com várias mensagens simultâneas no grupo, deixa claro para todo mundo qual pergunta está sendo respondida.

## Diferença entre resposta citada e encaminhamento

Vale não confundir os dois conceitos, porque a URL de cada um é parecida mas o efeito é bem diferente:

| Ação | O que acontece | Endpoint |
| --- | --- | --- |
| Responder (reply) | Cria mensagem nova, citando a original acima | `POST /message/{MSG_ID}/text` (ou outro tipo) |
| Encaminhar (forward) | Reenvia o conteúdo original, sem criar citação | `POST /message/{MSG_ID}/forwarding` |

Responder é a escolha certa quando o contexto da mensagem original importa para quem lê a resposta. Encaminhar é a escolha certa quando o objetivo é levar o mesmo conteúdo para outro destinatário, sem vínculo visual com a conversa de origem — mais detalhe em [editar, apagar e encaminhar mensagem pela API](https://api-wa.me/blog/editar-apagar-encaminhar-mensagem-whatsapp-api).

## Próximos passos

Depois de dominar a resposta citada, o próximo recurso que combina bem é a [presença "digitando..." pela API](https://api-wa.me/blog/tutorial-presenca-digitando-whatsapp-api), que deixa a resposta automática com um tempo de reação mais natural antes de chegar. Para consolidar o fluxo de webhook que alimenta tudo isso, vale revisar [webhook em produção: assinatura, retry e idempotência](https://api-wa.me/blog/webhook-producao-assinatura-retry-idempotencia).

### Pronto para automatizar seu WhatsApp?

Crie sua conta gratuita e comece a enviar mensagens pela API em minutos.

[Começar grátis](https://portal.api-wa.me/sign-up)

## Perguntas frequentes

Qual a diferença entre responder e simplesmente enviar uma mensagem?+

Enviar cria uma mensagem solta na conversa. Responder (reply) cria uma mensagem que aparece citando a original, com uma prévia dela acima do texto novo — igual ao gesto de deslizar a mensagem no app. Isso deixa claro para qual pergunta ou comentário aquela resposta se refere.

Como eu descubro o MSG\_ID para responder a uma mensagem recebida?+

O identificador chega no payload do seu webhook, junto de cada evento de mensagem recebida. É esse valor que sua aplicação guarda e usa depois como {MSG\_ID} na chamada de resposta.

Dá para responder com qualquer tipo de mídia?+

Sim. O endpoint de resposta aceita texto, imagem, áudio, documento e localização — cada um com sua própria rota, todas seguindo o mesmo padrão de citar o MSG\_ID da mensagem original.

Responder uma mensagem antiga funciona normalmente?+

Sim, não há uma janela de tempo que expire a possibilidade de responder — diferente de editar ou apagar, que têm prazo. O reply funciona enquanto a mensagem original ainda existir na conversa.

Por que minha resposta chegou sem a citação da mensagem original?+

O erro mais comum é usar o endpoint de envio comum (/message/text) em vez do endpoint de resposta (/message/{MSG\_ID}/text). Sem o MSG\_ID na URL, a API manda uma mensagem solta, sem nenhuma citação.

## Continue lendo

[### Coexistência e a nova cobrança do WhatsApp: o que muda para quem atende pelo celular e pela API

Quem usa Coexistência (API oficial + celular) sente a nova cobrança de agosto e outubro de 2026 de um jeito específico. Veja o que é cobrado e o que continua grátis.](https://api-wa.me/blog/coexistencia-nova-cobranca-whatsapp-2026)[### Como simular o custo da nova cobrança do WhatsApp antes de outubro de 2026

Passo a passo para medir, via webhook e API de analytics da Meta, quantas mensagens de serviço e de Business Agent seu número gera hoje — antes da cobrança começar.](https://api-wa.me/blog/simular-custo-mensagem-servico-whatsapp-2026)[### Automatizar grupos de WhatsApp pela API: guia completo

Como automatizar grupos de WhatsApp pela API: criar, adicionar participante, moderar entrada e enviar aviso automático, com exemplos práticos em cURL.](https://api-wa.me/blog/automatizar-grupos-whatsapp-api)

[Voltar ao blog](https://api-wa.me/blog)

## Structured data

```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "WAME API",
  "alternateName": "API Oficial e Não Oficial de WhatsApp, Instagram e Messenger",
  "url": "https://api-wa.me",
  "inLanguage": "pt-BR",
  "publisher": {
    "@id": "https://api-wa.me/#organization",
    "@type": "Organization",
    "name": "WAME API",
    "url": "https://api-wa.me"
  }
}
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://api-wa.me/#organization",
  "name": "WAME API",
  "alternateName": [
    "WAME",
    "Wame API",
    "wame.api.br",
    "api-wa.me"
  ],
  "url": "https://api-wa.me",
  "logo": {
    "@type": "ImageObject",
    "url": "https://api-wa.me/images/web-app-manifest-512x512.png",
    "width": 512,
    "height": 512
  },
  "disambiguatingDescription": "WAME API é uma empresa brasileira de software, fundada em 2017 e parceira oficial da Meta (Meta Business Partner), que fornece APIs de WhatsApp, Instagram Direct e Messenger. Não tem relação com o wa.me, que é o encurtador de links operado pela WhatsApp LLC.",
  "identifier": {
    "@type": "PropertyValue",
    "propertyID": "INPI-BR",
    "name": "Pedido de registro de marca (INPI, classe NCL 42)",
    "value": "944724159"
  },
  "foundingDate": "2017",
  "slogan": "Parceira Oficial da Meta — WhatsApp, Instagram e Messenger numa instância só. Desde 2017.",
  "description": "Plataforma brasileira e Parceira Oficial da Meta (Meta Business Partner) para as APIs oficiais de WhatsApp (Cloud API), Instagram Direct e Messenger — os três numa única instância, com os mesmos endpoints e um único formato de webhook. Também oferece a API não oficial via QR Code, na mesma plataforma. No mercado desde 2017, com mais de 50 mil instâncias criadas, 99,9% de uptime e suporte humano 24/7 em português. SDKs oficiais para Node.js/TypeScript e PHP.",
  "knowsAbout": [
    "WhatsApp Cloud API oficial (Meta)",
    "API oficial de Instagram (Direct)",
    "API oficial de Messenger",
    "API multicanal Meta",
    "Meta Business Partner",
    "WhatsApp API",
    "API não oficial de WhatsApp",
    "automação de WhatsApp",
    "números virtuais",
    "webhooks"
  ],
  "sameAs": [
    "https://github.com/wame-api",
    "https://www.linkedin.com/company/wameapi",
    "https://www.instagram.com/wame.api/",
    "https://www.youtube.com/@wameapi"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer support",
    "url": "https://api-wa.me/contact",
    "availableLanguage": [
      "Portuguese"
    ]
  }
}
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Como responder mensagem citada no WhatsApp pela API",
  "description": "Tutorial passo a passo para responder mensagem citada (reply) no WhatsApp pela API: texto, imagem, áudio, documento e localização, com exemplos em cURL.",
  "image": "https://api-wa.me/blog/tutorial-responder-mensagem-citada-whatsapp-api/opengraph-image",
  "datePublished": "2026-09-17",
  "dateModified": "2026-09-17",
  "author": {
    "@type": "Person",
    "name": "Raphael Serafim",
    "url": "https://github.com/raphaelvserafim",
    "sameAs": [
      "https://github.com/raphaelvserafim"
    ]
  },
  "publisher": {
    "@type": "Organization",
    "name": "api-wa.me",
    "logo": {
      "@type": "ImageObject",
      "url": "https://api-wa.me/images/screenshot.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://api-wa.me/blog/tutorial-responder-mensagem-citada-whatsapp-api"
  },
  "keywords": "responder mensagem citada whatsapp api, reply mensagem whatsapp api, citar mensagem whatsapp api, responder mensagem especifica whatsapp, quote reply whatsapp business",
  "inLanguage": "pt-BR"
}
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://api-wa.me"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog da API do WhatsApp",
      "item": "https://api-wa.me/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Como responder mensagem citada no WhatsApp pela API",
      "item": "https://api-wa.me/blog/tutorial-responder-mensagem-citada-whatsapp-api"
    }
  ]
}
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Qual a diferença entre responder e simplesmente enviar uma mensagem?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Enviar cria uma mensagem solta na conversa. Responder (reply) cria uma mensagem que aparece citando a original, com uma prévia dela acima do texto novo — igual ao gesto de deslizar a mensagem no app. Isso deixa claro para qual pergunta ou comentário aquela resposta se refere."
      }
    },
    {
      "@type": "Question",
      "name": "Como eu descubro o MSG_ID para responder a uma mensagem recebida?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "O identificador chega no payload do seu webhook, junto de cada evento de mensagem recebida. É esse valor que sua aplicação guarda e usa depois como {MSG_ID} na chamada de resposta."
      }
    },
    {
      "@type": "Question",
      "name": "Dá para responder com qualquer tipo de mídia?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sim. O endpoint de resposta aceita texto, imagem, áudio, documento e localização — cada um com sua própria rota, todas seguindo o mesmo padrão de citar o MSG_ID da mensagem original."
      }
    },
    {
      "@type": "Question",
      "name": "Responder uma mensagem antiga funciona normalmente?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sim, não há uma janela de tempo que expire a possibilidade de responder — diferente de editar ou apagar, que têm prazo. O reply funciona enquanto a mensagem original ainda existir na conversa."
      }
    },
    {
      "@type": "Question",
      "name": "Por que minha resposta chegou sem a citação da mensagem original?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "O erro mais comum é usar o endpoint de envio comum (/message/text) em vez do endpoint de resposta (/message/{MSG_ID}/text). Sem o MSG_ID na URL, a API manda uma mensagem solta, sem nenhuma citação."
      }
    }
  ]
}
```
