HubDB

Last updated:
APPLICABLE PRODUCTS
  • Marketing Hub
    • Enterprise
  • Content Hub
    • Professional or Enterprise

HubDB es una herramienta que permite crear tablas para almacenar datos en filas, columnas y celdas, de forma similar a una hoja de cálculo. Puedes personalizar las columnas, filas y otros ajustes de una tabla de HubDB en función de tus necesidades. Por ejemplo, podrías usar una tabla de HubDB para:

hubdb-table-example0Se puede acceder a las tablas de HubDB tanto dentro de HubSpot como a través de la API de HubDB, y puedes recuperar los datos de una tabla de varias maneras, dependiendo del uso. Para obtener datos de una tabla de HubDB, puedes:

  • Consultar los datos externamente a través de la API de HubDB.
  • Utilizar las etiquetas de marcado de HubL de HubSpot para introducir datos en el CMS como contenido estructurado.
  • Utilizar la API de HubDB con funciones sin servidor para ofrecer una experiencia de aplicación web interactiva.

Nota:

Arquitectura de HubDB

Una tabla de HubDB consta de filas, columnas y celdas, similar a una hoja de cálculo.

  • Tablas: una tabla es una disposición bidimensional de filas y columnas. Cuando se crea una tabla, se le asigna un ID único a nivel global que puedes usar cuando necesites especificar una tabla en HubL o a través de la API.
  • Filas: las filas son cortes horizontales de una tabla. En una aplicación de hoja de cálculo, las filas se representan con números, empezando por el 1. Cada fila de la tabla recibe un ID único en el momento de su creación. Por opción predeterminada, cada fila de una tabla viene con algunas columnas:
Use this table to describe parameters / fields
ColumnaDescription
hs_id

Un ID numérico asignado automáticamente, único en el mundo, para esta fila.

hs_created_at

Una marca de tiempo de cuándo esta fila fue creada.

hs_path

Cuando se utiliza con páginas dinámicas, esta cadena es el último segmento de la ruta de la URL de la página.

hs_name

Cuando se utiliza con páginas dinámicas, es el título de la página.

Nota: las columnas del área de texto enriquecido en HubDB están limitadas a 65.000 caracteres. Para obtener más información, consulta el anuncio de registro de cambios.

  • Columnas: las columnas son cortes verticales de una tabla. Cada columna tiene un tipo, que se utiliza para almacenar tipos de datos. Una tabla puede incluir tantas columnas como quieras, y a cada una se le asigna un ID único global al crearla.  El ID de columna comienza con un valor de 1, pero no son necesariamente secuenciales y no se pueden reutilizar. Los tipos de columna incluyen: 
    • Texto
    • Texto enriquecido
    • URL
    • Imagen
    • Selección
    • Selección múltiple
    • Fecha
    • Fecha y hora
    • Number
    • Moneda
    • Casilla de verificación
    • Ubicación (longitud, latitud)
    • ID externo
    • Video
  • Celdas: las celdas almacenan los valores donde se cruzan una fila y una columna. Las celdas pueden leerse o actualizarse individualmente o como parte de una fila. Establecer el valor de una celda en null equivale a eliminar el valor de la celda.

Limitaciones técnicas de HubDB

Tenga en cuenta los siguientes límites técnicos de HubDB:

  • Límites de cuenta
    • 1000 tablas de HubDB por cuenta.
    • 1.000.000 de filas en tablas HubDB por cuenta.
  • Límites de tabla:
    • 250 columnas por tabla.
    • 10000 filas por tabla de HubDB.
    • 700 caracteres por nombre de tabla.
    • 700 caracteres por etiqueta de tabla.
  • Límites de columna:
    • 65.000 caracteres por columna de texto enriquecido.
    • 10.000 caracteres en cada columna de texto.
    • 700 caracteres por nombre de columna.
    • 700 caracteres por etiqueta.
    • 300 caracteres por descripción de columna.
    • 700 caracteres por opción seleccionable dentro de una columna.
  • Límites de página:
    • 10 llamadas a la función hubdb_table_rows de HubL por página CMS.
    • 10 páginas dinámicas usando la misma tabla de HubDB.
    • Los HubDB con páginas dinámicas activadas deben tener rutas en minúsculas para que las URL de estas páginas no distingan mayúsculas de minúsculas.

Crear una tabla de HubDB

Puedes crear tablas de HubDB a través de la interfaz de usuario de HubSpot o a través de la API de HubDB.

Todas las nuevas tablas creadas se establecen con un estado de borrador. No se pueden utilizar para dar salida a los datos a través de HubL o la API hasta que se publique la tabla. Al crear una tabla, también puedes administrar su configuración, como permitir el acceso a la API pública y si sus datos se utilizarán para crear páginas dinámicas.

Unir varias tablas de HubDB

Las tablas de HubDB se pueden unir utilizando el tipo de columna ID externo, que te permite representar los datos combinados de varias tablas. Esto puede ser útil cuando algunos datos pueden compartirse entre varios almacenes de datos, lo que permite una tabla de datos centralizada de esta información, a la que luego se puede acceder a través de varios otros almacenes de datos de tablas de HubDB.

A continuación, aprende cómo unir varias tablas de HubDB

1 1. Agrega una columna ID externo a la tabla principal

  • En tu cuenta de HubSpot, navega hasta Marketing > Archivos y plantillas > HubDB.
  • Busca la tabla a la que quieres agregar una unión de tabla, haz clic en el menú desplegable Acciones y, luego, selecciona Editar.
  • En la parte superior derecha, haz clic en Editar y, luego, selecciona Agregar columna.
  • Introduce una etiqueta y un nombre para la nueva columna.
  • Haz clic en el menú desplegable Tipo de columna y selecciona ID externo.
  • Haz clic en el menú desplegable Seleccionar tabla y selecciona la tabla  que quieres unir con tu tabla actual.
  • Haz clic en el menú desplegable Seleccionar columna y, luego, selecciona la columna de la tabla que se une que elegiste para que sea visible en el campo ID externo.
  • Haz clic en Agregar columna.

Nota: el valor que elegiste como Seleccionar columna solo dicta qué valor de columna ves en el campo ID externo en la interfaz de usuario de HubDB. Todas las columnas de la tabla están disponibles al representar las tablas unidas de HubDB.

hubdb_foreign_id

2. Agregar filas de tablas externas a las filas de tu tabla

Ahora que tienes una columna ID externo, tendrás un campo de columna de selección múltiple en cada fila de tu tabla de HubDB, el cual te permite seleccionar las filas de una tabla externa.

El campo Seleccionar columna que elegiste se utilizará en este campo de selección múltiple para  identificar qué fila estás seleccionando de la tabla externa. En el siguiente ejemplo, los valores de selección múltiple para el campo Unión de tablas Experiencia son los valores disponibles en la columna Nombre de la tabla de HubDB externa. 

hubdb_foreign_id_ui

Nota: es seguro editar el campo Seleccionar columna de tu columna ID externo y de una manera simple se actualizarán los valores de la columna que se mostrarán en la interfaz de usuario de HubDB.

3. Renderiza los datos de tu tabla de HubDB unida

Se puede acceder a todos los datos de filas de una tabla externa a través de HubL para la representación, no solo al campo Seleccionar columna. Se puede acceder a los datos de filas externas de HubDB mediante un bucle anidado for, que recorre todas las filas externas asociadas con una fila individual.

HubL
{% for row in hubdb_table_rows(tableId, filterQuery) %}
  the name for row {{ row.hs_id }} is {{ row.name }}
  {% for foreign_row in row.foreign_table %}
  	the name for foreign row {{ foreign_row.hs_id }} is {{ foreign_row.name }}
  {% endfor %}
{% endfor %}

Acceder a los datos de HubDB mediante HubL

Con HubL, puedes extraer datos de HubDB para usarlos como contenido estructurado en páginas del sitio web. A continuación, obtén más información sobre cómo recuperar datos de tablas, filas y columnas con HubL.

Nota: los datos redactados de la tabla de HubDB aparecerán en el editor de páginas y en las vistas previas en vivo, pero solo aparecerá el contenido publicado de HubDB en la página activa. Si ves que en el editor o en la vista previa aparecen datos de la tabla que no aparecen en la página activa, confirma que la tabla se ha publicado desde que se agregaron esos datos de la tabla.

Obtención de filas

Para listar las filas de una tabla, utiliza la función de Hubl Hubdb_table_rows(). Puedes acceder a una tabla por su ID o por su nombre. Se recomienda hacer referencia a una tabla de HubDB por su nombre, ya que esto puede ayudar a la portabilidad del código entre las cuentas de HubSpot. El nombre de la tabla inmutable se establece cuando se crea una nueva tabla y se puede encontrar en cualquier momento seleccionando Acciones > Administrar configuración dentro del editor de tablas. El ID de una tabla se puede encontrar en la barra de direcciones del editor de tablas o en el panel de tablas de HubDB bajo la columna ID

Captura de pantalla del modal de creación de tablas

A continuación se muestra un ejemplo de uso de hubdb_table_rows() para obtener datos.

{% for row in hubdb_table_rows(<tableId or name>, <filterQuery>) %} the value for row {{ row.hs_id }} is {{ row.<column name> }} {% endfor %}

Nota: por opción predeterminada, el número máximo de filas devueltas es 1.000. Para recuperar más filas, especifica un limit en la consulta de función. Por ejemplo:

hudb_table_rows (12345, "random()&limit=1500").

<filterQuery> utiliza la misma sintaxis que la API HTTP. Por ejemplo hubdb_table_rows(123, "employees__gt=10&orderBy=count") devolvería una lista de filas en las que la columna "employees" es mayor que 10, ordenadas por la columna "count". La lista completa de parámetros opcionales <filterQuery> se puede encontrar aquí.

En lugar de utilizar varias consultas de filas con diferentes parámetros <filterQuery>, se debe hacer una consulta y utilizar los filtros selectattr() o rejectattr() para filtrar las filas:

{% set all_cars = hubdb_table_rows(<tableId or name>) %} {% set cars_with_windows = all_cars|selectattr('windows') %} {% set teslas = all_cars|selectattr('make','equalto','tesla') %}

Para obtener una sola fila, utiliza la función de Hubl Hubdb_table_row().

{% set row = hubdb_table_row(<tableId or name>, <rowId>) %} the value for {{ row.hs_id }} is {{ row.<column name> }}

Los nombres de las columnas incorporadas y personalizadas no distinguen entre mayúsculas y minúsculas. HS_ID funcionará igual que hs_id.

Atributos de las filas

Use this table to describe parameters / fields
AtributoDescription
row.hs_id

El identificador único global de esta fila.

row.hs_path

Cuando se utilizan páginas dinámicas, esta cadena es el valor de la columna Page Path y el último segmento de la ruta de la url.

row.hs_name

Cuando se utilizan páginas dinámicas, esta cadena es el valor de la columna Título de la página para la fila.

row.hs_created_at

Marca de tiempo Unix de cuándo la fila fue creada.

row.hs_child_table_id

Cuando se utilizan páginas dinámicas, este es el ID de la otra tabla que está poblando los datos para la fila.

row.column_name

Obtén el valor de la columna personalizada por el nombre de la columna.

row["column name"]

Obtén el valor de la columna personalizada por el nombre de la columna.

Obtener los metadatos de una tabla

Para obtener los metadatos de una tabla, incluyendo su nombre, columnas, última actualización, etc., utiliza la función hubdb_table().

{% set table_info = hubdb_table(<tableId or name>) %}

Atributos de la tabla

Los atributos enumerados a continuación hacen referencia a la variable a la que se asignó hubdb_table() en el código anterior. Tu variable puede ser diferente.
Nota: se recomienda asignar esto a una variable para facilitar su uso. Si no quieres hacerlo, puedes utilizar
{{ hubdb_table(<tableId>).attribute }}

Use this table to describe parameters / fields
AtributoDescription
table_info.id

El ID de la tabla.

table_info.name

El nombre de la tabla.

table_info.columns

Lista de información de las columnas. Puedes utilizar un bucle for para iterar a través de la información disponible en este atributo.

table_info.created_at

Marca de tiempo de cuándo la tabla fue creada por primera vez.

table_info.published_at

Marca de tiempo de cuándo se publicó esta tabla.

table_info.updated_at

Marca de tiempo de cuando esta tabla fue actualizada por última vez.

table_info.row_count

El número de filas de la tabla.

Obtener los metadatos de una columna

{% set table_info = hubdb_table_column(<tableId or name>, <columnId or column name>) %}

Para obtener información sobre una columna de la tabla, como su etiqueta, tipo y opciones, La utiliza la función hubdb_table_column()

Atributos de las columnas

Los atributos enumerados a continuación hacen referencia a la variable que se asignó hubdb_table_column() en el código anterior. Tu variable puede ser diferente.
Nota: se recomienda asignar esto a una variable para facilitar su uso. Si no quieres hacerlo, puedes utilizar
{{ hubdb_table_column(<tableId>,<columnId or column name>).attribute }}

Use this table to describe parameters / fields
AtributoDescription
table_info.id

El ID de la columna.

table_info.name

El nombre de la columna.

table_info.label

La etiqueta que se utilizará para la columna.

table_info.type

Tipo de esta columna.

table_info.options

Para el tipo de columna select, se trata de un mapa de optionId para información de option .

table_info.foreignIds

Para los tipos de columna foreignId, una lista de foreignIds (con propiedades de id y nombre ).

Métodos de columna

Use this table to describe parameters / fields
MétodoDescription
getOptionByName("<option name")

Para los tipos de columna select, obtén la información de la opción por el nombre de las opciones.

Columnas de texto enriquecido

El tipo de columna richtext funciona de forma similar al campo de texto enriquecido que se ve en los módulos.

Los datos se almacenan como HTML, y la interfaz de usuario de HubDB proporciona una interfaz de edición de texto. Sin embargo, al editar una tabla de HubDB a través de la interfaz de usuario de HubSpot, no puedes editar el código fuente directamente. Esto previene situaciones en las que un usuario no técnico pueda introducir un HTML no válido, evitando problemas involuntarios con la apariencia o funcionalidad de tu sitio. Para situaciones en las que necesites un código de inserción o más HTML personalizado, puedes utilizar la función de inserción en el editor de texto enriquecido para colocar tu código personalizado. 


¿Te resultó útil este artículo?
Con este formulario puedes enviar tu opinión sobre nuestros documentos para desarrolladores. Si tienes comentarios sobre el producto de HubSpot, puedes enviarlos al Foro de ideas.