← Blog

·

Janela de 24 horas do WhatsApp: o que dá para enviar dentro e fora dela

Atualizado em 25/10/2026

A janela de 24 horas do WhatsApp, chamada pela Meta de janela de atendimento ao cliente, abre quando o usuário manda mensagem ou liga para a empresa e reinicia a cada nova mensagem dele. Enquanto ela está aberta, você envia mensagens livres (texto, mídia, botões, listas) e também templates; quando ela fecha, só templates aprovados. A janela de ponto de entrada gratuito é outra coisa: vale para quem chega por anúncio de clique para o WhatsApp, dura até 7 dias e muda apenas a cobrança, não o tipo de mensagem permitido.

Este artigo explica as duas janelas, mostra como controlar a de 24 horas no seu código e resume o que é cobrado em cada caso, com as regras em vigor desde 1º de outubro de 2026.

Duas janelas com funções diferentes

Muita integração mistura as duas. A tabela separa o que cada uma controla:

Janela de atendimento (24 horas)Janela de ponto de entrada gratuito (FEP)
Como abreUsuário envia mensagem ou liga para a empresaUsuário chega por anúncio de clique para o WhatsApp (app Android ou iOS) e a empresa responde dentro da janela de atendimento
Duração24 horas, reiniciadas a cada mensagem ou ligação do usuárioAté 7 dias a partir da resposta da empresa
O que controlaQuais mensagens podem ser enviadasQuanto a Meta cobra
EfeitoLibera mensagens livres (não template)Marketing, utilidade, autenticação e serviço não são cobrados
Fora delaSó templatesCobrança normal por categoria

A janela de atendimento de 24 horas

O cronômetro começa na mensagem (ou ligação) do usuário. Se ele escrever de novo antes de acabar, o prazo volta a 24 horas. Mensagens da empresa não reiniciam nada: só o usuário abre e renova a janela.

Duas observações da documentação da Meta:

  • A janela não substitui o consentimento. Você continua precisando de opt-in para mandar mensagens ao usuário.
  • Em casos raros, a Meta reconhece que uma mensagem recebida pode não permitir resposta dentro da janela. Trate o erro em vez de assumir que a janela sempre existe.

O que dá para enviar com a janela aberta

Com a janela aberta, você pode mandar qualquer mensagem de serviço, sem aprovação prévia:

  • texto, com ou sem pré-visualização de link;
  • imagem, vídeo, áudio, documento e figurinha;
  • localização, contatos e reações;
  • mensagens interativas: botões de resposta, listas, botão de link (CTA URL), pedido de localização, pedido de endereço e Flows;
  • mensagens de catálogo, como produto único e multiproduto.

Templates também podem ser usados como resposta. O inverso não vale: mensagem livre nunca serve para iniciar contato. Os payloads de cada tipo interativo estão no guia de mensagens interativas.

O que acontece quando a janela fecha

Fora da janela, a API aceita apenas mensagens type: "template" com template aprovado. Se você mandar texto livre, o envio falha com o código 131047, descrito pela Meta como “mais de 24 horas se passaram desde a última resposta do destinatário”. A falha chega no webhook de status (trecho simplificado):

{
  "statuses": [{
    "id": "wamid.HBgLNTU4NDk5OTk5OTk5OQ...",
    "status": "failed",
    "recipient_id": "5584999999999",
    "errors": [{ "code": 131047 }]
  }]
}

A correção é reenviar como template. Por isso, todo fluxo que possa cair fora da janela precisa de um template equivalente aprovado. O guia de templates da API do WhatsApp mostra como criar e por que a categoria importa.

Como controlar a janela no seu sistema

O jeito mais direto é registrar o horário da última mensagem recebida de cada contato a partir do webhook e calcular a janela localmente.

O webhook de mensagem recebida traz timestamp (Unix, em segundos) e from (o wa_id do usuário). Na Vectalk, esse payload chega igual ao da Meta nas URLs que você registrou:

// No processamento do webhook de mensagens recebidas
async function registrarMensagemRecebida(msg) {
  await db.contatos.upsert({
    wa_id: msg.from,
    ultima_mensagem_em: new Date(Number(msg.timestamp) * 1000),
  });
}

// Antes de enviar
const JANELA_MS = 24 * 60 * 60 * 1000;
const MARGEM_MS = 5 * 60 * 1000; // folga para filas e relógios

function janelaAberta(contato, agora = Date.now()) {
  if (!contato?.ultima_mensagem_em) return false;
  return agora - contato.ultima_mensagem_em.getTime() < JANELA_MS - MARGEM_MS;
}

async function responder(contato, texto) {
  const corpo = janelaAberta(contato)
    ? { type: "text", text: { body: texto } }
    : { type: "template", template: { name: "retomar_atendimento", language: { code: "pt_BR" } } };

  return fetch("https://apis.vectalk.com.br/api/messages", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.VECTALK_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ messaging_product: "whatsapp", to: contato.wa_id, ...corpo }),
  });
}

Três cuidados:

  1. Use o horário do webhook, não o horário em que seu servidor processou o evento. Filas atrasadas encurtam a janela real.
  2. Deixe margem. Uma resposta escrita por um atendente às 23h58 da janela pode sair depois do prazo.
  3. Ligações também abrem a janela. Se você usa a API de chamadas, registre a ligação recebida da mesma forma.

Em atendimento com fila humana, mostre o tempo restante da janela na tela do atendente. Quando faltar pouco, ele pode enviar uma pergunta com botões para incentivar o cliente a responder e renovar o prazo.

A janela de ponto de entrada gratuito (FEP)

A FEP existe para conversas que começam em anúncios de clique para o WhatsApp. O fluxo descrito pela Meta é este:

  1. O usuário toca no anúncio e envia a mensagem pelo app no Android ou iOS (desktop e web não contam).
  2. Isso abre a janela de atendimento normal.
  3. Se a empresa responde dentro dessa janela com mensagem de marketing, utilidade, autenticação ou serviço, essa resposta não é cobrada e abre a FEP a partir daquele momento.
  4. A FEP pode ficar aberta por até 7 dias. Nesse período, a Meta não cobra marketing, utilidade, autenticação nem serviço. Atenção: a página de preços do site WhatsApp Business em português ainda fala em 72 horas (e inclui o botão de chamada da página do Facebook), o que diverge da documentação para desenvolvedores; este artigo segue a documentação para desenvolvedores.

O ponto que gera confusão: a FEP não estende a janela de 24 horas. Mensagens livres continuam permitidas só com a janela de atendimento aberta. Se o usuário parar de responder, depois de 24 horas você volta a precisar de template, e esse template sai sem cobrança enquanto a FEP estiver aberta.

Outros detalhes:

  • A FEP é controlada pelo par empresa e usuário, não por conta. Se o mesmo número é compartilhado com vários parceiros, cada um com a própria conta de mensagens, todas aproveitam a mesma janela, mesmo que outra conta tenha pago o anúncio.
  • Mensagens do Meta Business Agent (o agente de IA da própria Meta) continuam cobradas dentro da FEP.
  • No webhook de status, o objeto pricing traz type: "free_entry_point" para mensagens não cobradas por estarem nessa janela.
"pricing": {
  "billable": false,
  "pricing_model": "PMP",
  "type": "free_entry_point",
  "category": "marketing"
}

O que é cobrado em cada situação

Em 1º de outubro de 2026, a Meta voltou a cobrar dois tipos de mensagem que estavam gratuitos: as mensagens de serviço (livres) e os templates de utilidade enviados dentro da janela de atendimento. Para serviço, cada número tem 1.000 mensagens gratuitas por mês, sem acúmulo; a cobrança começa na mensagem 1.001.

SituaçãoO que pode enviarCobrança da Meta
Janela de 24 horas aberta, sem FEPMensagem livre ou templateServiço: 1.000 grátis por número/mês, depois cobrado. Templates: cobrados pela categoria, inclusive utilidade
Janela de 24 horas aberta, com FEPMensagem livre ou templateSem cobrança (exceto Meta Business Agent)
Janela fechada, FEP abertaSó templateSem cobrança
Janela fechada, sem FEPSó templateCobrado pela categoria

Os valores por categoria para destinatários no Brasil estão em quanto custa a API do WhatsApp. O webhook de status indica o que foi cobrado em pricing.billable e pricing.type (regular para cobrado, free_customer_service para serviço dentro da franquia mensal).

A Meta também avisa que, sem forma de pagamento cadastrada, ela entrega as mensagens de serviço da franquia gratuita e para de entregar as seguintes. Na Vectalk, você paga a Vectalk e a Vectalk paga a Meta: não é preciso cadastrar cartão na Meta para que as respostas continuem saindo depois da milésima.

Como manter a conversa dentro da janela

Algumas práticas reduzem o número de templates que você precisa mandar:

  • Faça o cliente iniciar. Links wa.me com texto pré-preenchido e QR Codes no site, na nota fiscal ou na embalagem levam o usuário a abrir a conversa. Na Vectalk, os QR Codes com mensagem pré-preenchida são criados por POST /api/qr-codes, que devolve o link curto e a imagem.
  • Peça uma resposta, não um clique para fora. Botões de resposta rápida enviam uma mensagem do usuário quando tocados e, com isso, abrem ou renovam a janela. Um botão de link só abre o navegador.
  • Responda rápido. Um robô que responde em segundos usa a janela inteira para resolver o caso. O artigo sobre chatbot com IA na API do WhatsApp trata disso.
  • Agrupe informações. Em vez de três mensagens separadas depois que a janela fechou, um único template com as informações principais e um botão para o cliente continuar.

Erros comuns de integração

Alguns problemas aparecem em quase todo projeto que lida com a janela:

  • Calcular a janela pelo último envio da empresa. Só a mensagem do usuário conta. Um contato que recebeu dez mensagens suas hoje, mas não respondeu nenhuma, está com a janela fechada.
  • Guardar o horário por conversa, e não por contato e número. Se você opera vários números, a janela vale para o par formado pelo número da empresa e o usuário. Registre os dois.
  • Ignorar o webhook de falha. O envio pela API responde com sucesso quando a requisição é aceita; o failed com 131047 chega depois, pelo webhook. Sem tratar esse evento, a mensagem some sem aviso para o atendente.
  • Não ter template de retomada. Tenha pelo menos um template de utilidade aprovado para retomar atendimentos abertos, com texto ligado ao caso do cliente (protocolo, pedido) para não ser classificado como marketing.

Perguntas frequentes

Mensagem enviada pela empresa reinicia a janela de 24 horas?

Não. Só mensagens ou ligações do usuário abrem e reiniciam a janela de atendimento.

Se o cliente tocar num botão de resposta rápida de um template, a janela abre?

Sim. O toque envia uma mensagem do usuário para a empresa, e mensagem do usuário abre a janela de atendimento. A documentação de limites por usuário de marketing confirma que a resposta a um template de marketing inicia uma janela de 24 horas.

A janela de ponto de entrada gratuito vale para quem clica no botão do WhatsApp na minha página do Facebook?

A documentação de preços da Meta, atualizada para as regras de outubro de 2026, descreve a FEP apenas para anúncios de clique para o WhatsApp abertos no app Android ou iOS.

Posso mandar texto livre durante os 7 dias da FEP?

Só enquanto a janela de 24 horas também estiver aberta. A FEP muda a cobrança; quem libera mensagem livre é a janela de atendimento.

A regra muda na coexistência com o app WhatsApp Business?

O artigo sobre coexistência tem uma seção sobre preços e janela de atendimento quando o mesmo número é usado no app e na API.

Use a janela a seu favor com a Vectalk

Com a Vectalk, os webhooks chegam no formato da documentação da Meta, então o timestamp e o objeto pricing que você usa para controlar janela e custo são os mesmos. Você usa um token para todas as contas, oferece coexistência com o app WhatsApp Business e paga a Meta pela Vectalk, sem cartão cadastrado na Meta. Crie sua conta em apps.vectalk.com.br/register, veja os endpoints em docs.vectalk.com.br ou tire dúvidas na Central de Ajuda.


Fontes oficiais consultadas em 25/10/2026: Mensagens de serviço e janela de atendimento, Preços na plataforma do WhatsApp Business (regras vigentes desde 1º/10/2026), Atualizações de preço para serviço, utilidade e Meta Business Agent, Preços no site WhatsApp Business.

Integre o WhatsApp oficial ao seu sistema

A Vectalk entrega a Cloud API da Meta com os mesmos payloads e webhooks, um token para todas as contas e documentação completa.