plugin-crm al CRM integrado.
Si estás iniciando un nuevo deployment de Midaz (v5.x+), no necesitas esta guía. Simplemente habilita el CRM en tus valores de Helm como se describe en Deploy de Midaz usando Helm. El CRM integrado es ahora el único modelo de deployment soportado.
Qué cambió
El plugin CRM era originalmente mantenido como un codebase separado con su propio ciclo de release y desplegado independientemente a través de un Helm chart dedicado (
plugin-crm) en el namespace midaz-plugins.
A partir de Midaz v3.5.0-beta.12 (diciembre 2025), el CRM fue incorporado al monorepo de Midaz en components/crm/. Su deployment fue entonces consolidado en el Helm chart principal de Midaz a partir de v5.x.
Comparación de arquitectura
| Aspecto | Standalone (v4.x y anterior) | Integrado (v5.x+) |
|---|---|---|
| Código fuente | Repositorio separado | components/crm/ en el monorepo de Midaz |
| Helm chart | plugin-crm (chart dedicado) | Parte del chart midaz |
| Namespace | midaz-plugins | midaz |
| Versionamiento | Ciclo de release independiente | Sigue la versión del Midaz core |
| MongoDB | Configuración de conexión propia | MongoDB compartido con otros servicios de Midaz |
| Instalación | helm install plugin-crm oci://... | crm.enabled: true en los values de Midaz |
| Puerto | 4003 | 4003 (sin cambio) |
Cambios en la API
La API del CRM permanece totalmente retrocompatible. Todos los endpoints disponibles en la versión standalone continúan funcionando de la misma forma en el deployment integrado.| Recurso | Endpoints | Estado |
|---|---|---|
| Holders | POST, GET (lista), GET (por ID), PATCH, DELETE | Sin cambio |
| Aliases | POST, GET (lista por holder), GET (por ID), PATCH, DELETE | Sin cambio |
| Aliases (global) | GET /v1/aliases (lista entre todos los holders) | Sin cambio |
| Related Parties | DELETE | Agregado en la versión integrada |
El endpoint
DELETE /v1/holders/{holder_id}/aliases/{alias_id}/related-parties/{related_party_id} fue introducido con el CRM integrado.Si anteriormente necesitabas eliminar related parties individualmente, esta operación ahora es soportada directamente. En versiones anteriores, era necesario actualizar el payload del alias sin la related party.Qué permanece igual
- Contrato de la API: Todos los endpoints existentes, schemas de request y response y comportamientos permanecen sin cambios.
- Base de datos: MongoDB sigue siendo el backend de almacenamiento.
- Autenticación: La integración con Access Manager funciona de la misma forma (
PLUGIN_AUTH_ENABLED,PLUGIN_AUTH_ADDRESS). - Claves de encriptación:
LCRYPTO_HASH_SECRET_KEYyLCRYPTO_ENCRYPT_SECRET_KEYsiguen siendo obligatorias. - Puerto por defecto: El CRM continúa ejecutándose en el puerto 4003.
Checklist pre-migración
Antes de iniciar la migración, confirma lo siguiente:
Identifica tu versión standalone actualRegistra la versión del chart
plugin-crm y la versión de la aplicación.Verifica que tu chart de Midaz sea v5.x o superiorSi estás en v4.x o anterior, actualiza Midaz primero usando la guía Actualizando Helm.
Pasos de migración
Paso 1 — Habilita el CRM en el chart de Midaz
Agrega la configuración del CRM a tus valores Helm de Midaz:Paso 2 — Migra tus datos MongoDB
Si tu CRM standalone usaba su propia instancia MongoDB, restaura los datos en el MongoDB gestionado por Midaz.Paso 3 — Deploy del CRM integrado
Paso 4 — Verifica que el CRM integrado está ejecutándose
Paso 5 — Valida tus datos
Ejecuta una validación rápida para confirmar que tus datos fueron migrados correctamente.Paso 6 — Actualiza DNS e ingress
Actualiza tus registros DNS o reglas de ingress para apuntar al servicio CRM en el namespacemidaz.
Paso 7 — Elimina el CRM standalone
Después de confirmar que todo funciona como se espera, elimina el deployment standalone.Solo desinstala el CRM standalone después de validar el deployment integrado. Esta operación elimina el deployment standalone y sus recursos.
midaz-plugins ya no es necesario, puedes opcionalmente eliminarlo.
Permisos del Access Manager
Los permisos del Access Manager permanecen sin cambios después de la migración. El nombre de la aplicación continúa siendo
plugin-crm, y los permisos se aplican a los recursos holders y aliases.
| Permiso | Descripción | Recursos | Métodos Permitidos |
|---|---|---|---|
plugin-crm-editor-permission | Acceso total | holders, aliases | post, get, patch, delete |
plugin-crm-contributor-permission | Lectura y escritura | holders, aliases | post, get, patch |
plugin-crm-viewer-permission | Solo lectura | holders, aliases | get |
Procedimiento de rollback
Si necesitas revertir al CRM standalone:
Solución de problemas
Pod del CRM falla al iniciar con errores de encriptación
- Confirma que
LCRYPTO_HASH_SECRET_KEYyLCRYPTO_ENCRYPT_SECRET_KEYcorrespondan exactamente a los valores usados en el deployment standalone.
- Verifica que
MONGO_HOSTyMONGO_NAMEapunten a la instancia y base de datos MongoDB correctas. - Si ejecutaste
mongorestore, confirma que la restauración se completó exitosamente.
- El nombre de la aplicación en Access Manager debe seguir siendo
plugin-crm. No se requiere ningún cambio.
- Ejecutar el CRM standalone y el integrado simultáneamente creará un conflicto en el puerto 4003.
Próximos pasos
Visión General del CRM
Conoce las funcionalidades y principios de diseño del CRM.
Usando el CRM
Comienza a trabajar con holders y alias accounts.
Actualizando Helm
Guía completa de actualización de Helm cubriendo todas las rutas de migración.
Deploy de Midaz usando Helm
Referencia completa de deployment para Midaz v5.x.

