Skip to content

mem-api ​

Qué es ​

La API del Mercado Eléctrico Mayorista: almacena y expone los Precios Marginales Locales de México para el Mercado de Día en Adelanto (MDA) y el Mercado de Tiempo Real (MTR).

Guarda los componentes de precio, energía, pérdidas y congestión de nodos y zonas de carga de los sistemas SIN, BCA y BCS, y los pone a disposición de mem-frontend, de sy-energy y de consumidores externos autorizados.

Tipo de sistema ​

CampoValor
TipoAPI / servicio
Lenguaje y frameworkPHP 8.5 · Laravel 13
Base de datosMySQL
ColasAWS SQS
EjecuciónServidor, con worker de cola y scheduler
DespliegueDeployer + GitHub Actions (desarrollo, producción y rollback)

Estado documental ​

  • Estado: Borrador
  • Última actualización: 2026-08-02
  • Owner: Pendiente
  • SME requerido: desarrollo
  • Fuente resumida: comandos, scheduler y notas de arquitectura del repositorio.

Su lugar en la cadena ​

text
Portal CENACE
     │  mem-sync-prices (Lambda)
     ▼
   S3 (CSV crudos)
     │  mem-parse-csv-prices (Lambda)
     ▼
   SQS (un mensaje por nodo)
     │
     ▼
  mem-api ──► base de datos ──► mem-frontend
                            └─► sy-energy

mem-api es el punto donde los datos crudos del mercado se vuelven consultables.

Arquitectura ​

Estilo de controlador delgado con acciones y constructores de consulta:

text
ruta → form request (valida) → controlador → acción de dominio → respuesta

El código de aplicación vive en src/App, no en app/. Las respuestas JSON tienen forma consistente, con success, message y data en éxito, y success, message y errors en error.

Reglas de organización que sigue el proyecto:

CarpetaDebe contener
ConstantsSolo datos estáticos.
ActionsFlujos de negocio y lógica de resolución.
ValidatorsReglas de validación.
QueryBuildersConstrucción de consultas.
Comandos y controladoresOrquestación, no lógica de dominio reutilizable.

Autenticación de la API ​

Las rutas protegidas de la versión 2 exigen dos encabezados:

EncabezadoPara qué
ACCESS-KEYIdentifica al consumidor.
SECRET-KEYAutentica la petición.

Los tokens se administran con token:create y tienen estado: solo los activos son válidos.

Conceptos del dominio ​

TérminoQué es
MDAMercado de Día en Adelanto. Precios del día siguiente.
MTRMercado de Tiempo Real. Precios de la operación real.
PMLPrecio Marginal Local. Se descompone en energía, pérdidas y congestión.
NodoPunto del sistema eléctrico con precio propio.
Zona de cargaAgrupación de nodos.
SIN / BCA / BCSSistemas eléctricos: Nacional, Baja California y Baja California Sur.
CommodityInsumo con precio de referencia, como el gas natural.

Relación con otros sistemas ​

SistemaRelación
mem-sync-pricesDescarga los CSV de CENACE a S3.
mem-parse-csv-pricesConvierte los CSV en mensajes por nodo.
mem-frontendConsume la API para desplegar precios.
mem-auth-serviceAutentica a los usuarios del frontend.
sy-energyConsume precios para los cálculos pass-through.

Riesgos y gaps ​

  • Falta confirmar cómo consume sy-energy esta información: por API o leyendo la base directamente.
  • No está documentado el contrato de la API para consumidores externos.
  • No está documentada la política de rotación de tokens.
  • Existe un comando de prueba (command:name) sin propósito real en el código.

Próxima revisión ​

Al documentar el contrato público de la API.