HubDB

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

O HubDB é uma ferramenta que permite criar tabelas para armazenar dados em linhas, colunas e células, muito parecido com uma planilha. Você pode personalizar as colunas, linhas e outras configurações de uma tabela HubDB de acordo com as suas necessidades. Por exemplo, você pode usar uma tabela HubDB para:

  • Armazenar feedback de um mecanismo externo para recuperar em um momento posterior.
  • Armazenar dados estruturados que podem ser usados para criar páginas dinâmicas do CMS (somente para CMS Hub Professional e Enterprise).
  • Armazenar dados para usar em um e-mail programável (somente para Marketing Hub Enterprise).

hubdb-table-example0As tabelas HubDB podem ser acessadas no HubSpot e na API do HubDB, e você pode recuperar os dados de uma tabela de várias maneiras, dependendo do caso de uso. Para obter dados de uma tabela HubDB, você pode: 

  • Consultar os dados externamente por meio da API do HubDB. 
  • Usar as tags de marcação HubL do HubSpot para extrair os dados para o CMS como conteúdo estruturado.
  • Usar a API do HubDB com funções sem servidor para fornecer uma experiência interativa do aplicativo da Web.

Observação:

Arquitetura do HubDB

Uma tabela HubDB consiste em linhas, colunas e células, semelhantes a uma planilha.

  • Tabelas: uma tabela é um arranjo bidimensional de linhas e colunas. Quando uma tabela é criada, ela recebe um ID globalmente exclusivo que você pode usar quando precisar especificar uma tabela no HubL ou por meio da API.
  • Linhas: as linhas são fatias horizontais de uma tabela. Em um aplicativo de planilha, as linhas são representadas por números, começando com 1. Cada linha da tabela recebe um ID exclusivo na criação. Cada linha de uma tabela vem com algumas colunas por padrão:
Use this table to describe parameters / fields
ColunaDescription
hs_id

Um ID numérico globalmente exclusivo e atribuído automaticamente para esta linha.

hs_created_at

Um registro de data e hora de quando esta linha foi criada.

hs_path

Em páginas dinâmicas, esta string será o último segmento do caminho do URL para a página.

hs_name

Em páginas dinâmicas, este é o título da página.

Observação: as colunas de área de rich text no HubDB são limitadas a 65.000 caracteres. Para obter mais informações, consulte o anúncio de log de alterações.

  • Colunas: as colunas são fatias verticais de uma tabela. Cada coluna tem um tipo, que é usado para armazenar tipos de dados. Uma tabela pode incluir quantas colunas você quiser, e cada uma recebe um ID globalmente exclusivo na criação.  O ID da coluna começa com um valor de 1, mas este número não precisa ser sequencial e não pode ser reutilizado. Os tipos de coluna incluem: 
    • Texto
    • Rich text
    • URL
    • Imagem
    • Selecionar
    • Seleção múltipla
    • Data
    • Data e hora
    • Número
    • Moeda
    • Caixa de seleção
    • Localização (longitude, latitude)
    • ID externo
    • Vídeo
  • Células: as células armazenam os valores da interseção entre uma linha e uma coluna. As células podem ser lidas ou atualizadas individualmente ou como parte de uma linha. Definir o valor de uma célula como null é equivalente a excluir o seu valor.

Limites técnicos do HubDB

Observe os seguintes limites técnicos do HubDB:

  • Limites da conta:
    • 1.000 tabelas do HubDB por conta.
    • 1 milhão de linhas do HubDB por conta
  • Limites da tabela:
    • 250 colunas por tabela.
    • 10.000 linhas por tabela do HubDB
    • 700 caracteres por nome de tabela.
    • 700 caracteres por rótulo de tabela.
  • Limites da coluna:
    • 65.000 caracteres por coluna de rich text.
    • 10.000 caracteres em cada coluna de texto.
    • 700 caracteres por nome de coluna.
    • 700 caracteres por rótulo.
    • 300 caracteres por descrição de coluna.
    • 700 caracteres por opção selecionável dentro de uma coluna.
  • Limites de página:
    • 10 chamadas para a função do HubL hubdb_table_rows por página do CMS.
    • 10 páginas dinâmicas usando a mesma tabela HubDB.
    • HubDBs com páginas dinâmicas ativadas devem ter caminhos em minúsculas para que os URLs dessas páginas não façam distinção entre maiúsculas e minúsculas.

Criar uma tabela HubDB

Você pode criar tabelas HubDB por meio da interface do usuário do HubSpot ou da API do HubDB.

Todas as novas tabelas criadas são definidas com um status de rascunho. Elas não podem ser usadas para gerar dados via HubL ou API até que você publique a tabela. Ao criar uma tabela, você também pode gerenciar as configurações, como permitir o acesso público à API e se os seus dados serão utilizados para criar páginas dinâmicas.

Unir várias tabelas HubDB

As tabelas HubDB podem ser unidas usando o tipo de coluna ID externo, que permite renderizar os dados combinados de várias tabelas. Isso pode ser útil quando alguns dados são compartilhados entre vários repositórios de dados, permitindo uma tabela de dados centralizada e acessível em vários outros repositórios de dados de tabela HubDB.

Abaixo, saiba como unir várias tabelas HubDB.

1. Adicionar uma coluna de ID externo à tabela principal

  • Na sua conta da HubSpot, vá para Marketing > Arquivos e modelos > HubDB.
  • Localize a tabela à qual deseja adicionar uma associação, clique no menu suspenso Ações e selecione Editar.
  • No canto superior direito, clique em Editar e, em seguida, selecione Adicionar coluna.
  • Insira um rótulo e um nome para a nova coluna.
  • Clique no menu suspenso Tipo de coluna e selecione ID externo.
  • Clique no menu suspenso Selecionar tabela e selecione a tabela que pretende associar à tabela atual.
  • Clique no menu suspenso Selecionar coluna e, em seguida, selecione a coluna da tabela selecionada anteriormente para que fique visível no campo ID externo.
  • Clique em Adicionar coluna.

Observação: o valor escolhido em Selecionar coluna determina apenas o valor da coluna que você vê no campo ID externo na interface de usuário do HubDB. Todas as colunas da tabela estão disponíveis ao renderizar as tabelas HubDB associadas.

hubdb_foreign_id

2. Adicionar linhas de tabela externa às linhas da sua tabela

Agora que você tem uma coluna ID externo, verá um campo de coluna de seleção múltipla em cada linha da sua tabela HubDB, o que lhe permitirá selecionar as linhas de uma tabela externo.

O campo Selecionar coluna será utilizado neste campo de seleção múltipla para identificar qual linha você está selecionando na tabela externa. No exemplo abaixo, os valores de seleção múltipla para o campo Associação avançada de tabela são os valores disponíveis na coluna Nome da tabela HubDB externa. 

hubdb_foreign_id_ui

Observação: é seguro editar o campo Selecionar coluna da sua coluna de ID externo; isso simplesmente atualizará os valores da coluna que serão exibidos na interface do usuário do HubDB.

3. Renderizar os dados da tabela HubDB associada

Todos os dados de linha de uma tabela externa podem ser acessados via HubL para renderização, não apenas o campo Selecionar coluna. Os dados da linha externa do HubDB podem ser acessados usando um loop for aninhado, percorrendo todas as linhas externas associadas a uma linha 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 %}

Acessar dados do HubDB usando o HubL

Com o HubL, você pode extrair dados do HubDB para usar como conteúdo estruturado em páginas do site. Abaixo, saiba mais sobre como recuperar dados de tabela, linha e coluna usando o HubL.

Observação: os dados da tabela HubDB definidos serão exibidos no editor de páginas e nas visualizações em tempo real, mas apenas o conteúdo HubDB publicado aparecerá na página ativa. Se os dados da tabela forem exibidos no editor ou na visualização e não na página ativa, confirme se a tabela foi publicada depois de adicionar esses dados.

Obter linhas

Para listar linhas de uma tabela, use a função do HubL hubdb_table_rows(). Você pode acessar uma tabela pelo seu ID ou nome. É recomendável fazer referência a uma tabela HubDB pelo nome, pois isso pode ajudar na portabilidade de códigos em contas da HubSpot. O nome da tabela imutável é definido ao criar uma nova tabela e pode ser encontrado a qualquer momento, selecionando Ações > Gerenciar configurações no editor da tabela. O ID de uma tabela pode ser encontrado na barra de endereço do editor da tabela ou no painel de tabelas do HubDB, na coluna ID

Captura de tela do modal da tabela de criação

Veja um exemplo do uso de hubdb_table_rows() para buscar dados.

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

Observação: por padrão, o número máximo de linhas retornadas é 1.000. Para recuperar mais linhas, especifique um limit na consulta de função. Por exemplo:

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

<filterQuery> usa a mesma sintaxe que a API de HTTP. Por exemplo, hubdb_table_rows(123, "employees__gt=10&orderBy=count") retornaria uma lista de linhas, onde a coluna "funcionários" é superior a 10, ordenada pela coluna "contagem". Uma lista completa de <filterQuery> parâmetros opcionais pode ser encontrada aqui.

Em vez de usar várias consultas de linha com diferentes parâmetros <filterQuery>, você deve fazer uma consulta e usar os filtros selectattr()  or rejectattr() para filtrar suas linhas:

{% 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 obter uma única linha, use a função do HubL hubdb_table_row().

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

Nomes de colunas integradas e personalizadas não diferenciam letras maiúsculas de minúsculas. HS_ID funcionará da mesma forma que hs_id.

Atributos da linha

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

O ID exclusivo global desta linha.

row.hs_path

Ao usar páginas dinâmicas, esta string será o valor da coluna Caminho da página e o último segmento do caminho do URL.

row.hs_name

Ao usar páginas dinâmicas, esta string será o valor da coluna Título da página para a linha.

row.hs_created_at

Registro de data e hora do Unix de quando a linha foi criada.

row.hs_child_table_id

Ao usar páginas dinâmicas, este será o ID da outra tabela que está preenchendo os dados da linha.

row.column_name

Obtenha o valor da coluna personalizada pelo nome da coluna.

row["column name"]

Obtenha o valor da coluna personalizada pelo nome da coluna.

Obter os metadados da tabela

Para obter os metadados de uma tabela, incluindo seu nome, colunas, última atualização etc., use a função hubdb_table().

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

Atributos da tabela

Os atributos listados abaixo são referentes à variável à qual hubdb_table() foi atribuída no código acima. Sua variável pode ser diferente.
Observação: é recomendável atribuir isso a uma variável para facilitar o uso. Se você não quiser fazer isso, pode usar
{{ hubdb_table(<tableId>).attribute }}

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

O ID da tabela.

table_info.name

O nome da tabela.

table_info.columns

Lista de informações da coluna. Você pode usar um loop "for" para iterar as informações disponíveis neste atributo.

table_info.created_at

Registro de data e hora de quando a tabela foi criada pela primeira vez.

table_info.published_at

O carimbo de data/hora em que esta tabela foi publicada.

table_info.updated_at

O carimbo de data/hora em que esta tabela foi atualizada pela última vez.

table_info.row_count

O número de linhas na tabela.

Obter metadados da coluna

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

Para ter as informações de uma coluna em uma tabela, como rótulo, tipo e opções, use a função hubdb_table_column().

Atributos da coluna

Os atributos listados abaixo são referentes à variável à qual hubdb_table_column() foi atribuída no código acima. Sua variável pode ser diferente.
Observação: é recomendável atribuir isso a uma variável para facilitar o uso. Se você não quiser fazer isso, pode usar
{{ hubdb_table_column(<tableId>,<columnId or column name>).attribute }}

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

O ID da coluna.

table_info.name

O nome da coluna.

table_info.label

O rótulo a ser utilizado para a coluna.

table_info.type

Tipo desta coluna.

table_info.options

Para selecionar o tipo de coluna, este é um mapa de optionId para as informações de option .

table_info.foreignIds

Para tipos de coluna foreignId, uma lista de foreignIds (com propriedades de id e name).

Métodos de coluna

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

Para selecionar tipos de coluna, obtenha informações de opção pelo nome das opções.

Colunas de rich text

O tipo de coluna richtext funciona de modo semelhante ao campo de rich text que você encontra para os módulos.

Os dados são armazenados como HTML e a interface de usuário do HubDB fornece uma interface de edição de texto. No entanto, ao editar uma tabela HubDB por meio da interface de usuário do HubSpot, você não pode editar o código-fonte diretamente. Isso evita situações em que um usuário não técnico pode inserir um HTML inválido, evitando problemas não intencionais com a aparência ou a funcionalidade do seu site. Para situações em que você precisa de um código incorporado ou mais HTML personalizado, é possível usar o recurso de incorporação no editor de rich text para colocar seu código personalizado. 


Este artigo foi útil?
Este formulário deve ser usado apenas para fazer comentários sobre esses artigos. Saiba como obter ajuda para usar a HubSpot..