Custos e uso mensal
Quanto o WhatsApp custa na Meta, a projeção com as tarifas de outubro de 2026 e o uso mensal de mensagens por categoria e conta.
Desde 1º de outubro de 2026 a Meta cobra também as mensagens de serviço (respostas dentro da janela de 24 horas) acima de uma franquia mensal. Duas rotas ajudam a acompanhar isso: o custo diário com projeção e economia, e o uso mensal, que conta as mensagens por categoria e por conta de WhatsApp e calcula o que passou da franquia.
Custos
/api/v1/admin/whatsapp-confluence/analytics/costsAdminCusto diário, projeção e economia da coexistência
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador da loja. Veja Tokens.Parâmetros de consulta
daysintegerpadrão: 30real vazio, savings e fep_free_count em 0), mas october_projection continua calculada sobre o mês corrente.Exemplo de requisição
curl "$BASE_URL/api/v1/admin/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. Lista vazia se nada foi cobrado na janela.october_projectionobjectmonth_to_date_cents (até hoje) e projected_month_cents (projeção linear: gasto até hoje, vezes dias do mês, dividido pelo dia de hoje).savingsobjectapp_replies respostas dadas pelo aplicativo WhatsApp Business, api_replies respostas pela API ou pelo assistente, estimated_savings_cents o que as respostas do aplicativo custariam se tivessem ido pela API (tarifa de serviço de outubro de 2026).fep_free_countintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um administrador. | {"error":"insufficient permissions"} |
| 404 | O recurso de analytics está desligado na loja (enable_analytics). | {"error":"disabled"} |
| 500 | Falha interna ao ler ou gravar. | {"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. Na API de administração o relatório cobre todas as contas da loja.
/api/v1/admin/whatsapp-confluence/analytics/usageAdminMensagens enviadas no mês, por categoria e conta
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador da loja. 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/admin/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 (por número), waba (por conta WhatsApp Business, padrão) ou tenant (uma só para a loja).price_microsintegercurrencystringBRL.serviceintegerfree_entry_pointintegertemplatesobjecttemplate_utility e template_marketing. Objeto vazio se não houve.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 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um administrador. | {"error":"insufficient permissions"} |
| 400 | month fora do formato YYYY-MM. | {"error":"month must be YYYY-MM"} |
| 500 | Falha interna ao ler ou gravar. | {"error":"..."} |