Ir al contenido
EN

Manual del backoffice

El backoffice (base /v1/imprenta/backoffice) es la consola de administración de la imprenta. Hay dos roles:

RolPuede
ZENTTO_SUPERADMIN (dueño)Generar series, definir tarifas, reasignar/extender series, administrar distribuidores y comisiones, ver el metering global.
DISTRIBUIDOR (revendedor)Consultar/asignar series ya generadas y ver el consumo de su cartera. No genera series ni define tarifas (protección anti-IDOR: solo ve su cartera).

Pantalla Backoffice → Series.

AcciónEndpointRol
Listar seriesGET /series (filtro companyId, q)Ambos
Generar seriePOST /seriesSolo SUPERADMIN
Actualizar (nombre, prefijo, estado)PUT /series/{id}Ambos (distribuidor solo su cartera)
Reasignar a otra empresaPOST /series/{id}/reasignarSolo SUPERADMIN
Extender el tope del rangoPOST /series/{id}/extenderSolo SUPERADMIN

Cada serie tiene Serie, TipoDocumento, Prefijo, rango [Desde, Hasta], Correlativo (último consumido), Restantes y Estado (ACTIVA · AGOTADA · SUSPENDIDA).

Generar serie (solo superadmin): elige la empresa-cliente, el tipo de documento, la serie, el prefijo y el rango. El correlativo arranca en Desde con la primera emisión.

Las series se asignan a una empresa-cliente (CompanyId). Con reasignar se traspasa una serie a otra empresa; con extender se aumenta el tope (Hasta) sin reasignar ni recrear.

Pantalla Backoffice → Consumo. Cada número de control emitido genera un evento facturable en imprenta."ConsumoControl".

VistaEndpoint
Detalle de eventosGET /consumo (filtros companyId, desde, hasta)
Resumen por cliente (para facturar)GET /consumo/resumen

El resumen muestra por empresa: Emitidos, Restantes, PrecioPorControl, IncluidoGratis y MontoEstimado = (Emitidos − IncluidoGratis) × PrecioPorControl, más KPIs globales (clientes, total emitidos, ingreso estimado).

Pantalla Backoffice → Tarifas (GET/POST /tarifas). Cada plan (TarifaPlan) define:

  • Moneda, PrecioPorControl (precio por número de control).
  • TamanoBloque + PrecioBloque (precio por volumen).
  • IncluidoGratis (números de control gratis por periodo).

CompanyId = 0 es la tarifa por defecto global; las empresas sin plan propio caen a esta. Crear/actualizar tarifas es solo SUPERADMIN.

Pantalla Backoffice → Integradores. Un integrador es una empresa-cliente que consume la API de terceros (/api/*).

AcciónEndpoint
Listar / crearGET/POST /integradores
Detalle / actualizar / suspenderGET/PUT/DELETE /integradores/{id}
Listar tokensGET /integradores/{id}/tokens
Emitir token (devuelve el secret una sola vez)POST /integradores/{id}/tokens
Revocar tokenPOST /integradores/{id}/tokens/{tid}/revocar
Usuarios del integradorGET/POST /integradores/{id}/usuarios

Cada token tiene TokenUsuario (público), Ambiente (demo/production) y Estado (ACTIVO/REVOCADO). El secret se muestra una sola vez al emitirlo y nunca se vuelve a recuperar.

Pantalla Backoffice → Distribuidores (solo SUPERADMIN administra; el distribuidor consulta su cartera).

AcciónEndpoint
Listar / alta de distribuidorGET/POST /distribuidores
Suspender distribuidorDELETE /distribuidores/{userId}
Ver carteraGET /distribuidores/{userId}/cartera
Asignar empresa a la carteraPOST /distribuidores/{userId}/cartera
Quitar empresa de la carteraDELETE /distribuidores/{userId}/cartera/{companyId}

La cartera es el conjunto de empresas-cliente de un distribuidor; sus permisos quedan acotados a esas empresas.

Pantalla Backoffice → Comisiones. Las comisiones se calculan sobre los números de control emitidos por la cartera del distribuidor.

AcciónEndpointRol
Listar planesGET /comisiones/planesAmbos (distribuidor solo el suyo)
Definir planPOST /comisiones/planesSolo SUPERADMIN
Resumen devengadoGET /comisiones/resumen (distribuidor, periodo)Ambos
LiquidacionesGET /comisiones/liquidacionesAmbos
Liquidar (marcar PAGADA)POST /comisiones/liquidarSolo SUPERADMIN

El plan (ComisionPlan) tiene Modo (PORCENTAJE o MONTO), Porcentaje, MontoPorControl/MontoPorBloque. Las liquidaciones pasan por estados DEVENGADAPENDIENTEPAGADA.