HubDB

Last updated:
APPLICABLE PRODUCTS
  • Marketing Hub
    • Enterprise
  • CMS 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 HubDB en función de tus necesidades.

Se puede acceder a las tablas de HubDB tanto dentro de HubSpot como a través de la API de HubDB. Por ejemplo, podrías utilizar una tabla de HubDB para almacenar la información de un mecanismo externo para recuperarla posteriormente.

hubdb-table-example0Los datos de HubDB se pueden recuperar de varias maneras, dependiendo de tu caso de 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 HubL de HubSpot para introducir datos en el CMS.
  • Utilizar la API de HubDB con funciones sin servidor para ofrecer una experiencia de aplicación web interactiva.

Nota: si tienes una cuenta de Marketing Hub Enterprise, puedes utilizar HubDB para renderizar el contenido en los correos electrónicos de marketing. Sin embargo, no puedes utilizar las propiedades de los contactos para filtrar las tablas de HubDB en los correos electrónicos. 

Para utilizar los datos de HubDB en las páginas, necesitas CMS Hub Pro o Enterprise.

Acceso a HubDB

Hay dos tipos de acceso que puedes asignar a un usuario para que pueda hacer uso de HubDB. Ambos ajustes se encuentran dentro del área de permisos de un usuario. Para asignar el acceso, ve a Configuración > Usuarios y equipos y coloca el cursor sobre un usuario. Luego, elige "Editar" en el menú de acciones.

Limitaciones técnicas de HubDB

  • 10000 filas por tabla de HubDB.
  • 1000 tablas de HubDB por cuenta.
  • 10 escaneos de tablas por página CMS. Definido como una única llamada a hubdb_table_rows()
  • Límites generales de la API de HubSpot
  • Los HubDB con páginas dinámicas activadas deben tener rutas en minúsculas. Esto hace que las URL de estas páginas no distingan entre mayúsculas y minúsculas.

Creación de tu primer contacto

Abre la Aplicación del editor de HubDB y haz clic en el botón "Crear tabla" (o utiliza el punto de terminación de las API de crear tabla).
Nota: 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 API hasta que no se publique la tabla.

Crea una nueva tabla HubDB haciendo clic en el botón Crear tabla.

Establece la configuración de los permisos de la tabla

Puedes gestionar la configuración de tus tablas de HubDB haciendo clic en "Acciones" y luego en "Administrar configuración". Están disponibles los siguientes ajustes:

  • Permitir el acceso público a la API: [Activado por opción predeterminada] cuando esta opción está desactivada, el contenido de tu tabla sólo puede verse en la aplicación o con API autentificadas. Cuando se activa, tu tabla puede ser consultada por API no autenticadas.
  • Activa la creación de páginas dinámicas utilizando datos de filas. Con las páginas dinámicas, HubDB también te permite crear una página para cada fila de tu tabla de datos. Al activar esta opción, podrás seleccionar las columnas de tu tabla HubDB que servirán como fuente para tu Metadescripción, Imagen destacada y URL canónica.
Cómo acceder al área de configuración de tu tabla.

Arquitectura de HubDB

Tablas

Una tabla es una disposición bidimensional de filas y columnas. Cuando se crea una tabla, se le asigna un ID único global que puede utilizarse para identificarla. 

Filas

Las filas son cortes horizontales de una tabla. Todos los valores de una fila están relacionados, normalmente con un único identificador primario. 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 global en el momento de su creación. 

Columnas

Las columnas son cortes verticales de una tabla. Cada columna tiene un tipo. En una aplicación de hoja de cálculo, se representan mediante columnas alfabéticas como A, B, C, etc. Hay dos tipos de columnas de tabla:

Columnas incorporadas

Cada fila de una tabla tiene un par de columnas incorporadas:

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.

Columnas personalizadas

Nota: A partir del 1 de octubre de 2020, las columnas del área de texto enriquecido en HubDB están limitadas a 65000 caracteres. Para obtener más información, consulta nuestro registro de cambios con respecto a este cambio.

Las tablas pueden tener tantas columnas personalizadas como desees. Pueden ser texto, texto enriquecido, números, moneda, fechas, horas, imágenes, videos, selecciones o ubicaciones (latitud y longitud). 

Cuando se crea una columna, se le asigna un identificador numérico único en la tabla, empezando por el valor 1. Los ID de las columnas son crecientes, pero no necesariamente secuenciales. Los ID de las columnas no se pueden reutilizar, por lo que si una tabla tiene 2 columnas, 1 y 2, y la segunda columna se elimina, la siguiente columna creada tendrá el ID 3.

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 como nulo equivale a eliminar el valor de la celda.

Acceder a los datos de HubDB mediante HubL

Obtención de filas

Puedes consultar tablas desde HubL e iterar sobre los resultados. Para listar las filas de una tabla, utiliza la función 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 %}

<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í.

NOTA: 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 información de la tabla

Para obtener información sobre 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 información sobre la 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 opción .

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 almacenados son HTML. La interfaz de HubDB proporciona una interfaz de edición de texto. Sin embargo, una diferencia notable es que la interfaz de usuario de HubDB no permite la edición directa del código fuente para los campos de texto enriquecido. 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. 

Uso de las API REST de HubDB

Si quieres administrar tus datos de HubDB de forma externa, o utilizando funciones sin servidor, puedes utilizar nuestrasAPI REST que se encuentran aquí


¿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.