Cómo eliminar un terminal TPV
Retira de forma permanente un terminal TPV persistido de la ubicación actual. La implementación verificada no expone un botón de borrado en la pantalla de ajustes; la acción existe como borrado protegido y, al completarse, desvincula referencias operativas directas antes de eliminar el registro.
En este artículo
El borrado de un terminal TPV es una retirada definitiva. Debe usarse solo cuando un registro persistido deja de representar un dispositivo operativo dentro de la ubicación actual.
En la versión verificada, la UI de ajustes no confirma una acción de fila para eliminar terminales. Para documentarlo sin inventar interfaz, la guía trabaja con un terminal temporal, ejecuta el borrado protegido por id y verifica que el registro ya no carga.
Antes de empezar
- Trabajar dentro de Grupo Marea Demo y de la ubicación Marea Gran Via.
- Tener permiso `tpv:manage` en la ubicación.
- Usar un terminal persistido en `tpv_terminals`; no sirve una vista derivada de usuario-dispositivo.
- Para pruebas o capturas, crear un terminal temporal dedicado y no usar `TPV_TERMINAL_ID`.
- Abrir la acción con `orgId` y `locationId` válidos; sin ellos el cliente no construye la ruta.
Instrucciones
- 1.
Comprueba el contexto del local
Confirma que la ubicación activa es la propietaria del terminal y que el usuario opera con permiso de gestión TPV. La acción no borra terminales de otra ubicación ni desde un ámbito de organización completo.
- 2.
Selecciona un terminal persistido
Usa un terminal temporal creado para la documentación destructiva. No uses el terminal principal del runtime demo ni una vista derivada de usuario-dispositivo, porque esta acción solo borra registros reales de `tpv_terminals`.
- 3.
Ejecuta el borrado protegido
Invoca `DELETE /api/app/{orgId}/{locationId}/tpv-terminals/{id}` sobre el identificador del terminal. La operación no necesita formulario ni cuerpo de datos; si termina correctamente, responde `204 NoContent`.
- 4.
Comprueba que ya no carga
Reabre la ficha del terminal con el mismo id. Después del borrado correcto, la pantalla debe resolver el registro como no disponible y mostrar el estado de error de carga del terminal.
- 5.
Revisa las referencias operativas
El borrado no se bloquea por referencias existentes. Antes de eliminar la fila, la transacción desvincula referencias directas en dispositivos de salida, métodos de pago, sesiones de caja, pagos de ticket, jobs de salida y operaciones de pago.
- 6.
Trata los errores esperados
Si falta contexto, el cliente no construye la petición. Si falta `tpv:manage`, la operación se deniega. Si el id está vacío, no existe, pertenece a otra ubicación o no es un terminal persistido, se trata como recurso no encontrado.
Validaciones y límites
- La ruta debe ser `DELETE /api/app/{orgId}/{locationId}/tpv-terminals/{id}` con un único segmento `{id}`.
- No se envía body; campos como `name`, `platform` o `capabilities` no se validan en esta acción.
- `orgId`, `locationId` y `{id}` deben estar presentes.
- El id debe existir en `tpv_terminals` y pertenecer a la ubicación activa.
- `tpv:manage` es obligatorio; `tpv:view`, `tpv:use` y permisos KDS no autorizan el borrado.
- La respuesta correcta es `204 NoContent`.
- El borrado es físico y limpia referencias directas antes de eliminar la fila.
- No hay borrado masivo ni borrado cross-location.
Resultado esperado
El terminal temporal queda eliminado de la ubicación. Si se intenta abrir de nuevo por id, ya no debe cargar, y las referencias operativas directas al terminal quedan vacías.