Files
whatsapp/modules/soporte/docs/operacion/20-configuraciones-criticas.md
Lizandro GuarnizoandClaude Opus 5 fe96e5b60d Documentación en usted, y panel de LIA con el mismo diseño del dashboard
Toda la documentación pasa de voseo a tratamiento de usted, incluidos los
diagramas y los textos de la interfaz. Los prompts de ambos asistentes lo
piden explícitamente, para que las respuestas generadas también lo respeten.

El panel de LIA en la página de documentación adopta el diseño del dashboard
del turnero: mismo botón circular, mismo panel deslizante con encabezado en
degradado y logo LIA, mismos chips de atajo, burbujas y campo de entrada.
Los atajos se arman con los documentos que ese usuario puede ver.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 10:57:28 -05:00

3.6 KiB

Configuraciones críticas

Dónde vive cada cosa que se configura. La pregunta que más tiempo hace perder es «¿esto dónde se cambia?», sobre todo porque no todo está en la base de datos.

Las tres tablas de configuración

Tabla Contenido Se edita desde
system_config Credenciales de WhatsApp, webhook, mensaje de términos Base de datos
lab_config Datos de la empresa, encabezados de documentos, clave y consumo de LIA Configuración del laboratorio
turnero_* Lugares, prioridades, dispositivos, playlist de TV Configuración del turnero

Lo que NO está en la base de datos

Esto es lo que más confunde:

Configuración Dónde vive de verdad
URL del botón de consentimiento Plantilla en el WhatsApp Manager de Meta
Texto y formato de las plantillas Meta (message_templates es solo una copia)
Dominio del sistema Se deduce del HTTP_HOST de cada petición

Cambiar el código no cambia la URL que reciben los pacientes en el botón de una plantilla. Eso se edita en Meta y requiere reaprobación.

Datos de la empresa

En lab_config, salen impresos en el encabezado de todos los documentos:

Clave Ejemplo
empresa_nombre XIMENA CAICEDO G. E.U
empresa_subtitulo Laboratorio Hematológico
empresa_direccion Calle 21 #0A-26, Barrio Blanco
empresa_ciudad Cúcuta, Norte de Santander
empresa_telefono +57 305 337 0116
empresa_email servicioalcliente@laboratorioximenacaicedo.com
doc_logo_base64 Logo embebido
doc_color Color de encabezados

Se editan desde Configuración del laboratorio, sin tocar código.

Dominio del sistema

APP_URL y BASE_URL se calculan en cada petición a partir del host (config/config.php):

$__host = $_SERVER['HTTP_HOST'] ?? 'localhost';
define('APP_URL', $__proto . '://' . $__host);

Detecta HTTPS detrás de proxy reverso mediante X-Forwarded-Proto.

Consecuencia: si alguien entra por una IP o un dominio alternativo, los enlaces que se generen en esa sesión llevarán esa dirección — y quedan guardados así en el mensaje que recibe el paciente. Si eso importa, conviene fijar APP_URL explícitamente.

Turnero

Qué Dónde
Escritorios y estaciones turnero_lugares
Formularios obligatorios por estación turnero_lugar_consentimientos
Formularios obligatorios por examen exam_tipo_consentimientos
Equipos fijos por IP o token turnero_dispositivos
Prioridades de la cola turnero_prioridades
Playlist de la pantalla de TV turnero_tv_media

Las estaciones de toma de muestras exigen el formulario Datos Toma de Muestras (F-LAB-08), incluso en visitas marcadas como solo entrega de muestras.

LIA

Clave Qué es
lab_config.gemini_api_key Clave de la API de Google Gemini
lab_config.lia_tokens_usados Consumo acumulado (tope: 1.000.000)

El tope está en el código como LIA_TOKENS_MAX.

Términos y condiciones

En dos lugares que hay que mantener sincronizados:

  • terms_versions — versión activa, URL del documento, mensajes de aceptación y rechazo
  • system_config.terms_message — el texto de bienvenida, que repite la URL dentro

Cambios de esquema

Van en migrations/, con nombre AAAAMMDD_descripcion.sql e idempotentes (IF NOT EXISTS, guardas en UPDATE/INSERT).

Si aplica un cambio directo en producción, deje también la migración: sin ella, un entorno nuevo no tendrá ese cambio y nadie se va a enterar hasta que falle.