mecaractizo — API REST

mecaractizo — REST API

mecaractizo (también conocido como SisUNQ o CaracTagena) es un sistema de caracterización ciudadana construido con Django + Django REST Framework. Expone una API REST que permite registrar, consultar y validar datos de formularios dinámicos, trámites y certificados.

Backend: Django 5 + DRF  ·  Auth: JWT (SimpleJWT) + Knox  ·  Base URL: /home/

Arquitectura general

El sistema organiza su API en dos grupos principales:

  • Formularios dinámicos: Estructura de preguntas y respuestas configurable en BD. Los formularios pueden tener habilitada la consulta por API con el flag for_can_api=True.
  • Trámites: Flujos asociados a formularios que permiten crear registros, consultar estado y ejecutar procedimientos almacenados.

Endpoints disponibles

GrupoMétodoRutaDescripciónAuth
AuthPOST /home/api/token/login Obtener par JWT (access + refresh) No
AuthPOST /home/api/token/refresh Renovar access token con refresh No
AuthPOST /home/api/auth/login/ Login alternativo (Knox token) No
AuthPOST /home/api/auth/logout/ Invalidar token Knox activo Knox
AuthPOST /home/api/auth/logoutall/ Invalidar todas las sesiones Knox Knox
FormulariosPOST /home/api/getInformacion Última acción de un ente en un formulario JWT
FormulariosGET /home/api/getInformacionFormulario/<codigo> Todos los entes de un formulario (serializado) No
FormulariosGET /home/api/getInformacionFormularioHistoria/<codigo> Historia de acciones (serializada por pregunta) No
FormulariosGET /home/api/v2/getInformacionFormularioHistoria/<codigo> Historia V2 (cache de maestros, optimizada) No
FormulariosGET /home/api/getInformacionNotSerialized/<codigo> Historia sin serializar (datos crudos) No
FormulariosGET /home/api/getInformacionTramite/<codigo> Todos los registros de un trámite No
TrámitesPOST /home/api/tramite/<codigo> Crear registro en un trámite No
TrámitesGET /home/api/tramite/estado/<codigo> Buscar registro de trámite por campo No
TrámitesPOST /home/api/tramite/info/<codigo> Preguntas del formulario del trámite No
TrámitesGET /home/api/tramite/estado_all/<codigo> Buscar en todos los trámites por campo No
ValidaciónGET /home/api/validar/ Iniciar validación de usuario (envía email) No
ValidaciónPOST /home/api/validar/ Verificar código de validación No
CertificadosPOST /home/api/listacertificados/ Registrar y ejecutar un certificado JWT
AccionesPOST /home/api/ejecutar/<codigo> Ejecutar stored procedure por código JWT

Conceptos clave

  • Formulario dinámico (Formulario): Estructura de preguntas configurable en BD. Identificado por for_codigo. El flag for_can_api controla si el formulario es consultable via API pública.
  • Ente / Entidad (FormularioEntidad): Una entidad registrada en un formulario. Las respuestas se almacenan en fent_informacion (JSONField).
  • Acción (FormularioAccion): Una acción (edición/registro) sobre un ente en un formulario. Lleva historial de cambios.
  • Trámite (Tramite): Flujo asociado a un formulario. Los registros del trámite se almacenan en TramiteEntidad.
  • Maestro (Maestro): Fuente de datos para preguntas de tipo selección. Puede ser tabla BD (TBL) o query SQL (SQL).
  • Procedimiento (Procedimientos): Stored procedure ejecutado desde la API de acciones.