Saltar al contenido principal

Entidades personalizadas

Aprende a crear y gestionar objetos de datos personalizados más allá de la entidad Usuarios integrada.

¿Qué son las entidades personalizadas?

Las entidades personalizadas (también llamadas objetos personalizados) te permiten definir y almacenar cualquier tipo de datos estructurados en Joryio. Piensa en ellas como tablas de base de datos personalizadas que puedes crear desde la interfaz.

Casos de uso habituales:

  • Productos: almacena catálogos de productos con precios, SKU y descripciones.
  • Pedidos: registra el historial de pedidos y los datos de compra.
  • Inventario: gestiona niveles de existencias y datos de almacén.
  • Contenido: almacena artículos, vídeos u otro contenido.
  • Ubicaciones: almacena ubicaciones de tiendas u oficinas.
  • Oportunidades: registra oportunidades de ventas.
  • Suscripciones: gestiona planes y niveles de suscripción.

Funciones principales

Definición flexible de esquemas

  • Define campos personalizados con más de 18 tipos de campo.
  • Configura reglas de validación para cada campo.
  • Añade índices para mejorar el rendimiento de las búsquedas.
  • Controla la visibilidad y el orden de presentación de los campos.

Operaciones CRUD completas

  • Crea, lee, actualiza y elimina registros.
  • Importa datos en bloque.
  • Busca y filtra registros.
  • Exporta datos.

Funciones avanzadas

  • Registro de auditoría: registra todos los cambios de los registros.
  • Control de versiones: conserva el historial de modificaciones de registros.
  • Eliminación lógica: marca registros como eliminados en vez de quitarlos.
  • Relaciones: vincula entidades entre sí (función futura).

Primeros pasos

Crear tu primera entidad

  1. Ve a Entidades desde el menú principal.

  2. Haz clic en Crear entidad.

  3. Configura los ajustes básicos:

    • Nombre de presentación (por ejemplo, «Productos»).
    • Nombre interno (por ejemplo, «products»): solo minúsculas y guiones bajos.
    • Descripción.
    • Campo de presentación: el campo que se muestra en las listas.
  4. Añade campos para tu estructura de datos.

  5. Configura los ajustes (opcional).

  6. Haz clic en Crear.

Ejemplo: entidad Productos

Vamos a crear una entidad Productos para almacenar tu catálogo de productos:

Ajustes de la entidad:

  • Nombre de presentación: Products
  • Nombre interno: products
  • Campo de presentación: name
  • Descripción: Catálogo de productos con precios e inventario

Campos:

  1. SKU (cadena)

    • Obligatorio: Sí
    • Único: Sí
    • Indexado: Sí
  2. Nombre (cadena)

    • Obligatorio: Sí
    • Longitud máxima: 255
  3. Descripción (Markdown)

    • Obligatorio: No
  4. Precio (moneda)

    • Obligatorio: Sí
    • Mínimo: 0
  5. Cantidad en stock (entero)

    • Obligatorio: Sí
    • Mínimo: 0
  6. URL de imagen (URL de imagen)

    • Obligatorio: No
  7. Categoría (cadena)

    • Indexado: Sí
  8. Activo (booleano)

    • Predeterminado: true

Tipos de campo

Joryio admite más de 18 tipos de campo:

Tipos de texto

  • Cadena: texto corto (nombres, títulos).
  • Email: direcciones de email con validación.
  • Teléfono: números de teléfono.
  • URL: direcciones web con validación.
  • Markdown: texto enriquecido compatible con Markdown.
  • HTML: contenido HTML sin procesar.
  • JSON: datos JSON estructurados.

Tipos numéricos

  • Número: números decimales.
  • Entero: solo números enteros.
  • Moneda: valores monetarios con precisión decimal.
  • Porcentaje: valores porcentuales.

Tipos de fecha/hora

  • Fecha: solo fecha (sin hora).
  • Fecha y hora: fecha y hora.

Otros tipos

  • Booleano: valores verdadero/falso.
  • URL de imagen: URL de imágenes (muestra una miniatura).
  • URL de archivo: URL de archivos.

Tipos futuros

  • Referencia: vínculo a otra entidad (próximamente).
  • Matriz: varios valores (próximamente).

Validación de campos

Configura reglas de validación para cada campo:

Validaciones habituales

  • Obligatorio: el campo debe tener un valor.
  • Único: no se permiten valores duplicados.
  • Mín./máx.: para números (por ejemplo, precio >= 0).
  • Longitud mín./máx.: para cadenas (por ejemplo, SKU entre 5 y 20 caracteres).
  • Patrón: validación mediante expresión regular.
  • Enum: limita a valores específicos.

Ejemplos

Campo de email:

Tipo: Email
Obligatorio: Sí
Validación: el formato de email se valida automáticamente

Campo de precio:

Tipo: Moneda
Obligatorio: Sí
Mínimo: 0
Máximo: 999999

Campo SKU:

Tipo: Cadena
Obligatorio: Sí
Único: Sí
Longitud mínima: 5
Longitud máxima: 20
Indexado: Sí

Gestionar registros

Añadir registros

  1. Abre tu entidad desde la lista de Entidades.
  2. Haz clic en Añadir registro.
  3. Completa el formulario (se genera automáticamente a partir de tu esquema).
  4. Haz clic en Crear.

El formulario se adapta automáticamente a tus tipos de campo:

  • Campos de cadena → entradas de texto.
  • Campos numéricos → entradas numéricas.
  • Campos de fecha → selectores de fecha.
  • Campos booleanos → casillas de verificación.
  • Y más.

Ver registros

Los registros se muestran en una tabla dinámica con columnas para cada campo:

  • Ordena por cualquier columna.
  • Busca en todos los campos.
  • Pagina conjuntos de datos grandes.
  • Consulta la visualización específica por tipo (fechas, moneda, imágenes).

Editar registros

  1. Haz clic en el icono de edición de cualquier registro.
  2. Modifica los campos.
  3. Haz clic en Actualizar.

Se registran todos los cambios si el registro de auditoría está activado.

Eliminar registros

  1. Haz clic en el icono de eliminación de cualquier registro.
  2. Confirma la eliminación.

Si la eliminación lógica está activada, los registros se marcan como eliminados pero no se quitan de la base de datos.

Historial de cambios

Cada entidad conserva un registro de auditoría por registro que puedes consultar en la interfaz. El botón Historial de la página de registros (y de cada registro individual) abre un panel con cada creación, actualización y eliminación: qué campos cambiaron, quién hizo el cambio, cuándo y los valores antes/después. Úsalo para ver cómo evolucionó un registro o investigar un valor inesperado.

Ajustes de la entidad

Registro de auditoría

Cuando está activado, Joryio registra:

  • Quién creó o modificó cada registro.
  • Qué cambió.
  • Cuándo ocurrieron los cambios.

Accede a los registros de auditoría mediante la API o la interfaz de administración.

Control de versiones

Conserva el historial completo de todos los cambios de registros:

  • Revierte a versiones anteriores.
  • Compara versiones.
  • Registra la evolución de los datos con el tiempo.

Eliminación lógica

En vez de eliminar registros permanentemente:

  • Márcalos como eliminados mediante una marca.
  • Conserva los datos para cumplimiento.
  • Restaura los registros eliminados si es necesario.

Permitir duplicados

De forma predeterminada, se impiden los registros duplicados. Desactívalo para permitir:

  • Varios registros con los mismos valores.
  • Casos útiles como registros de eventos o transacciones.

Buscar y filtrar

Búsqueda

Busca en todos los campos indexados:

  • Búsqueda de texto completo.
  • Sin distinción de mayúsculas y minúsculas.
  • Coincidencias parciales admitidas.

Operadores de filtro de selección

Las selecciones filtran registros con condiciones por campo: igual / distinto, mayor/menor que (o igual), contiene, existe y el par de varios valores Es uno de / No es uno de. Introduce varios valores separados por comas (por ejemplo, ER, ICU, NICU) y el registro coincide si su campo es igual a cualquiera de ellos. Los valores numéricos coinciden tanto si el registro los almacena como número como cadena. Combina condiciones con AND/OR.

Filtros (mediante API)

Aplica filtros complejos mediante la API:

{
filter: {
price: { $gte: 10, $lte: 100 },
category: "Electronics",
active: true
},
sort: { price: -1 },
limit: 20
}

Rendimiento de selecciones y recomendaciones de índices

La vista Selecciones incluye un panel de rendimiento que enumera tus selecciones principales por uso y recomienda índices de base de datos para acelerar las que ejecutas con más frecuencia. Cada recomendación tiene una prioridad; el botón Crear índices recomendados los aplica para que las selecciones más usadas se resuelvan antes.

Recomendaciones de rendimiento

Indexación

Añade índices a los campos por los que con frecuencia:

  • Buscas.
  • Filtras.
  • Ordenas.

Ejemplo: si buscas a menudo por SKU o filtras por categoría, indexa esos campos.

Orden de los campos

Configura displayOrder para controlar:

  • El orden de los campos del formulario.
  • El orden de las columnas de la tabla.
  • La optimización de la experiencia de usuario.

Campos ocultos

Marca campos como ocultos si son:

  • Solo internos.
  • Innecesarios en las vistas predeterminadas.
  • Metadatos técnicos.

Casos de uso

E-commerce

Entidades:

  • Productos (SKU, nombre, precio, imágenes).
  • Pedidos (ID de pedido, artículos, total, estado).
  • Inventario (almacén, cantidad, ubicación).
  • Categorías (nombre, descripción, principal).

Flujo de trabajo:

  • Importa el catálogo de productos.
  • Activa campañas según el bajo inventario.
  • Envía confirmaciones de pedido.
  • Personaliza recomendaciones de productos.

Gestión de contenido

Entidades:

  • Artículos (título, contenido, autor, etiquetas).
  • Vídeos (título, URL, duración, categoría).
  • Autores (nombre, biografía, foto).

Flujo de trabajo:

  • Almacena la biblioteca de contenido.
  • Haz referencia a ella en campañas de email.
  • Personaliza recomendaciones de contenido.
  • Registra el rendimiento del contenido.

Plataforma SaaS

Entidades:

  • Suscripciones (plan, precio, funciones).
  • Funciones (nombre, descripción, nivel).
  • Métricas de uso (métrica, valor, período).

Flujo de trabajo:

  • Registra el estado de suscripción.
  • Activa campañas de mejora.
  • Supervisa el uso de funciones.
  • Calcula la facturación.

Integración

Con campañas

Haz referencia a datos de entidades en plantillas de email con el filtro catalog:

Obtener todos los registros de una entidad:

{% assign products = 'products' | catalog %}

{% for product in products %}
<h3>{{ product.name }}</h3>
<p>Price: ${{ product.price }}</p>
<img src="{{ product.image_url }}" />
{% endfor %}

Obtener registros con una selección preconfigurada (con filtros/ordenación):

{% assign featuredProducts = 'products' | catalog: 'featured_items' %}

{% for product in featuredProducts %}
<h3>{{ product.name }}</h3>
<p>Price: ${{ product.price }}</p>
{% endfor %}

Notas:

  • Sin una selección: devuelve hasta 50 registros.
  • Con una selección: usa los filtros, la ordenación y el límite configurados en la selección.
  • Los nombres de entidad y selección deben coincidir exactamente con los definidos en tu espacio de trabajo.

Con Canvas (creador de recorridos)

Usa datos de entidades para:

  • Activar recorridos.
  • Ramificar según valores.
  • Personalizar mensajes.
  • Registrar conversiones.

Con segmentos

Segmenta usuarios según las relaciones de entidades:

  • Usuarios que compraron productos concretos.
  • Usuarios con suscripciones activas.
  • Usuarios en ubicaciones concretas.

Acceso a la API

API REST completa para acceso mediante programación:

// Enumerar entidades
GET /api/entities

// Crear entidad
POST /api/entities
{
"name": "products",
"displayName": "Products",
"fields": [...]
}

// Enumerar registros
GET /api/entities/:entityId/records

// Crear registro
POST /api/entities/:entityId/records
{
"sku": "PROD-001",
"name": "Widget",
"price": 29.99
}

Consulta Referencia de la API de entidades para ver la documentación completa.

Prácticas recomendadas

Diseño del esquema

  1. Empieza de forma simple: añade campos según los necesites.
  2. Usa nombres significativos: nombres de campo claros y descriptivos.
  3. Indexa con criterio: indexa solo los campos por los que buscarás o filtrarás.
  4. Valida los datos: configura reglas de validación adecuadas.
  5. Documenta el propósito: usa descripciones para campos complejos.

Calidad de los datos

  1. Aplica unicidad cuando corresponda (SKU, emails).
  2. Exige campos críticos: no conviertas todo en opcional.
  3. Configura valores predeterminados razonables: facilitan la entrada de datos.
  4. Valida formatos: usa tipos de campo adecuados.
  5. Limpia regularmente: elimina registros obsoletos.

Rendimiento

  1. Limita el número de registros: archiva datos antiguos.
  2. Usa paginación: no cargues todos los registros a la vez.
  3. Indexa estratégicamente: equilibra velocidad de consulta y almacenamiento.
  4. Usa caché cuando sea posible para datos a los que se accede con frecuencia.

Solución de problemas

No se puede crear la entidad

  • Comprueba el formato del nombre interno (solo minúsculas y guiones bajos).
  • Verifica que el nombre no esté ya en uso.
  • Asegúrate de tener permiso.

Los registros no aparecen

  • Comprueba los filtros o términos de búsqueda.
  • Verifica la selección del espacio de trabajo.
  • Comprueba el estado de eliminación lógica.

Consultas lentas

  • Añade índices a los campos filtrados.
  • Reduce el tamaño del conjunto de resultados.
  • Optimiza las consultas de filtro.

Próximos pasos

Funciones relacionadas