Saltar al contenido principal
Un Holder es la entidad principal en CRM. Representa a un individuo u organización del mundo real detrás de una cuenta del Ledger en Midaz, almacenando atributos relacionados con la identidad como nombre, número de documento, datos de contacto y direcciones. Los Holders son gestionados por el plugin CRM y no pertenecen al dominio transaccional del ledger. Enriquecen las cuentas del ledger con datos relevantes para el negocio sin interferir con la lógica, consistencia o rendimiento del ledger. Cada Holder es de uno de dos tipos: Persona Natural (Natural Person) o Persona Jurídica (Legal Person).

Tipos de Holder


El tipo de holder determina qué campos están disponibles y cómo se trata la entidad en la plataforma. Se define al momento de la creación y no puede cambiarse posteriormente.

Persona Natural (Natural Person)

Representa a un cliente individual. Soporta atributos personales como nombre, género, fecha de nacimiento, estado civil, nacionalidad e información familiar. Usa este tipo para:
  • Titulares de cuentas bancarias individuales
  • Propietarios de billeteras personales
  • Trabajadores independientes o autónomos
Representa a una empresa u organización. Soporta atributos empresariales como nombre comercial, tipo de actividad, fecha de fundación, tamaño de la empresa y detalles del representante legal. Usa este tipo para:
  • Cuentas de tesorería corporativa
  • Socios comerciales y proveedores
  • Clientes institucionales
Elige el tipo de holder con cuidado al momento de la creación. Una vez definido, no puede cambiarse — sería necesario crear un nuevo Holder con el tipo correcto.

Campos del Holder


Campos principales

CampoTipoRequeridoDescripción
iduuidGenerado por el sistemaIdentificador único del Holder.
typeenumNATURAL_PERSON o LEGAL_PERSON.
namestringNombre completo del individuo o razón social de la empresa.
documentstringNúmero del documento de identificación (ej.: CPF, CNPJ, pasaporte).
externalIdstringNoIdentificador opcional para mapear el Holder a un sistema externo.
metadataobjectNoPares clave-valor para datos personalizados y no sensibles. Claves limitadas a 100 caracteres y valores a 2000 caracteres.
createdAtdatetimeGenerado por el sistemaTimestamp de creación (RFC 3339).
updatedAtdatetimeGenerado por el sistemaTimestamp de última actualización (RFC 3339).
deletedAtdatetimeGenerado por el sistemaTimestamp de eliminación lógica, si aplica (RFC 3339).

Campos de dirección

El objeto addresses soporta hasta tres direcciones: primary, additional1 y additional2. Cada dirección contiene:
CampoTipoRequeridoDescripción
line1stringLínea principal de dirección (calle, número). Máx. 256 caracteres.
line2stringNoLínea secundaria de dirección (apartamento, oficina). Máx. 256 caracteres.
zipCodestringCódigo postal. Máx. 20 caracteres.
citystringNombre de la ciudad. Máx. 100 caracteres.
statestringEstado o provincia. Máx. 100 caracteres.
countrystringCódigo de país ISO 3166-1 alpha-2 (ej.: US, BR).

Campos de contacto

CampoTipoRequeridoDescripción
primaryEmailstringNoDirección de correo electrónico principal.
secondaryEmailstringNoDirección de correo electrónico secundaria.
mobilePhonestringNoNúmero de teléfono móvil con código de país (ej.: +5511999999999).
otherPhonestringNoNúmero de teléfono alternativo.

Campos de Persona Natural

Disponibles solo cuando type es NATURAL_PERSON.
CampoTipoRequeridoDescripción
favoriteNamestringNoNombre preferido o apodo.
socialNamestringNoNombre social (nombre con el que la persona se identifica).
genderstringNoIdentidad de género.
birthDatestringNoFecha de nacimiento en formato AAAA-MM-DD.
civilStatusstringNoEstado civil (ej.: Soltero, Casado, Divorciado).
nationalitystringNoNacionalidad (ej.: Brasileño, Estadounidense).
motherNamestringNoNombre completo de la madre.
fatherNamestringNoNombre completo del padre.
statusstringNoEstado del ciclo de vida (ej.: Active, Inactive, Suspended, Closed).

Campos de Persona Jurídica

Disponibles solo cuando type es LEGAL_PERSON.
CampoTipoRequeridoDescripción
tradeNamestringNoNombre comercial de la empresa.
activitystringNoActividad principal de la empresa.
typestringNoEstructura legal (ej.: SRL, S.A.).
foundingDatestringNoFecha de fundación de la empresa en formato AAAA-MM-DD.
sizestringNoClasificación del tamaño de la empresa (ej.: Pequeña, Mediana, Grande).
statusstringNoEstado del ciclo de vida (ej.: Active, Inactive, Suspended, Closed).

Representante

El objeto representative dentro de legalPerson almacena los detalles del representante legal de la empresa:
CampoTipoRequeridoDescripción
namestringNoNombre completo del representante legal.
documentstringNoNúmero de documento del representante.
emailstringNoDirección de correo electrónico del representante.
rolestringNoCargo dentro de la empresa (ej.: CEO, CFO).

Seguridad de los datos


Varios campos del Holder están cifrados en reposo usando cifrado AES, incluyendo name, document e información de contacto. Esto garantiza que los datos personales sensibles estén protegidos incluso si el almacenamiento subyacente se ve comprometido.
Nunca almacenes información sensible en el objeto metadata. Los metadatos no están cifrados y se almacenan en texto plano.
Para la lista completa de campos protegidos y estrategias de cifrado, consulta Seguridad de datos del CRM.

Gestionando Holders


Vía API

Usa la API del CRM para gestionar Holders programáticamente:
Todas las solicitudes a la API del CRM requieren el header X-Organization-Id. Si Access Manager está habilitado, también se requiere un header Authorization con un token Bearer.

Vía Lerian Console

Puedes gestionar Holders a través de la página Holders en el Módulo Midaz de Lerian Console. La consola ofrece una interfaz visual para crear, ver, editar y eliminar Holders sin escribir código. Aprende más en la guía de Gestión de Holders.

Próximos pasos