HubDB

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

HubDB est un outil qui vous permet de créer des tableaux pour stocker des données dans des lignes, des colonnes et des cellules, un peu comme dans une feuille de calcul. Vous pouvez personnaliser les colonnes, les lignes et les autres paramètres d'un tableau HubDB en fonction de vos besoins. Par exemple, vous pouvez utiliser un tableau HubDB pour :

  • stocker les commentaires d'un mécanisme externe et les récupérer ultérieurement ;
  • stocker des données structurées que vous pouvez utiliser pour créer des pages CMS dynamiques (CMS Hub Pro et Entreprise uniquement).

hubdb-table-example0Les tableaux HubDB sont accessibles à la fois dans HubSpot et via l'API HubDB, et vous pouvez récupérer les données d'un tableau de plusieurs manières, en fonction de votre cas d'utilisation. Pour obtenir des données d'un tableau HubDB, vous pouvez :

  • interroger les données en externe via l'API HubDB ;
  • utiliser les balises HubL de HubSpot pour transférer les données dans le CMS en tant que contenu structuré ;
  • utiliser l'API HubDB avec des fonctions sans serveur pour offrir une expérience d'application web interactive.

Remarque :

Limites techniques HubDB

En plus des limites générales de l'API HubSpot, veuillez tenir compte des limites techniques suivantes de HubDB :

  • Limites de compte :
    • 1 000 tableaux HubDB par compte
    • 1 million de lignes HubDB par compte
  • Limites de tableau :
    • 250 colonnes par tableau
    • 10 000 lignes par tableau HubDB
    • 700 caractères par nom de tableau
    • 700 caractères par libellé de tableau
  • Limites de colonne :
    • 65 000 caractères par colonne de texte enrichi
    • 10 000 caractères par colonne de texte
    • 700 caractères par nom de colonne
    • 700 caractères par libellé
    • 300 caractères par description de colonne
    • 700 caractères par option sélectionnable dans une colonne
  • Limites de page :
    • 10 appels à la fonction HubL hubdb_table_rows par page CMS
    • 10 pages dynamiques utilisant le même tableau HubDB
    • Les HubDB avec des pages dynamiques activées doivent avoir des chemins en minuscules afin que les URL de ces pages puissent être insensibles à la casse.

Créer un tableau HubDB

Vous pouvez créer des tableaux HubDB via l'interface utilisateur de HubSpot ou l'API HubDB.

Tous les nouveaux tableaux créés ont le statut de brouillon. Ils ne peuvent pas être utilisés pour sortir des données via HubL ou l'API tant que vous n'avez pas publié le tableau.

Configurer les paramètres de votre tableau HubDB (CMS Hub Pro et Entreprise uniquement)

Vous pouvez gérer les paramètres de vos tableaux HubDB dans HubSpot en cliquant sur Actions, puis Gérer les paramètres. Les paramètres suivants sont disponibles :

  • Autoriser l'accès public à l'API : par défaut, les données du tableau ne peuvent être consultées que dans l'application ou dans les appels d'API authentifiés. Activez ce paramètre pour activer les appels d'API non authentifiés pour interroger les données du tableau. 
  • Activez la création de pages dynamiques à l'aide de données de lignes : activez ce paramètre pour permettre la création de pages dynamiques à l'aide de données HubDB. Si vous activez cette option, vous pourrez accéder aux options supplémentaires suivantes :
    • Utilisez les menus déroulants pour sélectionner les colonnes qui rempliront les pages dynamiques avec une méta-description, une image en vignette et des données d'URL canoniques. Pour les nouveaux tableaux, vous devrez créer de nouvelles colonnes pour contenir ces données.
      • Méta-description : doit être une colonne de type texte.
      • Image en vignette : doit être une colonne de type image.
      • URL canonique : doit être une colonne de type URL.
    • Pour référencer d'autres tableaux HubDB dans ce tableau, sélectionnez la case à cocher Autorisez l'utilisation de tableaux enfants. Vous pouvez également sélectionner le paramètre Créer automatiquement des pages de liste pour les tableaux enfants pour permettre à HubSpot de créer des pages de listing intermédiaires. Découvrez-en davantage sur la création de pages dynamiques à plusieurs niveaux avec HubDB.

manage-hubdb-table-setting

Remarque : Un tableau parent ne peut pas faire référence à un tableau enfant qui fait également référence au tableau parent. Cela créera une boucle qui se traduira par une erreur lors de la sélection du tableau enfant dans le tableau parent.

Architecture HubDB

Tableaux

Un tableau est un arrangement bidimensionnel de lignes et de colonnes. Lorsqu'un tableau est créé, il reçoit un identifiant unique qui peut être utilisé pour l'identifier. 

Lignes

Les rangées sont des tranches horizontales d'un tableau. Toutes les valeurs d'une ligne sont liées, généralement à un identifiant principal unique. Dans une application de feuille de calcul, les lignes sont représentées par des chiffres, en commençant par 1. Chaque ligne du tableau se voit attribuer un identifiant unique lors de sa création. 

Colonnes

Les colonnes sont des tranches verticales d'un tableau. Chaque colonne a un type. Dans une feuille de calcul, elles sont représentées par des colonnes alphabétiques comme A, B, C, etc. Il existe deux types de colonnes :

Chaque ligne d'un tableau comporte quelques colonnes intégrées :

Use this table to describe parameters / fields
ColonneDescription
hs_id

Un ID numérique unique, attribué automatiquement pour cette ligne.

hs_created_at

Un horodatage de la date de création de cette ligne.

hs_path

Avec des pages dynamiques, cette chaîne est le dernier segment du chemin d'accès de l'URL de la page.

hs_name

Avec des pages dynamiques, il s'agit du titre de la page.

Remarque : Les colonnes de la zone de texte enrichi dans HubDB sont limitées à 65 000 caractères. Pour en savoir plus, consultez l'annonce de changement.

Les tableaux peuvent comporter autant de colonnes personnalisées que vous le souhaitez. Il peut s'agir de texte, de texte enrichi, de chiffres, de devises, de dates, d'heures, d'images, de vidéos, de sélections ou de lieux (latitude et longitude). 

Lorsqu'une colonne est créée, elle reçoit un identifiant numérique unique pour le tableau, qui commence à la valeur 1. Les ID des colonnes sont croissants, mais pas nécessairement séquentiels. Les ID de colonne ne peuvent pas être réutilisés, donc si un tableau compte deux colonnes, 1 et 2, et que la deuxième colonne est supprimée, la prochaine colonne créée aura l'ID 3.

Cellules

Les cellules stockent les valeurs à l'intersection d'une ligne et d'une colonne. Les cellules peuvent être lues ou mises à jour individuellement ou en tant que partie d'une ligne. Définir la valeur d'une cellule sur null équivaut à supprimer la valeur de la cellule.

Accéder aux données HubDB via HubL

En utilisant HubL, vous pouvez extraire des données HubDB pour les utiliser en tant que contenu structuré sur les pages de site web. Découvrez comment récupérer des données de tableau, de ligne et de colonne à l'aide de HubL.

Obtenir des lignes

Pour lister les lignes d'un tableau, utilisez la fonction HubL hubdb_table_rows(). Vous pouvez accéder à un tableau via son ID ou son nom. Il est recommandé de référencer un tableau HubDB par son nom, car cela peut faciliter la portabilité du code entre les comptes HubSpot. Le nom de tableau immuable est défini lors de la création d'un nouveau tableau et peut être retrouvé à tout moment en sélectionnant Actions > Gérer les paramètres dans l'éditeur de tableau. L'ID d'un tableau peut être trouvé dans la barre d'adresse de l'éditeur de tableau ou dans le tableau de bord des tableaux HubDB sous la colonne ID

Capture d'écran de la fenêtre modale de création de tableau

Voici un exemple d'utilisation de hubdb_table_rows() pour récupérer des données.

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

Remarque : Par défaut, 1 000 lignes au maximum sont renvoyées. Pour récupérer plus de lignes, spécifiez une limit dans la demande de fonction. Par exemple :

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

<filterQuery> utilise la même syntaxe que l'API HTTP. Par exemple, hubdb_table_rows(123, "employees__gt=10&orderBy=count") renvoie une liste de lignes où la colonne « employees » est supérieure à 10, ordonnée selon la colonne « count ». Une liste complète des paramètres facultatifs <filterQuery> est disponible ici.

Au lieu d'utiliser plusieurs requêtes de lignes avec différents paramètres <filterQuery>, vous devez effectuer une seule requête et utiliser les filtres selectattr() ou rejectattr() pour filtrer vos lignes :

{% 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') %}

Pour obtenir une seule ligne, utilisez la fonction HubL hubdb_table_row().

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

Les noms des colonnes intégrées et personnalisées sont insensibles à la casse. HS_ID fonctionnera de la même manière que hs_id.

Attributs des lignes

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

L'identifiant unique au niveau mondial pour cette ligne.

row.hs_path

Lorsque vous utilisez des pages dynamiques, cette chaîne est la valeur de la colonne Chemin de page et le dernier segment du chemin d'accès de l'URL.

row.hs_name

Lorsque vous utilisez des pages dynamiques, cette chaîne est la valeur de la colonne Titre de la page pour la ligne.

row.hs_created_at

Horodatage Unix de la date de création de la ligne.

row.hs_child_table_id

Lorsque vous utilisez des pages dynamiques, il s'agit de l'ID de l'autre tableau qui alimente les données de la ligne.

row.column_name

Obtenez la valeur de la colonne personnalisée par le nom de la colonne.

row["column name"]

Obtenez la valeur de la colonne personnalisée par le nom de la colonne.

Obtention des métadonnées du tableau

Pour obtenir les métadonnées d'un tableau, notamment son nom, ses colonnes, sa dernière mise à jour, etc., utilisez la fonction hubdb_table().

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

Attributs de tableau

Les attributs listés ci-dessous sont en référence à la variable à laquelle la fonction hubdb_table() a été attribuée dans le code ci-dessus. Votre variable peut être différente.
Remarque : Il est recommandé de l'attribuer à une variable pour une utilisation plus facile. Si vous ne voulez pas faire cela, vous pouvez utiliser
{{ hubdb_table(<tableId>).attribute }}

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

L'ID du tableau.

table_info.name

Le nom du tableau.

table_info.columns

Une liste d'informations sur les colonnes. Vous pouvez utiliser une boucle for pour itérer à travers les informations disponibles dans cet attribut.

table_info.created_at

L'horodatage de la date de création de la table.

table_info.published_at

L'horodatage de la date de publication de ce tableau.

table_info.updated_at

L'horodatage de la dernière mise à jour de ce tableau.

table_info.row_count

Le nombre de lignes dans le tableau.

Obtenir des métadonnées de colonne

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

La fonction hubdb_table_column peut être utilisée pour obtenir des informations sur une colonne du tableau telles que son libellé, son type et ses options.

Attributs de colonne

Les attributs listés ci-dessous sont en référence à la variable à laquelle la fonction hubdb_table_column() a été attribuée dans le code ci-dessus. Votre variable peut être différente.
Remarque : Il est recommandé de l'attribuer à une variable pour une utilisation plus facile. Si vous ne voulez pas faire cela, vous pouvez utiliser
{{ hubdb_table_column(<tableId>,<columnId or column name>).attribute }}

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

L'ID de la colonne.

table_info.name

Le nom de la colonne.

table_info.label

Le libellé à utiliser pour la colonne.

table_info.type

Le type de cette colonne.

table_info.options

Pour les colonnes de type select, il s'agit d'un mappage de optionId vers les informations option.

table_info.foreignIds

Pour les colonnes de type foreignId, une liste de foreignIds (avec les propriétés id et name).

Méthodes de colonne

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

Pour certains types de colonnes, vous pouvez obtenir des informations sur les options par leur nom.

Colonnes de texte enrichi

Le type de colonne richtext fonctionne de la même manière que le champ de texte enrichi pour les modules.

Les données sont stockées en HTML et l'interface utilisateur HubDB fournit une interface d'édition de texte. Cependant, lors de la modification d'un tableau HubDB via l'interface utilisateur de HubSpot, vous ne pouvez pas modifier directement le code source. Cela permet d'éviter les situations où un utilisateur non expert pourrait saisir un code HTML non valide, ce qui élimine tout problème indésirable d'apparence ou de fonctionnalité de votre site. Pour les situations où vous avez besoin d'un code d'intégration ou d'un code HTML plus personnalisé, vous pouvez utiliser la fonction d'intégration de l'éditeur de texte enrichi pour placer votre code personnalisé. 


Cet article vous a-t-il été utile ?
Ce formulaire est destiné à recueillir les avis sur la documentation pour les développeurs. Si vous souhaitez faire part de votre avis sur les produits HubSpot, veuillez le partager sur le forum des idéesde la communauté.