Configuración del sistema¶
⚙️ Solo para Super Admin
La sección Config (menú lateral → Config, ruta /settings) es exclusiva del
Super Admin. Reúne los ajustes globales, en varias pestañas: Scraper · Email SMTP ·
WhatsApp · Mensajes WA · IA · Historial de scrapes · Sincronización.
Cambios de alcance global
Lo que se configura aquí afecta a todas las empresas. Cámbielo con cuidado.
Scraper¶
Controla el proceso que revisa Guatecompras.

- Programación — Expresión cron (cada cuánto corre; ej.
0 0 8,12,18 * * ?) y Zona horaria. - Días a scrape, Máx. páginas (0 = todas), Delay entre páginas (ms) y Registros por página; interruptores Paginación y Dry run.
- Filtros de Guatecompras — Categorías y Modalidades por sus IDs (separados por coma). Vacío = usa los predeterminados. Los íconos ⓘ listan los IDs disponibles.
- Ventana de días por categoría (opcional) — excepciones para categorías de alto volumen; Agregar excepción para definir días distintos por categoría.
- Configuración avanzada — se expande para mostrar URL/endpoint, User-Agent, reintentos y timeouts.
- Proxy de scraping — Host y Puerto; vacío = conexión directa.
- Guardar cambios conserva la configuración; ▶ Iniciar scrape ahora dispara una corrida manual inmediata.
El scraper no corre al arrancar
Al reiniciar el sistema, el scraper no ejecuta una revisión inmediata; solo reprograma su siguiente corrida según el cron. Para revisar ya, use Iniciar scrape ahora.
Email SMTP¶

El transporte de correo global que usan todas las empresas: Servidor SMTP, Puerto, interruptores STARTTLS / SSL/TLS, Usuario SMTP, Contraseña (déjela en blanco para no cambiarla) y Dirección From por defecto. Guardar cambios y Probar SMTP (envía un correo de prueba). La contraseña se guarda cifrada.
WhatsApp¶

La pestaña WhatsApp administra los perfiles de envío. Un perfil es una conexión de WhatsApp (un gateway) desde la cual salen los mensajes. Cada perfil tiene:
- Nombre — identificador del perfil.
- URL del gateway — la dirección del servicio de WhatsApp.
- Activo — si está disponible para enviar.
- Predeterminado — el perfil que se usa para los envíos a contactos individuales cuando una empresa no elige otro.
- Plantilla por defecto — el texto base del mensaje para ese perfil (ver abajo).
Botones: Agregar perfil, Sync grupos (importa los grupos de WhatsApp del gateway).
La pestaña Mensajes WA trae herramientas de prueba: Enviar mensaje de prueba (a un número) y Prueba grupo (a un grupo), para confirmar que la entrega funciona.
Verificar ≠ enviar
Verificar la conexión solo revisa el estado; para comprobar que los mensajes llegan, use Enviar mensaje de prueba.
Plantillas de mensaje de WhatsApp¶
Una plantilla define el texto de cada aviso de WhatsApp. En el texto puede intercalar variables que Licita Radar reemplaza, al momento de enviar, con los datos de la licitación.
Variables disponibles¶
| Variable | Se reemplaza por |
|---|---|
${companyName} |
Nombre de la empresa. |
${count} |
Cantidad de licitaciones incluidas en el aviso. |
${title} |
Título de la licitación. |
${entity} |
Entidad compradora. |
${amount} |
Monto estimado (con su moneda, p. ej. 1,200.00 GTQ). |
${deadline} |
Fecha límite para ofertar. |
${url} |
Enlace a la licitación en Guatecompras. |
Escriba las variables exactamente así, con ${…}. Cualquier otro texto se envía tal
cual. Si una variable no tiene dato para esa licitación, se reemplaza por vacío.
Dónde se define una plantilla (dos niveles)¶
Hay dos lugares para definir plantillas, y se aplican con esta prioridad:
- Plantilla de la empresa — pestaña WhatsApp de cada empresa, campo "Plantilla de mensaje (opcional)". Si está definida, manda para esa empresa. Ver Canales.
- Plantilla por defecto del perfil — aquí, en Config → WhatsApp, al crear o editar un perfil. Se usa cuando la empresa no tiene su propia plantilla.
- Mensaje por defecto del sistema — si no hay ninguna de las anteriores, Licita Radar arma un mensaje predefinido con emojis (título, NOG, entidad, modalidad, monto, fecha límite y enlace).
Dicho de otro modo: empresa → perfil → mensaje por defecto. Lo primero que exista, gana.
El mensaje por defecto del sistema
Si nadie configura plantillas, el aviso se ve más o menos así:
Crear una plantilla por defecto (a gusto) — paso a paso¶

- Vaya a Config → WhatsApp.
- Pulse Agregar perfil (o edite uno existente con su ✏️).
- En el diálogo, complete Nombre, URL del gateway y los interruptores según necesite.
-
En el campo Plantilla por defecto, escriba su mensaje usando texto libre y las variables. Por ejemplo:
-
Pulse Crear perfil (o Guardar cambios).
A partir de ese momento, cualquier empresa que no tenga su propia plantilla usará este
texto. WhatsApp admite formato básico: *texto* para negrita y _texto_ para
cursiva.
¿Quiere una plantilla distinta para una sola empresa?
Defínala en la pestaña WhatsApp de esa empresa ("Plantilla de mensaje (opcional)"). Esa plantilla tiene prioridad sobre la del perfil, solo para esa empresa. Deje ese campo en blanco para volver a heredar la del perfil.
IA (licita-ai)¶

La conexión con el servicio de inteligencia artificial que filtra las licitaciones:
- Análisis de IA habilitado — interruptor global. Si está apagado, ninguna empresa puede analizar con IA (las coincidencias de keywords siguen sin filtrar).
- URL base del servicio y API Key.
- Confiar en certificado self-signed — necesario para la red interna con certificado propio.
- Timeout análisis y Timeout requisitos (ms).
- Guardar cambios y Verificar conexión (muestra el estado de salud del servicio).
Historial de scrapes¶

Tabla con el historial de corridas del scraper. Cada tarjeta se expande para ver el resumen de notificaciones de esa corrida: total enviadas/fallidas y el detalle por destinatario, agrupado por canal. Es la mejor forma de auditar qué hizo el sistema en cada revisión y confirmar que los avisos salieron.
Sincronización¶
Define si esta instancia hace su propio scrape (Scrape directo) o se sincroniza desde otra instancia madre (URL + API key). Incluye la gestión de instancias hijas autorizadas. Es una función de infraestructura para despliegues con varias instancias.