---
title: "Simular \"digitando...\" no WhatsApp pela API"
description: "Tutorial: como enviar presença de \"digitando...\" e \"gravando áudio...\" no WhatsApp pela API, para dar tempo de reação natural a respostas automáticas."
url: "https://api-wa.me/blog/tutorial-presenca-digitando-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 simular "digitando..." no WhatsApp pela API

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

Compartilhar

# Como simular "digitando..." no WhatsApp pela API

Tutorial: como enviar presença de "digitando..." e "gravando áudio..." no WhatsApp pela API, para dar tempo de reação natural a respostas automáticas.

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

**O endpoint de presença da API do WhatsApp manda o indicador de "digitando..." ou "gravando áudio..." para o contato antes da resposta chegar — um detalhe pequeno que muda como uma resposta automática é percebida.** Este tutorial mostra como usar esse endpoint e quando o atraso deliberado vale a pena.

## Por que simular presença importa

Uma resposta automática que chega em milissegundos, para uma pergunta que uma pessoa levaria alguns segundos para responder, tem um efeito sutil: sinaliza "isto é um robô" de um jeito que uma resposta com um pequeno atraso natural não sinaliza. Isso não é sobre enganar o cliente — é sobre não quebrar o ritmo esperado de uma conversa.

Esse cuidado combina com o que já vale para [quando a IA deve parar de responder no WhatsApp](https://api-wa.me/blog/quando-ia-deve-parar-responder-whatsapp): parte de fazer a automação funcionar bem é fazer ela se comportar de um jeito que não atrapalhe a experiência, e o ritmo da resposta é parte disso tanto quanto o conteúdo dela.

Vale notar que presença é um detalhe de percepção, não uma garantia de entrega — a mensagem real ainda depende do envio funcionar normalmente, com todo o tratamento de erro que uma automação de produção já deveria ter. Presença não substitui isso; ela só melhora a experiência de quem está do outro lado esperando.

## Pré-requisitos

- Uma instância conectada com webhook recebendo mensagens.
- Uma automação de resposta já funcionando — presença é um complemento ao envio, não substitui a mensagem em si.

## Passo a passo

### 1\. Envie o estado de "digitando"

sh

Copiar

```
curl -X POST https://us.api-wa.me/{KEY}/message/presence \
  -H "Content-Type: application/json" \
  -d '{"to": "5511999999999", "presence": "composing"}'
```

O contato vê o indicador de "digitando..." aparecer na conversa, do mesmo jeito que veria se uma pessoa estivesse escrevendo.

### 2\. Espere um tempo proporcional à resposta

Depois de mandar o presence, aguarde antes de enviar a mensagem real. Um cálculo simples: 1 segundo de base mais um pequeno acréscimo por tamanho do texto, com um teto para não atrasar demais.

javascript

Copiar

```
function tempoDigitando(texto) {
  const base = 1000; // 1s mínimo
  const porCaractere = 20; // 20ms por caractere
  const teto = 4000; // nunca mais que 4s
  return Math.min(base + texto.length * porCaractere, teto);
}
```

### 3\. Envie a mensagem depois do atraso

javascript

Copiar

```
async function responderComDigitando(to, texto) {
  await fetch(`https://us.api-wa.me/${KEY}/message/presence`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ to, presence: 'composing' }),
  });

  await new Promise((r) => setTimeout(r, tempoDigitando(texto)));

  await fetch(`https://us.api-wa.me/${KEY}/message/text`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ to, text: texto }),
  });
}
```

### 4\. Use "gravando áudio" para respostas em voz

Se a automação responde com nota de voz — como uma automação de transcrição que responde também em áudio — o mesmo endpoint aceita o estado equivalente antes de enviar o arquivo de áudio, sinalizando que uma gravação está a caminho em vez de um texto.

## Mantendo o indicador visível em respostas mais longas

Para uma resposta que realmente demora — uma consulta a um sistema externo, uma chamada a um modelo de IA que leva alguns segundos — o indicador de "digitando" pode sumir antes da mensagem chegar, se o processamento passar do tempo padrão que o WhatsApp mantém o indicador ativo. Reenviar o presence periodicamente resolve isso:

javascript

Copiar

```
async function manterDigitando(to, promessaDeResposta) {
  const intervalo = setInterval(() => {
    fetch(`https://us.api-wa.me/${KEY}/message/presence`, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ to, presence: 'composing' }),
    });
  }, 4000);

  try {
    const texto = await promessaDeResposta;
    return texto;
  } finally {
    clearInterval(intervalo);
  }
}
```

Esse padrão é especialmente relevante para automação que depende de uma [transcrição de áudio com IA](https://api-wa.me/blog/transcricao-audio-whatsapp-ia) ou de uma consulta a um sistema externo antes de responder — processos que raramente terminam nos 2-3 segundos de uma resposta simples.

## Diferença entre "composing" e outros estados de presença

O valor `composing` cobre tanto texto digitando quanto o estado equivalente de gravação, dependendo do contexto da automação — o parâmetro é o mesmo campo, e o que muda é o tipo de conteúdo que a sua aplicação pretende enviar em seguida. Vale manter consistência: se a automação vai responder em texto, dispare presence antes do envio de texto; se vai responder em áudio, o mesmo aviso prepara o usuário para o tipo certo de conteúdo que está por vir.

## Quando não vale a pena atrasar

Presença simulada ajuda em conversa de atendimento, onde um pequeno atraso humaniza. Ela **não** ajuda em:

- **Notificação transacional urgente** — confirmação de pedido, alerta de segurança. Nesses casos, atraso deliberado só irrita quem está esperando uma informação objetiva.
- **Resposta a comando explícito** — se o cliente pediu "manda o cardápio", a expectativa é receber rápido, não esperar um "digitando" artificial.
- **Alto volume automatizado** — atraso multiplicado por milhares de conversas simultâneas soma tempo de processamento sem necessidade, sem ganho perceptível de naturalidade em escala.

## Medindo o efeito antes de generalizar

Antes de aplicar presença simulada em toda a automação, vale testar num subconjunto de conversas e comparar CSAT ou taxa de resposta positiva entre quem recebeu com o indicador e quem recebeu sem. Times que pulam essa validação e aplicam globalmente correm o risco de adicionar atraso sem confirmar que o ganho de naturalidade realmente existe para o público específico deles — em alguns contextos B2B, por exemplo, o cliente pode preferir a resposta mais rápida possível a qualquer simulação de comportamento humano.

Um jeito simples de medir sem infraestrutura extra: alternar o comportamento por dia da semana ou por faixa de horário, e comparar o mesmo tipo de métrica usada em [métricas de campanha no WhatsApp](https://api-wa.me/blog/metricas-campanha-whatsapp-api) — taxa de resposta é o sinal mais direto de que o ritmo da conversa está funcionando bem.

## Erros comuns

**Atraso longo demais.** Mais de 8-10 segundos de "digitando" sem a mensagem chegar tende a gerar ansiedade, não naturalidade — o efeito contrário do pretendido.

**Mandar presence e esquecer de enviar a mensagem.** Se o passo seguinte falhar (erro de rede, exceção não tratada), o indicador de digitando aparece e nada chega depois — pior do que não ter mandado presence nenhuma.

**Aplicar em toda automação sem critério.** Como qualquer detalhe de UX, presença simulada vale para conversa que parece humana; em fluxo claramente identificado como automação (menu numerado, bot institucional), o efeito de naturalidade se perde e vira só atraso sem propósito.

**Calcular o atraso com um valor fixo para qualquer resposta.** Uma resposta de uma palavra e uma resposta de três parágrafos não deveriam ter o mesmo tempo de "digitando" — um atraso fixo de 3 segundos para tudo soa artificial de um jeito diferente, mas ainda artificial. O cálculo proporcional ao tamanho do texto, mostrado no passo 2, evita esse problema com pouco código a mais.

## Aplicando em diferentes canais

Como a WAME API atende WhatsApp, Instagram e Messenger na mesma instância, vale verificar se o indicador de presença está disponível no canal específico antes de aplicar a mesma lógica de atraso em todos — cada plataforma trata esse tipo de sinal de forma um pouco diferente do lado do usuário final, mesmo quando o endpoint de envio é compartilhado entre os três.

## Próximos passos

Presença combina bem com [responder mensagem citada pela API](https://api-wa.me/blog/tutorial-responder-mensagem-citada-whatsapp-api), no mesmo fluxo de automação de resposta. Para o restante do ciclo de vida de uma mensagem automática, veja também [editar, apagar e encaminhar mensagem pela API](https://api-wa.me/blog/editar-apagar-encaminhar-mensagem-whatsapp-api).

### 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

O que é o endpoint de presença da API do WhatsApp?+

É o endpoint que envia o indicador visual de "digitando..." ou "gravando áudio..." para o contato, antes da mensagem de fato chegar — o mesmo indicador que aparece quando uma pessoa está escrevendo no app.

Por que um bot precisaria simular que está digitando?+

Resposta instantânea demais, para uma pergunta que parece exigir pensar, soa artificial e denuncia automação de um jeito que incomoda parte dos usuários. Um pequeno atraso com o indicador de digitando aproxima o ritmo da resposta automática do ritmo de uma conversa humana.

Quanto tempo devo esperar entre mandar 'digitando' e a mensagem real?+

Não há um valor fixo certo, mas 1 a 3 segundos para uma resposta curta e proporcional ao tamanho da resposta para textos mais longos costuma soar natural. Atraso maior que 8-10 segundos tende a frustrar quem está esperando, mesmo que pareça mais "humano".

Preciso mandar 'parar de digitar' antes de enviar a mensagem?+

Não é obrigatório — o indicador some sozinho quando a mensagem chega ou depois de alguns segundos de inatividade. Mas, se a resposta for demorar mais do que o esperado, reenviar o presence periodicamente mantém o indicador visível em vez de sumir no meio da espera.

Presença funciona para chamada de áudio (gravando) também?+

Sim, o mesmo endpoint aceita o estado de "gravando áudio", útil quando a resposta automática vai enviar uma nota de voz — por exemplo, numa automação de transcrição e resposta em áudio.

## 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 simular \"digitando...\" no WhatsApp pela API",
  "description": "Tutorial: como enviar presença de \"digitando...\" e \"gravando áudio...\" no WhatsApp pela API, para dar tempo de reação natural a respostas automáticas.",
  "image": "https://api-wa.me/blog/tutorial-presenca-digitando-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-presenca-digitando-whatsapp-api"
  },
  "keywords": "digitando whatsapp api, presença whatsapp api, simular digitando whatsapp bot, composing whatsapp api, gravando audio whatsapp api",
  "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 simular \"digitando...\" no WhatsApp pela API",
      "item": "https://api-wa.me/blog/tutorial-presenca-digitando-whatsapp-api"
    }
  ]
}
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "O que é o endpoint de presença da API do WhatsApp?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "É o endpoint que envia o indicador visual de \"digitando...\" ou \"gravando áudio...\" para o contato, antes da mensagem de fato chegar — o mesmo indicador que aparece quando uma pessoa está escrevendo no app."
      }
    },
    {
      "@type": "Question",
      "name": "Por que um bot precisaria simular que está digitando?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Resposta instantânea demais, para uma pergunta que parece exigir pensar, soa artificial e denuncia automação de um jeito que incomoda parte dos usuários. Um pequeno atraso com o indicador de digitando aproxima o ritmo da resposta automática do ritmo de uma conversa humana."
      }
    },
    {
      "@type": "Question",
      "name": "Quanto tempo devo esperar entre mandar 'digitando' e a mensagem real?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não há um valor fixo certo, mas 1 a 3 segundos para uma resposta curta e proporcional ao tamanho da resposta para textos mais longos costuma soar natural. Atraso maior que 8-10 segundos tende a frustrar quem está esperando, mesmo que pareça mais \"humano\"."
      }
    },
    {
      "@type": "Question",
      "name": "Preciso mandar 'parar de digitar' antes de enviar a mensagem?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não é obrigatório — o indicador some sozinho quando a mensagem chega ou depois de alguns segundos de inatividade. Mas, se a resposta for demorar mais do que o esperado, reenviar o presence periodicamente mantém o indicador visível em vez de sumir no meio da espera."
      }
    },
    {
      "@type": "Question",
      "name": "Presença funciona para chamada de áudio (gravando) também?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sim, o mesmo endpoint aceita o estado de \"gravando áudio\", útil quando a resposta automática vai enviar uma nota de voz — por exemplo, numa automação de transcrição e resposta em áudio."
      }
    }
  ]
}
```
