Endpoints
GET /billing

GET /billing/current-period

Devuelve un snapshot del consumo del período mensual actual con el monto proyectado a facturar al cierre. Pensado para dashboards de control de gasto.

GET /api/v1/fe/billing/current-period
Authorization: Bearer <JWT>

Scope requerido: billing:read

Response — 200 OK

{
  "period": "2026-06",
  "periodStart": "2026-06-01T00:00:00.000Z",
  "periodEnd": "2026-07-01T00:00:00.000Z",
  "enabled": true,
  "subscriptionId": "sub_abc123",
  "unitPrice": 0.035,
  "currency": "USD",
  "pricingTier": "standard",
  "emissionsAccepted": 1247,
  "subtotal": 43.645,
  "lastUpdated": "2026-06-15T14:23:13Z"
}
CampoDescripción
periodYYYY-MM del período en curso (UTC)
periodStartInicio del período (medianoche UTC del 1ro)
periodEndFin exclusivo del período (medianoche UTC del 1ro del próximo mes)
enabledtrue si el tenant tiene el API activo
subscriptionIdID de la suscripción a la que se acumulan los cargos
unitPricePrecio por emisión exitosa, congelado al inicio del período
currencyMoneda del unitPrice (típicamente USD)
pricingTierTier del tenant (standard, volume, enterprise)
emissionsAcceptedCuántas emisiones aceptadas se han contabilizado este mes
subtotalemissionsAccepted × unitPrice — proyección del cargo del mes
lastUpdatedCuándo se calculó este snapshot

Casos especiales

Tenant no enabled

{
  "period": "2026-06",
  "periodStart": "2026-06-01T00:00:00.000Z",
  "periodEnd": "2026-07-01T00:00:00.000Z",
  "enabled": false,
  "subscriptionId": null,
  "unitPrice": null,
  "currency": "DOP",
  "pricingTier": "standard",
  "emissionsAccepted": 0,
  "subtotal": 0,
  "lastUpdated": "2026-06-15T14:23:13Z"
}

Si llamas esto y enabled: false, alguien deshabilitó el API. Reactívalo desde el panel de Digimart.

Mes sin emisiones todavía

{
  "period": "2026-06",
  "enabled": true,
  "subscriptionId": "sub_abc123",
  "unitPrice": null,
  "currency": "USD",
  "pricingTier": "standard",
  "emissionsAccepted": 0,
  "subtotal": 0,
  /* ... */
}

El unitPrice es null porque el snapshot de precio se congela lazy — solo cuando llega la primera emisión del mes. Antes de eso, el tier y el precio mostrado son los defaults configurados.

Frecuencia recomendada de polling

FrecuenciaUso
30-60sDashboard real-time en el panel de admin
5 minAlerta de presupuesto excedido
1 horaReporting interno / histórico

El subtotal se reconcilia contra DgiiLogs cada hora por un cron de safety net. Si ves discrepancias persistentes entre lo que cuentas tú vs lo que cuenta el endpoint, contáctanos.

¿Cuándo se cobra realmente?

El monto reportado por este endpoint es lo que se agregará a tu factura mensual de Digimart al cierre del período. NO recibes una factura separada por el API.

El día del nextBillingDate de tu suscripción Digimart:

  1. Cerramos el período actual.
  2. Sumamos subscription.price + todos los cargos del período (incluyendo los del FE API).
  3. Cobramos via Azul a tu método de pago configurado.
  4. La factura mensual muestra el desglose: línea de SaaS + línea(s) de FE API.