HubDB

Last updated:
APPLICABLE PRODUCTS
  • Marketing Hub
    • Enterprise
  • CMS 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:

Limites técnicos do HubDB

Além dos limites gerais da API da HubSpot, 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.

Configurações da tabela HubDB (somente para CMS Hub Professional e Enterprise)

Você pode gerenciar suas configurações das tabelas HubDB no HubSpot, clicando em Ações e, em seguida, em Gerenciar configurações. As seguintes configurações estão disponíveis:

  • Permitir o acesso à API pública: por padrão, os dados da tabela só podem ser visualizados no aplicativo ou em chamadas de API autenticadas. Ative essa configuração para habilitar chamadas de API não autenticadas para consultar os dados da tabela. 
  • Ativar a criação de páginas dinâmicas usando dados de linha: ative essa configuração para permitir a criação de páginas dinâmicas usando dados do HubDB. Ao ativar essa opção, você pode acessar as seguintes opções adicionais:
    • Use os menus suspensos para selecionar quais colunas preencherão as páginas dinâmicas com dados de metadescrição, imagem em destaque e URL canônicos. Para novas tabelas, você precisará criar novas colunas para conter esses dados.
      • Metadescrição: deve ser uma coluna de tipo de texto.
      • Imagem em destaque: deve ser uma coluna de tipo de imagem.
      • URL canônico: deve ser uma coluna de tipo de URL.
    • Para fazer referência a outras tabelas HubDB nesta tabela, marque a caixa de seleção Permitir uso de tabelas secundárias. Você também pode selecionar a configuração Criar automaticamente páginas de listagem para tabelas secundárias para permitir que o HubSpot crie automaticamente páginas de listagem intermediárias. Saiba mais sobre como criar páginas dinâmicas multiníveis com o HubDB.

manage-hubdb-table-setting

Observação: uma tabela principal não pode fazer referência a uma tabela secundária que também faz referência à tabela principal. Isso criará um loop que resultará em um erro ao tentar selecionar a tabela secundária dentro da tabela principal.

Arquitetura do HubDB

Tabelas

Uma tabela é um arranjo bidimensional de linhas e colunas. Quando uma tabela é criada, ela recebe um ID global exclusivo que pode ser usado para identificá-la. 

Linhas

As linhas são fatias horizontais de uma tabela. Todos os valores em uma linha estão relacionados, geralmente a um único identificador principal. Em um aplicativo de planilha, as linhas são representadas por números, começando com 1. Cada linha da tabela recebe um ID global exclusivo na criação. 

Colunas

As colunas são fatias verticais de uma tabela. Cada coluna tem um tipo. Em um aplicativo de planilha, elas são representadas por colunas alfabéticas como A, B, C etc. Há dois tipos de colunas da tabela:

Cada linha em uma tabela tem um par de colunas integradas:

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.

As tabelas podem ter quantas colunas personalizadas você desejar. Elas podem ser texto, rich text, números, moeda, datas, horas, imagens, vídeos, seleções ou locais (latitude e longitude). 

Quando uma coluna é criada, ela recebe um ID numérico exclusivo para a tabela, começando no valor 1. Os IDs das colunas estão aumentando, mas não necessariamente serão sequenciais. Os IDs de coluna não podem ser reutilizados, portanto, se uma tabela tiver 2 colunas, 1 e 2, e a 2ª coluna for excluída, a próxima coluna criada terá um ID de 3.

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 nulo é equivalente a excluir o seu valor.

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.

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(�).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(�,�).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..