Dernière modification : 28 août 2025
HubDB est une banque de données relationnelles, qui présente les données sous forme de lignes, de colonnes et de cellules dans un tableau, un peu comme une feuille de calcul. Les tableaux HubDB peuvent être ajoutés ou modifiés dans votre compte HubSpot, mais vous pouvez également utiliser les points de terminaison d’API documentés ici. Pour plus d’informations sur l’utilisation des données des tableaux HubDB sur votre site web ou dans les e-mails programmables, consultez la documentation du développeur du CMS Hub. Comme pour les pages de site web HubSpot, les tableaux HubDB prennent en charge les versions draft et published. Cela vous permet de mettre à jour les données du tableau, soit à des fins de test, soit pour permettre un processus d’approbation manuel, sans affecter les pages en ligne. Découvrez-en davantage sur les tableaux brouillons et les tableaux en ligne. Si un tableau est défini pour être accessible au public, vous pouvez accéder à la version publiée du tableau et des lignes sans aucune authentification en spécifiant votre ID de compte HubSpot via le paramètre de requête portalId. Si vous effectuez une migration à partir de la v2 de l’API HubDB, découvrez les modifications apportées à l’API (v3) actuelle.

Remarque:

Les points de terminaison qui prennent en charge GET prennent également en charge CORS, afin que vous puissiez accéder aux données d’un tableau côté client à l’aide de JavaScript et de votre ID de compte. D’autres méthodes et le point de terminaison Obtenir tous les tableaux nécessite une authentification et ne prend pas en charge CORS.

Limites de taux

Les requêtes d’API HubDB ont des limites de taux différentes, selon le type de demande :
  • Les demandes GET effectuées qui ne nécessitent pas d’authentification (dont les requêtes JavaScript côté client) sont limitées à 10 demandes par seconde. Ces demandes ne seront pas comptabilisées dans la limite quotidienne.
  • Toutes les autres demandes utilisant l’authentification suivent les limites standard.

Brouillons de tableaux comparés aux tableaux en ligne

Les tableaux HubDB ont à la fois des brouillons et des versions en ligne, et les versions en ligne peuvent être publiées ou non publiées. Cela vous permettra de mettre à jour les données du tableau, soit pour des aperçus de page ou des tests, soit pour permettre un processus d’approbation manuel, sans affecter les pages en ligne. Dans cette API, des points de terminaison distincts sont désignés pour les brouillons et les versions publiées d’un tableau. Par exemple, vous pouvez récupérer la version publiée d’un tableau en effectuant une demande GET au point de terminaison suivant : /cms/v3/hubdb/tables/{tableIdOrName} Aussi, pour récupérer tout contenu brouillon qui n’a pas encore été publié, vous devez ajouter /draft à la fin de l’URL : /cms/v3/hubdb/tables/{tableIdOrName}/draft Les brouillons de données peuvent être analysés puis envoyés dans HubSpot ou avec le point de terminaison /push-live. Les données provisoires peuvent également être supprimées via un point de terminaison /reset, ce qui vous permet de revenir à la version actuelle en ligne des données sans interruption.

Créer un tableau HubDB

Pour créer un tableau HubDB, effectuez une demande POST à /cms/v3/hubdb/tables. Dans le corps de la requête, spécifiez les champs obligatoires suivants :
ChampTypeDescriptionExample
nameChaîne : le nom interne du tableau. Ce nom ne peut pas être modifié une fois le tableau créé. Les noms peuvent uniquement contenir des minuscules, des chiffres et des tirets du bas et ne peuvent pas commencer par un chiffre."name": "my_table"
labelChaîne : le libellé du tableau que les utilisateurs voient lorsqu’ils modifient le tableau dans HubSpot."label":"My table"
En outre, vous pouvez spécifier les champs facultatifs suivants :
ChampTypeDescriptionExample
useForPagesBooléen : précise si le tableau peut être utilisé pour créer de pages dynamiques."useForPages": false
allowPublicAPIAccessBooléen : précise si le tableau peut être lu sans autorisation."allowPublicApiAccess": false
allowChildTablesBooléen : précise si des tableaux enfants peuvent être créés pour le tableau."allowChildTables": false
enableChildTablePagesBooléen : précise si des pages dynamiques à plusieurs niveaux doivent être créées en utilisant des tableaux enfants."enableChildTablePages": false
columnsObjet : les colonnes du tableau. Découvrez-en davantage sur les propriétés de colonne dans les sections Ajouter des colonnes de tableau.See "Add table columns" section below
Sans colonnes ajoutées pour le moment, votre demande de création pourrait ressembler à ce qui suit :
// Example request
{
  "name": "test_table",
  "label": "Test Table",
  "useForPages": false,
  "allowPublicApiAccess": false,
  "allowChildTables": true,
  "enableChildTablePages": false,
  "columns": []
}

Ajouter des colonnes de tableau

Chaque colonne d’un tableau HubDB peut être définie avec les propriétés suivantes :
ChampTypeDescriptionExample
nameChaîne : obligatoire. Le nom interne de la colonne. Ne peut pas être modifié après la création de la colonne."name": "row_name"
labelChaînefacultative. Le libellé de la colonne que les utilisateurs voient lorsqu’ils modifient le tableau dans HubSpot."label": "Row label"
typeChaîne : le type de données de la colonne. Doit être l’un des éléments suivants :
  • TEXT : un champ de texte.
  • RICHTEXT : un champ de texte qui prend en charge le formatage HTML de base. Cette option n’est pas recommandée pour le HTML brut, car elle peut avoir un impact sur la possibilité de modifier le code HTML dans HubSpot. La modification du code dans HubSpot peut également affecter la façon dont le code est affiché.
  • NUMBER : un champ numérique.
  • BOOLEAN : représenté sous la forme d’une case à cocher dans HubSpot. Utilisez 0 pour non coché et 1 pour coché.
  • DATE : stocke une date spécifique sous forme d’horodatage en millisecondes fixé à minuit UTC.
  • DATETIME : stocke une date et une heure sous forme d’horodatage en millisecondes.
  • SELECT : la colonne ne peut être définie que sur l’un des ensembles d’options. Consultez le champ options ci-dessous pour les propriétés requises.
  • MULTISELECT : la colonne peut être définie sur un ou plusieurs ensembles d’options. Voir le champ options ci-dessous pour les propriétés requises.
  • LOCATION : stocke un emplacement de latitude et de longitude.
  • IMAGE : stocke l’URL d’une image.
  • VIDEO : stocke l’ID du lecteur de la vidéo.
  • FOREIGN_ID : la colonne fera référence à une colonne d’un autre tableau HubDB. En outre, vous devez définir l’autre tableau HubDB avec les propriétés suivantes :
    • foreignTableId : l’ID de l’autre tableau HubDB.
    • foreignColumnId : l’ID de la colonne dans l’autre tableau HubDB.
  • CURRENCY : stocke le nombre comme une valeur monétaire.
  • FILE : stocke un fichier à partir du gestionnaire de fichiers. Vous devrez également inclure un champ fileType pour indiquer si le champ peut stocker tous les types de fichiers (FILE) ou seulement des types de documents tels que les PDF (DOCUMENT).
"type": "type"
optionsObjet : une liste d’options pour la sélection et la sélection multiple des colonnes. Chaque option est définie par un name avec un type égal à option."option": [{"name":"Option 1", "type":"option"}, {"name": "Option 2", "type": "option"}]
En utilisant les champs ci-dessus, votre demande de création d’un nouveau tableau HubDB pourrait ressembler à ce qui suit :
// Example request
{
  "label": "Test Table",
  "name": "test_table",
  "columns": [
    {
      "name": "text_column",
      "label": "Text Column",
      "archived": false,
      "type": "TEXT"
    },
    {
      "name": "number_column",
      "label": "Number Column",
      "archived": false,
      "type": "NUMBER"
    },
    {
      "name": "multiselect",
      "label": "Multi Select Column",
      "archived": false,
      "type": "multiselect",
      "options": [
        {
          "name": "Option 1",
          "type": "option"
        },
        {
          "name": "Option 2",
          "type": "option"
        }
      ]
    }
  ],
  "useForPages": true,
  "allowChildTables": true,
  "enableChildTablePages": false,
  "allowPublicApiAccess": false
}
Après la création d’un tableau, des ID seront attribués aux colonnes dans l’ordre croissant. Lors de la mise à jour de colonnes existantes, incluez le champ id de la colonne dans l’objet d’entrée.

Ajouter des lignes de tableau

Vous pouvez ajouter des lignes manuellement via l’API ou importer des lignes depuis un fichier CSV. Pour ajouter des lignes à un tableau HubDB, effectuez une demande POST à /cms/v3/hubdb/tables/{tableIdOrName}/rows. Pour chaque ligne du tableau, vous pouvez inclure les champs suivants :
ChampTypeDescriptionExample
valuesObjet : une liste de paires clé-valeur avec le nom de la colonne et la valeur que vous souhaitez y ajouter.

Si vous ne souhaitez pas définir de valeur spécifique pour une colonne, vous pouvez omettre le nom de la colonne dans la liste des paires clé-valeur.
"values": { "text_column": "sample text", "number_column": 76}
pathChaîne : pour les tableaux activés pour les pages dynamiques, path est le suffixe de chemin d’accès utilisé pour la page créée pour cette ligne."path": "example_url_path"
nameChaîne : pour les tableaux activés pour les pages dynamiques, name est le titre HTML utilisé pour la page créée pour cette ligne."name": "Example Title"
childTableIdNombre : lors de la création de pages dynamiques à plusieurs niveaux, childTableId spécifie l’ID de tableau enfant."childTableId": 123456
En utilisant les champs ci-dessus, votre demande pourrait ressembler à ce qui suit :
// Example request
{
  "values": {
    "text_column": "sample text value",
    "number_column": 76,
    "rich_text_column": "<strong>This is a styled paragraph.</strong>",
    "date_column": 1591228800000,
    "date_time_column": 1604450520000,
    "boolean_column": 1,
    "select_column": {
      "name": "option 1",
      "type": "option"
    },
    "multiselect_column": [
      {
        "name": "Option 1",
        "type": "option"
      },
      {
        "name": "Option 2",
        "type": "option"
      }
    ],
    "url_column": "https://www.hubspot.com/marketing",
    "video_column": 3392210008,
    "image_column": {
      "url": "https://f.hubspotusercontentqa00.net/hubfs/99992002/image3%20(1).jpg",
      "width": 1600,
      "height": 900,
      "type": "image"
    },
    "foreign_id_column": [
      {
        "id": "4364402239",
        "type": "foreignid"
      },
      {
        "id": "4364402240",
        "type": "foreignid"
      }
    ]
  },
  "path": "test_path",
  "name": "test_title",
  "childTableId": "1902373"
}

Importer des lignes depuis CSV

Pour importer des données dans un tableau HubDB à partir d’un fichier CSV, effectuez une demande POST à /cms/v3/hubdb/tables/{tableIdOrName}/draft/import. Le point de terminaison d’import accepte une demande multipart/form-data POST :
  • config** :** un ensemble d’options JSON pour l’import.
  • file** :** le fichier CSV que vous souhaitez importer.
Dans config, ajoutez les champs suivants en tant que chaîne JSON :
ChampTypeDescriptionExample
skipRowsNombre : nombre de lignes d’en-tête à ignorer. La valeur par défaut de ce champ est 1, en ignorant la première ligne et en la traitant comme un en-tête. Définissez ce paramètre sur 0 si toutes les lignes sont des données valides."skipRows": 0
separatorChaîne : délimiteur de colonne dans le fichier CSV. Défini sur "," par défaut."separator": ","
idSourceColumnNombre : l’index de la colonne dans le fichier source contenant l’ID de la ligne (hs_id). Si cette colonne est spécifiée, l’import mettra à jour les lignes existantes dans le tableau pour les ID de lignes correspondants à partir du fichier CSV. Il s’agit d’une option facultative que vous pouvez ignorer la première fois que vous importez des données dans un tableau. Consultez la section Options de réinitialisation ci-dessous pour plus d’informations."idSourceColumn": 1
resetTableBooléen : la valeur par défaut de booléen est false, ce qui signifie que les lignes du tableau seront mises à jour sans supprimer de lignes existantes. Si cette valeur est définie sur true, les lignes de la feuille de calcul remplaceront les données du tableau, ce qui signifie que toutes les lignes du tableau qui n’y figurent pas seront supprimées. Consultez la section Options de réinitialisation ci-dessous pour plus d’informations."resetTable": true
nameSourceColumnNombre : pour les tableaux activés pour les pages dynamiques, nameSourceColumn spécifie la colonne du fichier CSV qui contient le name de la ligne. Les numéros de colonne sont dans l’ordre croissant, la première colonne étant 1."nameSourcecolumn": 5
pathSourceColumnNombre : pour les tableaux activés pour les pages dynamiques, pathSourceColumn spécifie la colonne du fichier CSV qui contient le path de la ligne. Les numéros de colonne sont dans l’ordre croissant, la première colonne étant 1."pathSourcecolumn": 6
childTableSourceColumnNombre : spécifie la colonne du fichier CSV qui contient le childTableId de la ligne. Les numéros de colonne sont dans l’ordre croissant, la première colonne étant 1."childTableSourcecolumn": 3
columnMappingsTableau : une liste des mappages entre les colonnes du fichier source et les colonnes du tableau HubDB de destination. Chaque mappage doit avoir le format suivant : {"source":1,"target”:"columnIdOrName"}
  • source : l’index des colonnes dans le fichier source. Par exemple, 2 pour la deuxième colonne.
  • cible : l’ID ou le nom de la colonne du tableau HubDB. Vous pouvez obtenir l’ID ou le nom d’une colonne en obtenant les détails du tableau.
Si votre fichier contient une colonne hs_id, vous ne devez pas l’inclure dans columnMappings. Incluez-le à la place en tant que idSourceColumn mettre à jour les lignes existantes.
"columnMappings": [{"source":1, "target": 2}, {"source": 2, "target": "column_name"}]
primaryKeyColumnChaîne : le nom d’une colonne dans le tableau HubDB cible qui sera utilisée pour la déduplication. L’ID de la colonne ne peut pas être utilisé pour ce champ."primaryKeyColumn": "column_name"
encodingChaîne : le type d’encodage du fichier. Par exemple : utf-8, ascii, iso-8859-2, iso-8859-5, iso-2022-jp, windows-1252."encoding": "utf-8"
formatChaîne : seul le format CSV est pris en charge."format": "csv"
En utilisant le tableau ci-dessus, votre config JSON pourrait ressembler à ce qui suit :
// Example config JSON
{
  "skipRows": 1,
  "separator": ",",
  "idSourceColumn": 1,
  "resetTable": false,
  "columnMappings": [
    {
      "target": 1,
      "source": 2
    },
    {
      "target": 2,
      "source": "zip_code"
    }
  ],
  "primaryKeyColumn": "name",
  "encoding": "utf-8",
  "format": "csv"
}
Si vous utilisez cURL, votre commande peut ressembler à ce qui suit :
curl -L -X POST 'https://api.hubspotqa.com/hubdb/api/v2/tables/xxxxxx/import?portalId=xxxxxxx' \
-H 'Content-Type: multipart/form-data' \
-F 'config="{\"skipRows\":1,\"format\":\"csv\",\"separator\":\",\",\"encoding\":\"iso-8859-1\",\"columnMappings\":[{\"target\":1,\"source\":7},{\"target\":3,\"source\":8}],\"idSourceColumn\":1,\"pathSourceColumn\":null,\"nameSourceColumn\":null,\"childTableSourceColumn\":null,\"resetTable\":true}"' \
-F 'file=@"/Users/xxxxxxxxxxxxx/Downloads/filename.csv"'

Formatage de la date

Plusieurs formats peuvent être utilisés lors de l’import de données dans une colonne de type date. Entiers
  • yyyy/mm/dd
  • yyyy/mm/dd
  • mm/dd/yyyy
  • mm/dd/yy
Ces formats exigent que le mois précède le jour (c’est-à-dire que dd/mm/yy n’est pas accepté). Les entiers peuvent être séparés par des traits d’union (-) ou des barres obliques (/). Dates détendues Vous pouvez également importer des formats de date moins standardisés que les dates basées sur des entiers. Par exemple : **
  • The 1st of March in the year 2022
  • Fri Mar 4 2022
  • March 4th '22
Dates relatives HubSpot analysera les formats de date suivants par rapport au jour en cours : **
  • next Thursday
  • Today
  • tomorrow
  • 3 days from now

Réinitialiser les options

Lorsque vous importez des données depuis un fichier CSV dans un tableau HubDB, vous pouvez définir le champ resetTable sur true ou false (par défaut) pour gérer le remplacement des données de ligne HubDB.
  • Si resetTable est défini sur true :
    • Si les lignes du fichier CSV ne disposent pas d’une colonne ID de ligne (si hs_id ou l’ID de ligne est spécifié comme 0, ces lignes seront insérées avec les nouveaux ID de lignes générés.
    • Si les ID de ligne du fichier CSV existent déjà dans le tableau cible, les lignes existantes du tableau seront mises à jour avec les nouvelles valeurs du fichier d’entrée.
    • Si le tableau contient des lignes, mais que le fichier CSV d’entrée ne contient pas ces ID de ligne, ces lignes seront supprimées du tableau cible.
    • Si les ID de lignes du fichier CSV d’entrée n’existent pas dans le tableau cible, ces lignes seront insérées avec les nouveaux ID de lignes générés et les ID de lignes donnés dans le fichier d’entrée seront ignorés.
    • Si le fichier CSV d’entrée ne contient pas du tout la colonne ID de ligne, toutes les lignes seront supprimées du tableau cible et les lignes du fichier d’entrée seront insérées avec les nouveaux ID de lignes générés.
  • Si resetTable est défini sur false (valeur par défaut) :
    • Si les ID de ligne du fichier CSV existent déjà dans le tableau cible, les lignes existantes du tableau seront mises à jour avec les nouvelles valeurs du fichier d’entrée.
    • Si le tableau contient des lignes, mais que le fichier CSV d’entrée ne contient pas ces ID de ligne, ces lignes ne seront pas supprimées du tableau cible et ces lignes resteront inchangées.
    • Si les ID de lignes du fichier CSV d’entrée n’existent pas dans le tableau cible, ces lignes seront insérées avec les nouveaux ID de lignes générés et les ID de lignes donnés dans le fichier d’entrée seront ignorés.
    • Si les lignes du fichier CSV ne contiennent pas de colonne ID de ligne ou si l’ID de ligne est défini comme 0, ces lignes seront insérées avec les nouveaux ID de lignes générés.

Récupérer les données HubDB

Il existe plusieurs façons de récupérer des données HubDB, selon que vous recherchez les détails du tableau ou les lignes d’un tableau :
  • Pour récupérer les détails de tous les tableaux publiés, effectuez une demande GET à /cms/v3/hubdb/tables.
  • Pour récupérer les détails d’un tableau publié spécifique, effectuez une demande GET à /cms/v3/hubdb/tables{tableIdOrName}.
  • Pour récupérer toutes les lignes d’un tableau spécifique, effectuez une demande GET à /cms/v3/hubdb/tables{tableIdOrName}/rows.
  • Pour récupérer une ligne spécifique d’un tableau, effectuez une demande GET à /cms/v3/hubdb/tables{tableIdOrName}/rows/{rowId}.
Lorsque vous récupérez des données de ligne, vous pouvez filtrer et trier davantage les résultats. Si un tableau est défini pour être accessible au public, vous pouvez accéder à la version publiée du tableau et des lignes sans aucune authentification en spécifiant votre ID de compte HubSpot via le paramètre de requête portalId.

Filtrer les lignes renvoyées

Lors de la récupération des données de tableau HubDB, vous pouvez appliquer des filtres comme paramètres de requête pour recevoir des données spécifiques. Les paramètres de requête de filtre sont construits comme suit : columnName__operator. Par exemple, si vous disposez d’une colonne numérique nommée bar, vous pouvez filtrer les résultats pour n’inclure que les lignes où bar est supérieur à 10 : &bar__gt=10. Tous les filtres sont associés sous forme de ET (les filtres OU ne sont pas pris en charge actuellement). Lors du filtrage, tenez compte des informations suivantes :
  • Lorsque vous transmettez des valeurs pour des colonnes multiselect, les valeurs doivent être séparées par des virgules (par exemple : multiselect_column__contains=1,2).
  • Pour les filtres datetime, vous pouvez utiliser des dates relatives à la place des horodatages afin de spécifier une valeur relative à l’heure actuelle. Par exemple, -3h correspondrait à l’horodatage de 3 heures avant le moment présent, alors que 10s correspondrait à 10 secondes dans le futur. Les unités de temps prises en charge sont ms (millisecondes), s (secondes), m (minutes), h (heures), j (jours). L’heure actuelle peut être utilisée en spécifiant une valeur zéro : 0 s
  • Pour les besoins de ces filtres, la colonne intégrée hs_id est une colonne number, la colonne hs_created_at est une colonne datetime, et les colonnes hs_path et hs_name sont des colonnes text.
Découvrez ci-dessous quels opérateurs peuvent être appliqués à quels types de colonnes :
OpérateurNomDescription
eq (or none)Égaux : tous les types de colonnes. Ce filtre est appliqué si aucun opérateur n’est utilisé. Lorsqu’il est utilisé avec des colonnes à sélection multiple, renvoie des lignes qui correspondent exactement aux valeurs fournies.
neN’est pas égal à : tous les types de colonnes.
containsContient : texte, texte enrichi et sélection multiple. Lorsqu’utilisé avec des colonnes à sélection multiple, renvoie les lignes qui contiennent toutes les valeurs fournies. Ce filtre prend en compte la casse.
ltInférieur à : nombre, date et date et heure.
lteInférieur ou égal à : nombre, date et date et heure.
gtSupérieur à : nombre, date et date et heure.
gteSupérieur ou égal à : nombre, date et date et heure.
is_nullNul : tous les types de colonnes sauf booléen. Ce filtre ne nécessite pas de valeur (par exemple : &exampleColumn__is_null=).
not_nullNon nul : tous les types de colonnes sauf booléen. Ce filtre ne nécessite pas de valeur (par exemple : &exampleColumn__not_null=).
likeComme : texte et texte enrichi.
not_likeDifférent de : texte et texte enrichi.
icontainsContient : texte et texte enrichi. Ce filtre ne prend pas en compte la casse.
startswithCommence par : texte et texte enrichi.
inDans : nombre, sélection et sélection multiple. Renvoie les lignes où la colonne inclut au moins une des options transmises. S’il n’y a pas d’autre sort dans le paramètre de requête, les résultats sont triés dans l’ordre dans lequel les valeurs sont spécifiées dans l’opérateur in.

Trier les lignes renvoyées

Lors de la récupération des données HubDB, vous pouvez appliquer le tri comme paramètre de demande pour déterminer l’ordre des données renvoyées. Pour trier les données, ajoutez un paramètre de demande sort et indiquez le nom de la colonne : &sort=columnName Par défaut, les données seront renvoyées dans l’ordre naturel de la colonne spécifiée. Vous pouvez inverser le tri en ajoutant un - à un nom de colonne : &sort=-columnName Vous pouvez inclure ce paramètre plusieurs fois pour trier plusieurs colonnes. En plus du tri par colonne, trois fonctions peuvent être utilisées :
  • geo_distance(location_column_name, latitude, longitude) : prend le nom d’une colonne d’emplacement et des coordonnées, renvoie les lignes classées en fonction de la distance entre les valeurs de la colonne d’emplacement indiquée et les coordonnées fournies.
  • longueur(column_name) : prend le nom d’une colonne, renvoie les lignes classées selon la longueur de la valeur de la colonne (calculée sous forme de chaîne)
  • aléatoire() : renvoie les lignes dans un ordre aléatoire.
Ces fonctions prennent également en charge le classement inverse. Par exemple, le tri suivant geo_distance trie d’abord les éléments les plus éloignés : sort=-geo_distance(location_column,42.37,-71.07)

Configurer les tableaux HubDB pour les pages dynamiques

Grâce au CMS de HubSpot, vous pouvez utiliser un tableau HubDB comme source de données pour générer des pages dynamiques. Par exemple, vous pouvez créer un tableau qui contient une ligne pour chaque membre de votre équipe de direction, avec des colonnes contenant les informations que vous souhaitez afficher sur une page. Une fois que vous avez sélectionné ce tableau comme source de données dynamique pour une page, cette page génère une page de listing qui affiche toutes les lignes sous forme d’éléments récapitulatifs, ainsi que des pages distinctes pour chaque ligne, similaire à une page de listing de blog et à des pages d’articles de blog. Pour permettre la sélection d’un tableau comme source de données dans l’éditeur de contenu, vous devez définir useForPage sur true. Vous pouvez éventuellement inclure dynamicMetaTags pour spécifier les colonnes à utiliser pour les métadonnées de chaque page.

Remarque:

lors de la spécification de dynamicMetaTags, vous devrez vous assurer que la page utilise des balises HubL page_meta au lieu de content. Découvrez-en davantage dans le guide des pages dynamiques.
Par exemple, le code ci-dessous permet de créer un tableau qui peut être utilisé pour les pages dynamiques et spécifie les trois colonnes à utiliser pour les métadonnées de page.
// Example POST request to create table
{
  "name": "dynamic_page_table",
  "label": "Dynamic page table",
  "useForPages": true,
  "columns": [
    {
      "name": "meta_description",
      "label": "Meta description",
      "archived": false,
      "type": "TEXT"
    },
    {
      "name": "featured_image",
      "label": "Featured image",
      "archived": false,
      "type": "IMAGE"
    },
    {
      "name": "canonical_url",
      "label": "Canonical URL",
      "archived": false,
      "type": "URL"
    }
  ],
  "dynamicMetaTags": {
    "DESCRIPTION": 1,
    "FEATURED_IMAGE_URL": 2,
    "LINK_REL_CANONICAL_URL": 3
  }
}
ParamètreTypeDescription
useForPagesBooléen : défini sur true pour permettre au tableau d’être utilisé comme source de données pour les pages dynamiques.
dynamicMetaTagsObjet : spécifie les colonnes par ID à utiliser pour les métadonnées sur chaque page dynamique. Peut contenir :
  • DESCRIPTION
  • FEATURED_IMAGE_URL
  • LINK_REL_CANONICAL_URL
Pour tous les champs de métadonnées non spécifiés, les pages hériteront des valeurs respectives de leur page parent.
DESCRIPTIONNombre : l’ID numérique de la colonne à utiliser pour la méta-description de chaque page.
FEATURED_IMAGE_URLNombre : l’ID numérique de la colonne à utiliser pour l’URL de l’image en vignette de chaque page.
LINK_REL_CANONICAL_URLNombre : l’ID numérique de la colonne à utiliser pour l’URL canonique de chaque page.

Modifications dans la v3

  • Les tableaux doivent avoir à la fois name et label. Ce nom ne peut pas être modifié une fois le tableau créé. Les noms peuvent uniquement contenir des minuscules, des chiffres et des tirets du bas et ne peuvent pas commencer par un chiffre. name et label doivent les deux être uniques dans le compte.
  • L’API prend en charge à la fois les tableaux id et name dans les chemins URL.
  • Les points de terminaison des lignes GET renvoient la colonne name au lieu de id dans le champ values. De plus, les points de terminaison de lignes POST / PUT / PATCH nécessitent une colonne name plutôt que id dans le champ values.
  • Les points de terminaison de mise à jour des lignes PATCH acceptent désormais les mises à jour plus rares, ce qui signifie que vous pouvez spécifier uniquement les valeurs de colonne que vous devez mettre à jour (alors que vous deviez spécifier toutes les valeurs de colonne dans les versions précédentes). Lorsque vous mettez à jour une colonne avec une liste de valeurs telle que la sélection multiple, vous devez spécifier la liste de toutes les valeurs. Pour supprimer la valeur d’une colonne, vous devez spécifier la colonne avec la valeur comme null dans la demande.
  • Les points de terminaison ont été remplacés par get / update / delete une cellule de ligne au profit des points de terminaison PATCH de mise à jour des lignes.
  • Le point de terminaison d’import prend désormais en charge un champ idSourceColumn facultatif avec les champs existants dans les options au format JSON. Vous pouvez utiliser ce champ pour spécifier la colonne du fichier CSV qui contient les ID de ligne. Pour importer de nouvelles lignes avec les nouvelles valeurs pour les lignes existantes, vous pouvez simplement spécifier 0 comme ID de ligne pour les nouvelles lignes et ID de lignes valides pour les colonnes existantes. Pour plus de détails, consultez la section Import ci-dessous. Vous pouvez également utiliser des noms de colonnes ou des identifiants dans le champ cible des mappages de colonnes dans les options au format JSON.
  • Cloner le point de terminaison nécessite un nouveau nom et un nouveau libellé.