Skip to main content

Esquema

CampoTipoDescrição
feeIdUUIDv7Identificador único
externalProductRefstringProduto no Stripe (único)
externalPriceRefstringPrice no Stripe (único)
externalBillingMeterRefstringBilling meter no Stripe (único)
namestringNome da fee, máx 255
descriptiontextDescrição
eventNamestringNome do evento único, máx 255
currencyenumUSD, BRL, EUR
statusenumACTIVE, INACTIVE
createdByUUIDv7Criador
createdAtdatetimeCriação
updatedByUUIDv7Último atualizador
updatedAtdatetimeÚltima atualização
deletedByUUIDv7?Quem deletou
deletedAtdatetime?Soft delete
Cada fee cria três recursos no Stripe: um product, um price (metered) e um billing meter. O eventName é usado para enviar eventos de consumo ao billing meter do Stripe, que então calcula o uso para faturamento.

FeeToken (M2M)

CampoTipoDescrição
feeIdUUIDv7FK para Fee
tokenIdUUIDv7FK para Token
A tabela FeeToken define quais tokens compõem cada fee. Uma fee de “Uso de IA” pode agrupar tokens de RESPONSE, PLANNING e MEMORY, por exemplo. Isso permite calcular o custo total de uma operação que consome múltiplos tipos de token.

Relacionamentos

  • Has many Tokens via FeeToken (M2M)
  • Has many Costs
  • Has many VoucherFees

Regras de Negócio

  • eventName globalmente único
  • Máximo 10 fees ACTIVE por moeda
  • Sincronizada com Stripe (product, price, billing meter)
  • Fees vinculadas não podem ter moedas duplicadas
O limite de 10 fees ativas por moeda é uma regra de negócio para manter a previsibilidade do faturamento. Fees inativas não contam para o limite mas continuam existindo para histórico de custos.

Exemplo

{
  "feeId": "019527a2-4e50-7b6f-d5a3-0b1d7e3a5c8e",
  "externalProductRef": "prod_S9lMnO3qR5xY",
  "externalPriceRef": "price_3RsT4uV6wX8yZ0aB",
  "externalBillingMeterRef": "bm_1AbCdEfGhIjKlMn",
  "name": "Uso de IA — Agentes",
  "description": "Consumo de tokens de IA para execução de agentes autônomos",
  "eventName": "ai_agent_usage",
  "currency": "USD",
  "status": "ACTIVE",
  "tokens": [
    {
      "tokenId": "019527b1-5d60-7a7e-c6b4-1c2e8a4b6d9f",
      "name": "GPT-4o Response",
      "type": "RESPONSE",
      "value": 0.00001,
      "currency": "USD"
    },
    {
      "tokenId": "019527b1-6e70-7b8f-d7c5-2d3f9a5b7c0e",
      "name": "GPT-4o Planning",
      "type": "PLANNING",
      "value": 0.000015,
      "currency": "USD"
    }
  ],
  "createdBy": "019525fc-1234-7a1b-8c2d-3e4f5a6b7c8d",
  "createdAt": "2026-01-10T08:00:00Z",
  "updatedBy": "019525fc-1234-7a1b-8c2d-3e4f5a6b7c8d",
  "updatedAt": "2026-01-10T08:00:00Z"
}