Estos scripts PHP son llamados por tareas programadas externas. Cada uno consulta servicios de datos financieros externos, limpia la tabla correspondiente en la base de datos local y la repopula con los datos más recientes. En caso de error, notifican vía un servicio de integración y dejan un archivo de respaldo.
Los crons están configurados en el servidor bajo la ruta /home/customer/www/operadoravalmex.mx/public_html/functions/populate/. Todos los horarios son hora del servidor (UTC-6, México).
| Script | Expresión cron | Descripción |
|---|---|---|
fondos.php |
0 13,16 * * 1-5 |
Lunes a viernes a las 13:00 y 16:00 |
deuda.php |
0 14 * * 1-5 |
Lunes a viernes a las 14:00 |
divisas.php |
0 14 * * 1-5 |
Lunes a viernes a las 14:00 |
mercancias.php |
0 14 * * 1-5 |
Lunes a viernes a las 14:00 |
indices.php |
0 14 * * 1-5 |
Lunes a viernes a las 14:00 |
cartera_semanal_check.php |
0 15 * * 5 |
Viernes a las 15:00 |
cartera_mensual_check.php |
0 18 28-31 * * |
Días 28–31 de cada mes a las 18:00 |
Las carteras (
cartera_mensual.phpycartera_semanal.php) no aparecen en la lista de crons del servidor — se asume que se ejecutan manualmente o desde otro mecanismo externo.
queryMustRun)La función queryMustRun() en crons.php impide la ejecución en fines de semana y en los siguientes días festivos (Ley Federal del Trabajo). La lista debe actualizarse cada año:
| Fecha | Descripción |
|---|---|
| 2026-01-01 | Año Nuevo |
| 2026-02-02 | Día de la Constitución (primer lunes de febrero) |
| 2026-03-16 | Natalicio de Benito Juárez (tercer lunes de marzo) |
| 2026-04-02 | Jueves Santo |
| 2026-04-03 | Viernes Santo |
| 2026-05-01 | Día del Trabajo |
| 2026-09-16 | Día de la Independencia |
| 2026-11-02 | Día de Muertos |
| 2026-11-16 | Día de la Revolución (tercer lunes de noviembre) |
| 2026-12-12 | Día de la Virgen de Guadalupe |
| 2026-12-25 | Navidad |
Solo
fondos.phpusa esta validación internamente. El resto de los scripts delegan esa responsabilidad al programador de tareas (ejecutándolos únicamente lunes a viernes).
Cuando un script detecta un error, dispara una notificación que ejecuta un flujo de integración:
Todos los archivos incluyen alguna combinación de utilidades comunes para conexión a base de datos, manejo de fechas y validaciones.
1. Consultar servicio externo → respuesta en formato estructurado
2. Si falla la comunicación → notificar + finalizar
3. Procesar respuesta
4. Si el formato es inválido → notificar + guardar respaldo + finalizar
5. Limpiar tabla destino
6. Insertar datos fila por fila
7. Guardar archivo de respaldo con timestamp
8. Confirmar ejecución
fondos.phpTabla destino: fondos
Fuente: Jonima — endpoint $servicios["fondos"] (XML)
Cron: Lunes a viernes a las 13:00 y 16:00 — además valida internamente con queryMustRun() que no sea día inhábil
Parámetros opcionales: ?fecha=YYYY-MM-DD vía GET (si se omite, usa fecha de hoy en México)
Descarga los rendimientos de fondos de inversión. Por cada fondo/serie registra:
| Campo | Descripción |
|---|---|
fondo / serie |
Identificador del fondo y su serie |
actual |
Precio actual del fondo |
rend_dia |
Rendimiento del día |
rend_mes |
Rendimiento en el mes en curso |
rend_3_meses / rend_12_meses / rend_24_meses / rend_36_meses |
Rendimientos acumulados por período |
rend_anterior / rend_anterior2 / rend_anterior3 |
Rendimientos de los 3 meses anteriores |
rend_eje |
Rendimiento en el ejercicio (año) |
ini_* / fin_anterior / dias_* |
Fechas de inicio/fin de cada período y número de días |
updated |
Timestamp de la última actualización |
Los valores vacíos se convierten a NULL con NULLIF.
Archivos de respaldo: archive/{año}/{mes}/fondos/
cartera_mensual.phpTabla destino: cartera_mensual
Fuente: Jonima — endpoint $servicios["cartera_mensual"] (XML)
Parámetros: clasificador=tipo_valor, limite_composicion=2, ?fecha=YYYY-MM-DD
Descarga la composición mensual de carteras de fondos. Por cada registro:
| Campo | Descripción |
|---|---|
fondo |
Clave del fondo |
rubro |
Categoría del instrumento |
tipo_valor |
Tipo de valor (ej. Renta Fija, Variable) |
emisora / serie |
Identificador del instrumento |
calificacion |
Calificación crediticia |
valor |
Valor del instrumento |
participacion |
% de participación en la cartera |
fecha / updated |
Fecha de la cartera y timestamp de carga |
Archivos de respaldo: archive/{año}/{mes}/carteras/mensual/
cartera_semanal.phpTabla destino: cartera_semanal
Fuente: Jonima — endpoint $servicios["cartera_semanal"] (XML)
Parámetros: clasificador=tipo_valor, limite_composicion=2, ?fecha=YYYY-MM-DD
Idéntico en estructura a cartera_mensual.php. Descarga la composición semanal de carteras. Mismos campos que la cartera mensual.
Archivos de respaldo: archive/{año}/{mes}/carteras/semanal/
cartera_mensual_check.phpTabla consultada: cartera_mensual (solo lectura)
Fuente: Sin llamada a servicios externos
Cron: Días 28–31 de cada mes a las 18:00 — el script además valida internamente con esUltimoDiaDelMes() para actuar solo el último día real del mes
Script de validación, no de carga. Verifica que la cartera mensual haya sido poblada correctamente antes de que cierre el mes:
cartera_mensual registros con fecha = ayer✅ confirmación vía callback⚠️ alerta vía notificar() (Zapier) + callbackcartera_semanal_check.phpTabla consultada: cartera_semanal (solo lectura)
Fuente: Sin llamada a servicios externos
Cron: Viernes a las 15:00
Script de validación análogo al mensual. Verifica que la cartera semanal tenga datos de ayer:
cartera_semanal registros con fecha = ayer✅ confirmación vía callback⚠️ alerta vía notificar() + callbackdivisas.phpTabla destino: divisas
Fuente: Infosel — endpoint $servicios["divisas"] (JSON)
Cron: Lunes a viernes a las 14:00
Descarga tipos de cambio de divisas contra el peso mexicano:
| Campo | Descripción |
|---|---|
divisa |
Código de la divisa (ej. USD, EUR) |
valor |
Tipo de cambio actual |
valor_anterior |
Tipo de cambio del día anterior |
variacion_unitaria |
Diferencia absoluta |
variacion_porcentual |
Diferencia porcentual |
hora / fecha |
Hora y fecha del dato |
Nota: La fecha llega en formato dd/mm/yyyy y se convierte a yyyy-mm-dd con convertirFechaStringToFechaDate().
Archivos de respaldo: archive/{año}/{mes}/divisas/
indices.phpTabla destino: indices
Fuente: Infosel — endpoint $servicios["indices"] (JSON)
Cron: Lunes a viernes a las 14:00
Descarga índices bursátiles nacionales e internacionales:
| Campo | Descripción |
|---|---|
instrumento |
Nombre del índice (ej. IPC, S&P 500, Dow Jones) |
ciudad |
Plaza/mercado al que pertenece |
valor / valor_anterior |
Nivel actual y anterior |
variacion_unitaria / variacion_porcentual |
Variaciones absoluta y porcentual |
volumen |
Volumen operado |
hora / fecha |
Hora y fecha del dato |
Archivos de respaldo: archive/{año}/{mes}/indices/
deuda.phpTabla destino: deuda
Fuente: Infosel — endpoint $servicios["deuda"] (JSON)
Cron: Lunes a viernes a las 14:00
Descarga instrumentos de deuda gubernamental y corporativa:
| Campo | Descripción |
|---|---|
instrumento |
Clave del instrumento (ej. CETES 28, BONOS 10A) |
dias_por_vencer |
Días restantes al vencimiento |
valor |
Tasa o precio del instrumento |
variacion_unitaria |
Variación absoluta |
hora / fecha |
Hora y fecha del dato |
Nota: La fecha llega en formato dd/mm/yyyy y se convierte manualmente a yyyy-mm-dd.
Archivos de respaldo: archive/{año}/{mes}/deuda/
mercancias.phpTabla destino: mercancias
Fuente: Infosel — endpoint $servicios["mercancias"] (JSON)
Cron: Lunes a viernes a las 14:00
Descarga precios de materias primas (commodities):
| Campo | Descripción |
|---|---|
instrumento |
Nombre de la mercancía (ej. Oro, Plata, Petróleo WTI) |
valor / valor_anterior |
Precio actual y anterior |
variacion_unitaria / variacion_porcentual |
Variaciones |
hora / fecha |
Hora y fecha del dato |
nota |
Fecha original tal como llega del servicio (dd/mm/yyyy), guardada para referencia |
Nota: volumen está en el código pero comentado.
Archivos de respaldo: archive/{año}/{mes}/mercancias/
Envía alertas a través de un servicio de integración con mensaje de error y metadatos básicos.
Proporciona retroalimentación visual del resultado de la ejecución.
Persiste respuestas crudas en el sistema de archivos para respaldo histórico.
| Script | Tabla MySQL | Servicio | Formato | Horario (cron) |
|---|---|---|---|---|
fondos.php |
fondos |
Jonima | XML | Lun–Vie 13:00 y 16:00 |
cartera_mensual.php |
cartera_mensual |
Jonima | XML | Manual / externo |
cartera_semanal.php |
cartera_semanal |
Jonima | XML | Manual / externo |
cartera_mensual_check.php |
cartera_mensual (lectura) |
— | — | Días 28–31, 18:00 |
cartera_semanal_check.php |
cartera_semanal (lectura) |
— | — | Viernes 15:00 |
divisas.php |
divisas |
Infosel | JSON | Lun–Vie 14:00 |
indices.php |
indices |
Infosel | JSON | Lun–Vie 14:00 |
deuda.php |
deuda |
Infosel | JSON | Lun–Vie 14:00 |
mercancias.php |
mercancias |
Infosel | JSON | Lun–Vie 14:00 |