Atualizado em 25/10/2026
O erro 131049 significa que a Meta não entregou um template de marketing porque o destinatário atingiu o limite de mensagens de marketing por usuário. Esse limite é adaptativo: o WhatsApp reduz quantas mensagens de marketing uma pessoa recebe, de qualquer empresa, quando ela está menos propensa a ler. A mensagem com esse erro não é cobrada, e a orientação oficial é esperar pelo menos 24 horas antes de tentar de novo.
Este artigo explica como o limite funciona, como o erro chega no webhook, o que conta e o que não conta, e como ajustar suas campanhas para perder menos mensagens.
O que é o limite de marketing por usuário
A página Per-user marketing template message limits diz que o WhatsApp pode limitar o número de templates de marketing que um usuário recebe de qualquer empresa em um período, quando ele tem menos chance de se interessar. A decisão leva em conta, entre outros fatores:
- a taxa de leitura recente de mensagens de marketing daquela pessoa;
- quantas mensagens ela tem na caixa de entrada, de amigos, família e empresas.
Três pontos mudam a forma de pensar campanhas:
- O limite é do usuário, não da sua empresa. Se a pessoa recebeu muitas mensagens de marketing de outras marcas, a sua pode ser a que fica de fora.
- Ele é dinâmico. A Meta não publica um número fixo. O limite se adapta ao engajamento recente de cada pessoa.
- Ele é diferente do limite de mensagens do portfólio. O limite do portfólio controla quantos destinatários únicos você alcança em 24 horas fora da janela de atendimento (250, 2.000, 10.000, 100.000 ou ilimitado). O limite por usuário controla quantas mensagens de marketing cada pessoa recebe. Os dois são explicados em limite de mensagens da API do WhatsApp.
Como o erro 131049 aparece
A chamada de envio responde 200 normalmente. A falha só aparece depois, no webhook de status, com status: "failed" e o código 131049. A tabela de erros da Meta descreve o erro como: “This message was not delivered to maintain healthy ecosystem engagement.”
Um status com esse erro chega neste formato:
{
"object": "whatsapp_business_account",
"entry": [{
"id": "<WABA_ID>",
"changes": [{
"field": "messages",
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "5511999999999",
"phone_number_id": "<PHONE_NUMBER_ID>"
},
"statuses": [{
"id": "wamid.HBgLNTUx...",
"status": "failed",
"timestamp": "1761400000",
"recipient_id": "5511888888888",
"errors": [{
"code": 131049,
"title": "This message was not delivered to maintain healthy ecosystem engagement."
}]
}]
}
}]
}]
}
Por isso, nunca considere uma campanha “entregue” só pela resposta da API. Grave o wamid de cada envio e cruze com os status que chegam depois. O ciclo completo de status está em status de mensagem via webhook.
O que conta no limite e o que não conta
| Situação | Conta no limite por usuário? |
|---|---|
| Template de marketing entregue | Sim, cada um conta |
| Template de marketing enviado dentro da janela de 24 horas aberta pela resposta do usuário a uma mensagem de marketing | Não |
| Template com falha (não entregue) | Não é uma entrega; não é cobrado |
| Templates de utilidade e autenticação | A regra da Meta trata de templates de marketing |
O segundo item é o mais útil na prática. Quando o usuário responde a uma mensagem de marketing, abre-se a janela de atendimento de 24 horas, e as mensagens de marketing enviadas dentro dela não entram na conta. Campanhas que geram conversa de verdade sofrem menos com o limite. Veja como a janela funciona em janela de 24 horas do WhatsApp.
Sobre cobrança: a página de preços afirma que a Meta cobra apenas mensagens entregues. Uma mensagem com status failed por 131049 não foi entregue e, portanto, não é cobrada.
Quanto esperar antes de reenviar
A orientação oficial é esperar pelo menos 24 horas antes de reenviar um template de marketing para quem atingiu o limite. A Meta acrescenta dois avisos:
- reenviar antes disso tende a gerar novos erros e piora a precisão dos relatórios de entrega da campanha;
- se a conta tenta reenviar várias vezes, dentro de 24 horas, para usuários que já atingiram o limite, novas tentativas para esses usuários podem ficar indisponíveis por até 24 horas, também com o erro 131049. Isso não afeta o envio para outros usuários.
Em código, a regra fica simples: ao receber 131049, agende a próxima tentativa para dali a 24 horas ou mais, e limite o número de tentativas.
const UM_DIA_MS = 24 * 60 * 60 * 1000;
const MAX_TENTATIVAS = 2;
export async function tratarStatus(status, db) {
if (status.status !== 'failed') {
return db.atualizarEnvio(status.id, status.status);
}
const codigo = status.errors?.[0]?.code;
await db.atualizarEnvio(status.id, 'failed', codigo);
if (codigo === 131049) {
const envio = await db.buscarEnvio(status.id);
if (envio.tentativas < MAX_TENTATIVAS) {
await db.agendarReenvio({
contato: status.recipient_id,
template: envio.template,
naoAntesDe: Date.now() + UM_DIA_MS + 60 * 60 * 1000, // 25 h de folga
tentativas: envio.tentativas + 1,
});
}
}
if (codigo === 131050) {
await db.marcarOptOut(status.recipient_id, 'marketing'); // não reenviar
}
}
Vale perguntar se o reenvio faz sentido. Uma oferta com prazo que já passou não deve ser reenviada. E quem bate no limite com frequência é, por definição, alguém que lê pouco marketing: talvez a melhor decisão seja tirar a pessoa daquela régua.
131049 e outros erros parecidos
| Código | O que significa | O que fazer |
|---|---|---|
131049 | Não entregue para manter o engajamento saudável (limite de marketing por usuário) | Esperar 24 h ou mais antes de reenviar |
131050 | O usuário optou por parar de receber marketing da sua empresa | Não reenviar; marcar opt-out |
131048 | Restrição de envio no número, por exemplo por bloqueios e denúncias de spam | Checar a qualidade no WhatsApp Manager |
131047 | Mais de 24 h desde a última mensagem do usuário | Enviar um template em vez de mensagem livre |
131026 | Não foi possível entregar (número sem WhatsApp, versão antiga, termos não aceitos) | Confirmar o número por outro canal |
Fonte: códigos de erro da Meta. Para a lista completa e o tratamento de cada um, veja erros da API do WhatsApp.
Números dos Estados Unidos
A mesma página de limites por usuário informa que o WhatsApp não entrega, no momento, templates de marketing para números dos EUA (código +1 com DDD americano). Se a sua base tem clientes nos EUA, filtre esses números antes de campanhas de marketing.
Como reduzir o 131049 nas suas campanhas
Não existe forma de “furar” o limite, e não vale tentar. O que dá para fazer é mandar mensagens que as pessoas leem:
- Segmente por engajamento. Separe quem leu ou respondeu mensagens recentes de quem não abre nada há meses. Envie primeiro para o grupo engajado.
- Reduza frequência. Uma oferta forte por semana costuma render mais que três medianas.
- Personalize de verdade. Nome, produto de interesse, último pedido. Mensagem genérica tem leitura menor.
- Convide à resposta. Botões de resposta rápida (“Quero ver”, “Agora não”) geram interação e abrem a janela de atendimento, dentro da qual mensagens de marketing não contam no limite.
- Não disfarce marketing como utilidade. A Meta pode recategorizar o template e restringir a criação de novos templates de utilidade. Veja como a Meta classifica templates.
- Cuide da base. Opt-in claro e saída fácil mantêm a leitura alta. Veja como montar uma lista opt-in.
- Meça a taxa de 131049 por campanha. Se ela sobe, o problema costuma ser segmentação ou frequência, não a API.
Ao simular o custo de uma campanha, lembre que mensagens não entregues por esse erro não são cobradas, mas também não geram resultado. O guia quanto custa uma campanha no WhatsApp mostra como estimar. Para o planejamento geral de envios, veja disparo em massa pela API oficial.
O erro 131049 com a Vectalk
A Vectalk é um proxy da Cloud API oficial, e os webhooks são os da Meta: o status failed com errors[0].code = 131049 chega no mesmo formato nas URLs que você registrar com POST /api/webhooks. O envio do template é feito com POST /api/messages, com o payload igual ao da Meta. A documentação de webhooks mostra o formato dos status. Se você ainda está conhecendo a plataforma, comece pelo guia da API oficial do WhatsApp ou crie sua conta em apps.vectalk.com.br/register.
Perguntas frequentes
O erro 131049 é cobrado?
Não. A Meta cobra apenas mensagens entregues, e uma mensagem com status failed não foi entregue.
Quanto tempo devo esperar para reenviar?
Pelo menos 24 horas, segundo a Meta. Reenviar antes tende a gerar o mesmo erro e pode bloquear novas tentativas para aquele usuário por até 24 horas.
O limite vale para templates de utilidade?
A documentação da Meta descreve o limite para templates de marketing. Classificar marketing como utilidade para escapar dele viola as regras de categorização e pode levar a recategorização e restrições.
O erro 131049 derruba a qualidade do número?
O erro em si não é um sinal negativo de usuário, como bloqueio ou denúncia. Mas insistir em enviar para quem não lê aumenta a chance de bloqueios, e isso afeta a qualidade do número.
Posso saber qual é o limite de cada usuário?
Não. A Meta não informa o limite individual; ele muda conforme o engajamento recente de cada pessoa. O único sinal é o erro 131049 no webhook.
Fontes oficiais consultadas em 25/10/2026: Limites de templates de marketing por usuário, Códigos de erro, Limites de mensagens, Preços, Envio de mensagens e janela de atendimento.
