Uso e franquia

Situação no projeto

Implementado em backend/model/uso.rs e na tela /app/uso. A fatura é só uma estimativa calculada no navegador; o backend não cobra nada.

Objetivo

Medir o consumo de cada aplicativo contra a franquia mensal, avisar antes de estourar e mostrar quanto custaria o excedente.

Entradas e saídas

PontoDescrição
EntradaAceitos e recusados de cada lote da ingestão
SaídaUma linha de uso por aplicativo e por dia, avisos por e-mail e a fatura estimada
Próximo passoAjustar a franquia ou o comportamento ao estourar em Aplicativos

Como o uso é contado

  • Uma linha por aplicativo e por dia, somada a cada lote. dia é AAAA-MM-DD e ciclo é AAAA-MM, ambos na data UTC do processamento.
  • Aceitos são só os eventos gravados pela primeira vez, sem PULSO.
  • Recusados são os de tipo inválido, os acima de 500 no lote e os lotes barrados pelo limite por minuto ou pela franquia. Não entram na fatura.

Franquia

A franquia está estourada quando a soma de aceitos do ciclo atual é maior ou igual a franquia_mensal.

ComportamentoO que acontece ao estourar
COBRAR_EXCEDENTEContinua ingerindo; o excedente entra na fatura estimada
PARAR_INGESTAORecusa os lotes com 402 até o próximo ciclo

Avisos por e-mail

Ao atingir 80% e 100% da franquia, o backend grava a faixa em aviso_ciclo e aviso_faixa e envia um e-mail pela Resend para o conta_email do aplicativo. A gravação só acontece se o ciclo mudou ou se a faixa subiu, então cada faixa gera um e-mail por ciclo. Sem RESEND_API_KEY o e-mail não sai.

Tela de uso

BlocoCálculo
IncluídosSoma das franquias dos aplicativos (ou só do filtrado)
ProjeçãoConsumidos ÷ dias decorridos × dias do mês
Excedente projetadoProjeção − incluídos, nunca negativo
Fatura estimadaExcedente ÷ 1.000.000 × R$ 5,00

O medidor fica âmbar a partir de 80% e vermelho a partir de 100%. A tela também quebra o consumo por aplicativo e permite Lançar consumo e Ajustar consumo do dia manualmente.

Atualizado em 2026/10/07 00:30