Uso e custos
Quanto o WhatsApp custa na Meta, a projeção com as tarifas de outubro de 2026 e o uso mensal de mensagens por categoria.
A Meta cobra por mensagem, e a conta depende da categoria: mensagens de serviço (respostas dentro da janela de 24 horas), templates de marketing, utilidade ou autenticação, e mensagens dentro de um ponto de entrada gratuito (sem cobrança). Desde 1º de outubro de 2026 as mensagens de serviço também são cobradas acima de uma franquia mensal. Duas rotas ajudam a ver isso: o custo diário com projeção e o uso mensal por categoria.
Custos
/api/v1/vendor/whatsapp-confluence/analytics/costsSellerCusto diário, projeção e economia da coexistência
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (lojista). Veja Tokens.Parâmetros de consulta
daysintegerpadrão: 30Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/whatsapp-confluence/analytics/costs?days=30" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"real": [
{
"day": "2026-10-09",
"category": "UTILITY",
"cost_cents": 320,
"msg_count": 8
},
{
"day": "2026-10-10",
"category": "SERVICE",
"cost_cents": 0,
"msg_count": 31
}
],
"october_projection": {
"month_to_date_cents": 1250,
"projected_month_cents": 3875
},
"savings": {
"app_replies": 14,
"api_replies": 96,
"estimated_savings_cents": 210
},
"fep_free_count": 22
}Campos da resposta
realarrayday, category (SERVICE, UTILITY, MARKETING, AUTHENTICATION), cost_cents e msg_count.october_projectionobjectmonth_to_date_cents e projected_month_cents (estimativa linear até o fim do mês).savingsobjectapp_replies respostas dadas pelo aplicativo WhatsApp Business, api_replies respostas pela API ou assistente, estimated_savings_cents o que as respostas do aplicativo custariam se tivessem ido pela API.fep_free_countintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não é um seller, ou o seller ainda está em análise de cadastro. | {"error":"vendor_pending_review"} |
| 404 | O recurso de analytics está desligado na loja (enable_analytics). | {"error":"disabled"} |
| 500 | Falha interna ao calcular. | {"error":"..."} |
Uso mensal
Conta as mensagens que a Meta aceitou, agrupadas por categoria, conta e dia, no fuso de São Paulo. Calcula quantas mensagens de serviço passaram da franquia e uma estimativa em reais. Este relatório é filtrado para as contas do seller.
/api/v1/vendor/whatsapp-confluence/analytics/usageSellerMensagens enviadas no mês, por categoria e conta
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (lojista). Veja Tokens.Parâmetros de consulta
monthstringYYYY-MM, com dois dígitos no mês (2026-09, não 2026-9). Omitido vale o mês atual.Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/whatsapp-confluence/analytics/usage?month=2026-10" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"month": "2026-10",
"timezone": "America/Sao_Paulo",
"franchise": 1000,
"franchise_scope": "waba",
"price_micros": 36000,
"currency": "BRL",
"service": 1240,
"free_entry_point": 22,
"templates": {
"template_utility": 80,
"template_marketing": 15
},
"carousel_messages": 4,
"carousel_cards": 20,
"over_franchise": 240,
"estimate_micros": 8640000,
"accounts": [
{
"account_id": "3b9d8c52-1f0a-4e7b-8a21-6d5c4b3a2f10",
"label": "Loja Exemplo 5511987654321",
"waba_id": "108765432109876",
"service": 1240,
"free_entry_point": 22,
"templates": {
"template_utility": 80
},
"carousel_messages": 4,
"carousel_cards": 20
}
],
"daily": [
{
"day": "2026-10-09",
"service": 120,
"free_entry_point": 3,
"templates": 9
}
]
}Campos da resposta
monthstringYYYY-MM).timezonestringAmerica/Sao_Paulo: os dias e o mês são contados nesse fuso.franchiseintegerfranchise_scopestringaccountwabatenantaccount, waba (padrão) ou tenant.price_microsintegercurrencystringBRL.serviceintegerfree_entry_pointintegertemplatesobjecttemplate_utility e template_marketing.carousel_messagesintegercarousel_cardsintegerover_franchiseintegerfranchise_scope.estimate_microsintegerover_franchise vezes price_micros, em milionésimos de real. 0 se não há preço.accountsarrayaccount_id, label, waba_id, service, free_entry_point, templates, carousel_messages, carousel_cards. Da conta com mais mensagens de serviço para a menor.dailyarrayday, service, free_entry_point, templates (total do dia).Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não é um seller, ou o seller ainda está em análise de cadastro. | {"error":"vendor_pending_review"} |
| 400 | month fora do formato YYYY-MM. | {"error":"month must be YYYY-MM"} |
| 500 | Falha interna ao calcular. | {"error":"..."} |