Letzte Änderung: 28. August 2025
HubDB ist ein relationaler Datenspeicher, der Daten als Zeilen, Spalten und Zellen in einer Tabelle darstellt, ähnlich wie in einer Kalkulationstabelle. HubDB Tabellen können in Ihrem HubSpot-Account hinzugefügt oder geändert werden, aber Sie können auch die hier dokumentierten API-Endpunkte verwenden. Informationen zur Verwendung von Daten aus HubDB-Tabellen auf Ihrer Website oder in E-Mails mit programmierbaren Inhalten finden Sie in der CMS-Entwicklerdokumentation von HubSpot. Ähnlich wie bei HubSpot-Website-Seiten unterstützen HubDB Tabellen draft- und published-Versionen. Auf diese Weise können Sie Daten in der Tabelle aktualisieren, entweder zu Testzwecken oder für einen manuellen Genehmigungsprozess, ohne dass sich dies auf Live-Seiten auswirkt. Erfahren Sie mehr über Entwurfs- und Live-Tabellen. Wenn für eine Tabelle der öffentliche Zugriff zugelassen werden soll, können Sie ohne Authentifizierung auf die veröffentlichten Version der Tabelle und der Zeilen zugreifen, indem Sie Ihre HubSpot-Account-ID über den Abfrageparameter portalId angeben. Wenn Sie von v2 der HubDB-API migrieren, erfahren Sie hier mehr über die Änderungen in der aktuellen (v3)-API.

Bitte beachten:

Endpunkte, die GET unterstützen , unterstützen auch CORS, sodass Sie clientseitig mit JavaScript und Ihrer Account-ID auf Daten in einer Tabelle zugreifen können. Andere Methoden und der Endpunkt Alle Tabellen abrufen erfordern eine Authentifizierung und unterstützen CORSnicht.

Ratenbeschränkungen

HubDB-API-Anfragen unterliegen je nach Art der Anfrage unterschiedlichen Beschränkungen:
  • Alle durchgeführten GET-Anfragen, die keine Authentifizierung erfordern (einschließlich clientseitiger JavaScript-Anfragen), sind auf 10 Anfragen pro Sekunde beschränkt. Diese Anfragen werden nicht auf das tägliche Limit angerechnet.
  • Für alle anderen Anfragen, die Authentifizierung verwenden, gelten die Standardbeschränkungen.

Entwurfs- vs. Live-Tabellen

HubDB-Tabellen verfügen sowohl über eine Entwurfs- als auch über eine Live-Version, und Live-Versionen können veröffentlicht oder ihre Veröffentlichung rückgängig gemacht werden. Auf diese Weise können Sie die Daten in der Tabelle aktualisieren, entweder für Seitenvorschauen oder Tests oder für einen manuellen Genehmigungsprozess, ohne dass sich dies auf Live-Seiten auswirkt. In dieser API sind separate Endpunkte für die Entwurfs- und die veröffentlichte Version einer Tabelle vorgesehen. Sie können beispielsweise die veröffentlichte Version einer Tabelle abrufen, indem Sie eine GET-Anfrage an den folgenden Endpunkt durchführen: /cms/v3/hubdb/tables/{tableIdOrName} Um alle Inhalte abzurufen, die bereits entworfen, aber noch nicht veröffentlicht wurden, fügen Sie am Ende der URL /draft hinzu: /cms/v3/hubdb/tables/{tableIdOrName}/draft Entwurfsdaten können überprüft und dann in HubSpot oder mit dem /push-live-Endpunkt übertragen werden. Die Entwurfsdaten können auch über den /reset-Endpunkt verworfen werden, sodass Sie ohne Unterbrechung zur aktuellen Live-Version der Daten zurückkehren können.

Eine HubDB-Tabelle erstellen

Um eine HubDB-Tabelle zu erstellen, führen Sie eine POST-Anfrage an /cms/v3/hubdb/tables durch. Geben Sie im Anfragetext die folgenden Pflichtfelder an:
FeldTypBeschreibungBeispiel
nameZeichenfolgeDer interne Name der Tabelle. Dieser Name kann nicht mehr geändert werden, nachdem die Tabelle erstellt wurde. Namen dürfen nur Kleinbuchstaben, Ziffern und Unterstriche enthalten und dürfen nicht mit einer Zahl beginnen."name": "my_table"
labelZeichenfolgeDas Label der Tabelle, das Benutzer beim Bearbeiten der Tabelle in HubSpot sehen."label":"My table"
Darüber hinaus können Sie die folgenden optionalen Felder angeben:
FeldTypBeschreibungBeispiel
useForPagesBooleschGibt an, ob die Tabelle zum Erstellen von dynamischen Seiten verwendet werden kann"useForPages": false
allowPublicAPIAccessBooleschGibt an, ob die Tabelle ohne Autorisierung gelesen werden kann."allowPublicApiAccess": false
allowChildTablesBooleschGibt an, ob untergeordnete Tabellen für die Tabelle erstellt werden können."allowChildTables": false
enableChildTablePagesBooleschGibt an, ob dynamische Seiten mit mehreren Ebenen mithilfe von untergeordneten Tabellen erstellt werden sollen."enableChildTablePages": false
columnsObjektDie Spalten der Tabelle. Erfahren Sie im Abschnitt Tabellenspalten hinzufügen mehr über die Eigenschaften von Spalten.See "Add table columns" section below
Ohne dass noch Spalten hinzugefügt wurden, könnte Ihre Erstellungsanfrage wie folgt aussehen:
// Example request
{
  "name": "test_table",
  "label": "Test Table",
  "useForPages": false,
  "allowPublicApiAccess": false,
  "allowChildTables": true,
  "enableChildTablePages": false,
  "columns": []
}

Tabellenzeilen hinzufügen

Jede Spalte in einer HubDB-Tabelle kann mit den folgenden Eigenschaften definiert werden:
FeldTypBeschreibungBeispiel
nameZeichenfolgeErforderlich. Der interne Name der Spalte. Kann nach dem Erstellen der Spalte nicht mehr geändert werden."name": "row_name"
labelZeichenfolgeOptional. Das Label für die Spalte, das Benutzern beim Bearbeiten der Tabelle in HubSpot angezeigt wird."label": "Row label"
typeZeichenfolgeDer Datentyp der Spalte. Muss einer der folgenden sein:
  • TEXT: ein Textfeld.
  • RICHTEXT: ein Textfeld, das die grundlegende HTML-Formatierung unterstützt. Nicht empfohlen für unformatiertes HTML, da es Auswirkungen darauf haben kann, ob das HTML in HubSpot bearbeitet werden kann. Die Bearbeitung des Codes in HubSpot kann sich auch auf die Art und Weise auswirken, wie der Code gerendert wird.
  • NUMBER: ein Zahlenfeld.
  • BOOLEAN: wird in HubSpot als Kontrollkästchen dargestellt. Verwendet 0 für deaktiviert und 1 für aktiviert.
  • DATE: speichert ein bestimmtes Datum als Millisekunden-Zeitstempel, der auf Mitternacht UTC festgelegt ist.
  • DATETIME: speichert ein Datum und eine Uhrzeit als Millisekunden-Zeitstempel.
  • SELECT: Die Spalte kann nur auf eine aus einer Reihe von Optionen festgelegt werden. Siehe das options-Feld unten für erforderliche Eigenschaften.
  • MULTISELECT: Die Spalte kann auf eine oder mehrere Optionen aus einer Reihe von Optionen festgelegt werden. Siehe das options-Feld unten für erforderliche Eigenschaften.
  • LOCATION: speichert einen Breiten- und Längengrad.
  • IMAGE: speichert die URL eines Bildes.
  • VIDEO: speichert die Player-ID des Videos.
  • FOREIGN_ID: Die Spalte verweist auf eine Spalte aus einer anderen HubDB-Tabelle. Darüber hinaus müssen Sie die andere HubDB-Tabelle mit den folgenden Eigenschaften definieren:
    • foreignTableId: die ID der anderen HubDB-Tabelle.
    • foreignColumnId: die ID der Spalte in der anderen HubDB-Tabelle.
  • CURRENCY: speichert die Zahl als Währungswert.
  • FILE: speichert eine Datei aus dem Datei-Manager. Sie müssen auch ein fileType-Feld berücksichtigen, um anzugeben, ob das Feld alle Dateitypen (FILE) oder nur Dokumenttypen wie PDF (DOCUMENT) speichern kann.
"type": "type"
optionsObjektEine Liste von Optionen für Auswahl- und Mehrfachauswahlspalten. Jede Option wird mit einem name zusammen mit einem type gleich option definiert."option": [{"name":"Option 1", "type":"option"}, {"name": "Option 2", "type": "option"}]
Mit den obigen Feldern könnte Ihre Anfrage zum Erstellen einer neuen HubDB-Tabelle wie folgt aussehen:
// 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
}
Nach dem Erstellen einer Tabelle werden den Spalten die IDs in aufsteigender Reihenfolge zugewiesen. Nehmen Sie beim Aktualisieren vorhandener Spalten das id-Feld der Spalte in das Eingabeobjekt auf.

Tabellenzeilen hinzufügen

Sie können Zeilen entweder manuell über die API hinzufügen oder Zeilen aus einer CSV-Datei importieren. Um einer HubDB-Tabelle Zeilen hinzuzufügen, führen Sie eine POST-Anfrage an /cms/v3/hubdb/tables/{tableIdOrName}/rows durch. Für jede Tabellenzeile können Sie die folgenden Felder berücksichtigen:
FeldTypBeschreibungBeispiel
valuesObjektEine Liste von Schlüssel-Wert-Paaren mit dem Spaltennamen und dem Wert, den Sie der Spalte hinzufügen möchten.

Wenn Sie keinen bestimmten Wert für eine Spalte festlegen möchten, können Sie den Spaltennamen in der Liste der Schlüssel-Wert-Paare weglassen.
"values": { "text_column": "sample text", "number_column": 76}
pathZeichenfolgeFür Tabellen, die für dynamische Seiten aktiviert sind, ist path das Pfadsuffix, das für die für diese Zeile erstellte Seite verwendet wird."path": "example_url_path"
nameZeichenfolgeBei Tabellen, die für dynamische Seiten aktiviert sind, ist name der HTML-Titel, der für die für diese Zeile erstellte Seite verwendet wird."name": "Example Title"
childTableIdZahlBeim Erstellen von dynamischen Seiten mit mehreren Ebenen gibt childTableId die ID der untergeordneten Tabelle an."childTableId": 123456
Unter Verwendung der oben aufgeführten Felder kann Ihre Anfrage beispielsweise wie folgt aussehen:
// 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"
}

Zeilen aus CSV importieren

Um Daten aus einer CSV-Datei in eine HubDB-Tabelle zu importieren, führen Sie eine POST-Anfrage an /cms/v3/hubdb/tables/{tableIdOrName}/draft/import durch. Der Import-Endpunkt nimmt eine multipart/form-data-POST-Anfrage entgegen:
  • config: eine Reihe von JSON-formatierten Optionen für den Import.
  • file: die CSV-Datei, die Sie importieren möchten.
Nehmen Sie in config die folgenden Felder als JSON-Zeichenfolge auf:
FeldTypBeschreibungBeispiel
skipRowsZahlDie Anzahl der Kopfzeilen, die übersprungen werden sollen. Dieses Feld hat standardmäßig den Wert 1, wobei die erste Zeile übersprungen und als Kopfzeile behandelt wird. Legen Sie dies auf 0 fest, wenn alle Zeilen gültige Daten sind."skipRows": 0
separatorZeichenfolgeDas Spaltentrennzeichen in der CSV-Datei. Standardmäßig auf "," festgelegt."separator": ","
idSourceColumnZahlDer Index der Spalte in der Quelledatei, die die ID (hs_id) der Zeile enthält. Wenn diese Spalte angegeben wird, aktualisiert der Import die vorhandenen Zeilen in der Tabelle für die übereinstimmenden Zeilen-IDs aus der CSV-Datei. Dies ist optional und Sie können dies beim ersten Importieren von Daten in eine Tabelle ignorieren. Weitere Informationen finden Sie im Abschnitt Optionen zum Zurücksetzen weiter unten."idSourceColumn": 1
resetTableBooleschDer Standardwert ist false, was bedeutet, dass die Zeilen der Tabelle aktualisiert werden, ohne vorhandene Zeilen zu entfernen. Bei Festlegung auf true überschreiben die Kalkulationstabellenzeilen die Tabellendaten, d. h., alle Zeilen in der Tabelle, die nicht in der Tabelle enthalten sind, werden gelöscht. Weitere Informationen finden Sie im Abschnitt Optionen zum Zurücksetzen weiter unten."resetTable": true
nameSourceColumnZahlFür Tabellen, die für dynamische Seiten aktiviert sind, gibt nameSourceColumn die Spalte in der CSV-Datei an, die den name der Zeile enthält. Die Spaltennummern sind in aufsteigender Reihenfolge, wobei 1 die erste Spalte ist."nameSourcecolumn": 5
pathSourceColumnZahlFür Tabellen, die für dynamische Seiten aktiviert sind, gibt pathSourceColumn die Spalte in der CSV-Datei an, die den path der Zeile enthält. Die Spaltennummern sind in aufsteigender Reihenfolge, wobei 1 die erste Spalte ist."pathSourcecolumn": 6
childTableSourceColumnZahlGibt die Spalte in der CSV-Datei an, die die childTableId der Zeile enthält. Die Spaltennummern sind in aufsteigender Reihenfolge, wobei 1 die erste Spalte ist."childTableSourcecolumn": 3
columnMappingsArrayEine Liste der Zuordnungen der Spalten in der Quelle-Datei zu den Spalten in der HubDB-Zieltabelle. Jede Zuordnung muss das folgende Format habent: {"source":1,"target”:"columnIdOrName"}
  • Quelle: der Spaltenindex in der Quelldatei. Zum Beispiel 2 für die zweite Spalte.
  • Ziel: die ID oder der Name der Spalte der HubDB-Tabelle. Sie können die ID oder den Namen einer Spalte abrufen, indem Sie die Details für die Tabelle abrufen.
Wenn Ihre Datei eine hs_id-Spalte enthält, sollte diese nicht in columnMappingsenthalten sein. Berücksichtigen Sie sie stattdessen als die idSourceColumn, um vorhandene Zeilen zu aktualisieren.
"columnMappings": [{"source":1, "target": 2}, {"source": 2, "target": "column_name"}]
primaryKeyColumnZeichenfolgeDer Name einer Spalte in der HubDB-Zieltabelle, die für die Deduplizierung verwendet wird. Die ID der Spalte kann nicht für dieses Feld verwendet werden."primaryKeyColumn": "column_name"
encodingZeichenfolgeDer Codierungstyp der Datei. Zum Beispiel utf-8, ascii, iso-8859-2, iso-8859-5, iso-2022-jp, windows-1252."encoding": "utf-8"
formatZeichenfolgeNur CSV wird unterstützt."format": "csv"
In der obigen Tabelle könnte Ihr config-JSON wie folgt aussehen:
// 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"
}
Wenn Sie cURL verwenden, könnte Ihr Befehl wie folgt aussehen:
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"'

Datumsformatierung

Es gibt mehrere Formate, die Sie verwenden können, wenn Sie Daten in eine Spalte vom Typ „Datum“ importieren. Ganzzahlen
  • yyyy/mm/dd
  • yyyy/mm/dd
  • mm/dd/yyyy
  • mm/dd/yy
Bei diesen Formaten muss der Monat vor dem Tag liegen (d. h., dd/mm/yy wird nicht akzeptiert). Ganzzahlen können durch Bindestriche (-) oder Schrägstriche (/) getrennt werden. Datumsangaben ohne festes Format Sie können auch Datumsformate importieren, die weniger standardisiert sind als ganzzahlige Datumsangaben. Zum Beispiel:**
  • The 1st of March in the year 2022
  • Fri Mar 4 2022
  • March 4th '22
Relative Daten HubSpot analysiert die folgenden Datumsformate relativ zum aktuellen Tag:**
  • next Thursday
  • Today
  • tomorrow
  • 3 days from now

Optionen zum Zurücksetzen

Wenn Sie Daten aus einer CSV-Datei in eine HubDB-Tabelle importieren, können Sie das resetTable-Feld auf true oder false (Standard) setzen, um zu verwalten, ob HubDB-Zeilendaten überschrieben werden.
  • Wenn resetTable auf true festgelegt ist:
    • Wenn die Zeilen in der CSV-Datei keine Zeilen-ID-Spalte (hs_id) haben oder die Zeilen-ID als 0 angegeben ist, werden diese Zeilen mit den neu generierten Zeilen-IDs eingefügt.
    • Wenn die Zeilen-IDs in der CSV-Datei bereits in der Zieltabelle vorhanden sind, werden die vorhandenen Zeilen in der Tabelle mit den neuen Werten aus der Eingabedatei aktualisiert.
    • Wenn die Tabelle Zeilen enthält, die Eingabe-CSV-Datei jedoch nicht über diese Zeilen-IDs verfügt, werden diese Zeilen aus der Zieltabelle gelöscht.
    • Wenn die Zeilen-IDs in der Eingabe-CSV-Datei nicht in der Zieltabelle vorhanden sind, werden diese Zeilen mit den neu generierten Zeilen-IDs eingefügt, und die in der Eingabedatei angegebenen Zeilen-IDs werden ignoriert.
    • Wenn die Eingabe-CSV-Datei die Zeilen-ID-Spalte überhaupt nicht enthält, werden alle Zeilen aus der Zieltabelle gelöscht, und die Zeilen aus der Eingabedatei werden mit den neu generierten Zeilen-IDs eingefügt.
  • Wenn resetTable auf false festgelegt ist (Standard):
    • Wenn die Zeilen-IDs in der CSV-Datei bereits in der Zieltabelle vorhanden sind, werden die vorhandenen Zeilen in der Tabelle mit den neuen Werten aus der Eingabedatei aktualisiert.
    • Wenn die Tabelle Zeilen enthält, die Eingabe-CSV-Datei jedoch nicht über diese Zeilen-IDs verfügt, werden diese Zeilen nicht aus der Zieltabelle gelöscht, und diese Zeilen bleiben unverändert.
    • Wenn die Zeilen-IDs in der Eingabe-CSV-Datei nicht in der Zieltabelle vorhanden sind, werden diese Zeilen mit den neu generierten Zeilen-IDs eingefügt, und die in der Eingabedatei angegebenen Zeilen-IDs werden ignoriert.
    • Wenn die Zeilen in der CSV-Datei keine Spalte mit Zeilen-ID aufweisen oder die Zeilen-ID als 0 angegeben ist, werden diese Zeilen mit den neu generierten Zeilen-IDs eingefügt.

HubDB-Daten abrufen

Es gibt mehrere Möglichkeiten, HubDB-Daten abzurufen, je nachdem, ob Sie nach Tabellendetails oder nach den Zeilen einer Tabelle suchen:
  • Um Tabellendetails von allen veröffentlichten Tabellen abzurufen, führen Sie eine GET-Anfrage an /cms/v3/hubdb/tables durch.
  • Um Tabellendetails aus einer bestimmten veröffentlichten Tabelle abzurufen, führen Sie eine GET-Anfrage an /cms/v3/hubdb/tables{tableIdOrName} durch.
  • Um alle Zeilen aus einer bestimmten Tabelle abzurufen, führen Sie eine GET-Anfrage an /cms/v3/hubdb/tables{tableIdOrName}/rows durch.
  • Um eine bestimmte Zeile aus einer Tabelle abzurufen, führen Sie eine GET-Anfrage an /cms/v3/hubdb/tables{tableIdOrName}/rows/{rowId} durch.
Beim Abrufen von Zeilendaten können Sie die Ergebnisse weiter filtern und sortieren. Wenn für eine Tabelle der öffentliche Zugriff zugelassen werden soll, können Sie ohne Authentifizierung auf die veröffentlichten Version der Tabelle und der Zeilen zugreifen, indem Sie Ihre HubSpot-Account-ID über den Abfrageparameter portalId angeben.

Zurückgegebene Zeilen filtern

Beim Abrufen von HubDB-Tabellendaten können Sie Filter als Abfrageparameter anwenden, um bestimmte Daten zu erhalten. Die Filterabfrageparameter sind wie folgt aufgebaut: columnName__operator. Wenn Sie z. B. eine Zahlenspalte mit dem Namen bar haben, können Sie die Ergebnisse so filtern, dass nur Zeilen enthalten sind, bei denen bar größer als 10 ist: &bar__gt=10. Alle Filter werden mit UND verknüpft (ODER-Filter werden derzeit nicht unterstützt). Beachten Sie beim Filtern Folgendes:
  • Bei der Übergabe von Werten für multiselect-Spalten sollten die Werte durch Komma getrennt werden (z. B. multiselect_column__contains=1,2).
  • Bei datetime-Filtern können Sie relative Datumsangaben anstelle von Zeitstempeln verwenden, um einen Wert relativ zur aktuellen Zeit anzugeben. Beispielsweise entspricht -3h dem Zeitstempel 3 Stunden vor jetzt, während 10s 10 Sekunden in der Zukunft entspricht. Unterstützte Zeiteinheiten sind ms (Millisekunden), s (Sekunden), m (Minuten), h (Stunden), d (Tage). Die aktuelle Uhrzeit kann durch Angabe eines Nullwerts verwendet werden: 0s
  • Für die Zwecke dieser Filter ist die integrierte Spalte hs_id eine number-Spalte, die hs_created_at-Spalte eine datetime und die Spalten hs_path und hs_name sind text-Spalten.
Im Folgenden erfahren Sie, welche Operatoren auf welche Spaltentypen angewendet werden können:
OperatorNameBeschreibung
eq (or none)Ist gleichAlle Spaltentypen. Dieser Filter wird angewendet, wenn kein Operator verwendet wird. Bei Verwendung mit Mehrfachauswahlspalten werden Zeilen zurückgegeben, die genau mit den angegebenen Werten übereinstimmen.
neUngleichAlle Spaltentypen.
containsEnthältText, Rich-Text und Mehrfachauswahl. Bei Verwendung mit Mehrfachauswahlspalten werden Zeilen zurückgegeben, die alle angegebenen Werte enthalten. Bei diesem Filter wird zwischen Groß- und Kleinschreibung unterschieden.
ltKleiner alsAnzahl, Datum und Datetime.
lteKleiner als oder gleichAnzahl, Datum und Datetime.
gtGrößer alsAnzahl, Datum und Datetime.
gteGrößer als oder gleichAnzahl, Datum und Datetime.
is_nullNullAlle Spaltentypen außer boolesch. Für diesen Filter ist kein Wert erforderlich (z. B. &exampleColumn__is_null=).
not_nullNicht nullAlle Spaltentypen außer boolesch. Für diesen Filter ist kein Wert erforderlich (z. B. &exampleColumn__not_null=).
likeWieText und Rich-Text.
not_likeNicht wieText und Rich-Text.
icontainsEnthältText und Rich-Text. Bei diesem Filter wird nicht zwischen Groß- und Kleinschreibung unterschieden.
startswithBeginnt mitText und Rich-Text.
inInAnzahl, Auswahl und Mehrfachauswahl. Gibt Zeilen zurück, in denen die Spalte mindestens eine der übergebenen Optionen enthält. Wenn der Abfrageparameter keinen anderen sort-Wert enthält, werden die Ergebnisse in der Reihenfolge sortiert, in der die Werte im in-Operator angegeben werden.

Zurückgegebene Zeilen sortieren

Beim Abrufen von HubDB-Daten können Sie Sortierung als Abfrageparameter anwenden, um die Reihenfolge der zurückgegebenen Daten zu bestimmen. Um Daten zu sortieren, fügen Sie einen sort-Abfrageparameter hinzu und geben Sie den Spaltennamen an: &sort=columnName Standardmäßig werden die Daten in der natürlichen Reihenfolge der angegebenen Spalte zurückgegeben. Sie können die Sortierung umkehren, indem Sie ein - an den Spaltennamen anhängen: &sort=-columnName Sie können diesen Parameter mehrfach angeben, um nach mehreren Spalten zu sortieren. Neben der Sortierung nach einer Spalte gibt es drei weitere Funktionen, die verwendet werden können:
  • geo_distance(location_column_name, latitude, longitude): nimmt den Namen einer Standortspalte und Koordinaten an und gibt die Zeilen danach geordnet zurück, wie weit der Wert der angegebenen Standortspalte von den angegebenen Koordinaten entfernt ist.
  • **length(column_name):**nimmt den Namen einer Spalte an und gibt die Zeilen geordnet nach der Länge des Spaltenwerts (berechnet als Zeichenfolge) zurück
  • random(): gibt die Zeilen in zufälliger Reihenfolge zurück.
Diese Funktionen unterstützen auch das Anordnen in umgekehrter Reihenfolge. Die folgende geo_distance-Sortierung gibt z. B. die am weitesten entfernten Elemente zuerst zurück: sort=-geo_distance(location_column,42.37,-71.07)

Konfigurieren von HubDB-Tabellen für dynamische Seiten

Mit dem CMS von HubSpot können Sie eine HubDB-Tabelle als Quelle verwenden, um dynamische Seiten zu erstellen. Sie können z. B. eine Tabelle erstellen, die eine Zeile für jedes Mitglied Ihres Führungsteams enthält, mit Spalten, die Informationen enthalten, die Sie auf einer Seite anzeigen möchten. Nachdem Sie diese Tabelle als dynamische Datenquelle für eine Seite ausgewählt haben, generiert diese Seite eine Listing-Seite, die alle Zeilen als Zusammenfassungselemente zusammen mit separaten Seiten für jede Zeile anzeigt, ähnlich wie bei einer Blog-Listing-Seite und Blogbeitragsseiten. Um die Auswahl einer Tabelle als Quelle im Content-Editor zu aktivieren, müssen Sie useForPage auf true festlegen. Sie können optional dynamicMetaTags berücksichtigen, um anzugeben, welche Spalten für die Metadaten der einzelnen Seiten verwendet werden sollen.

Bitte beachten:

Wenn Sie dynamicMetaTags angeben, müssen Sie sicherstellen, dass die Seite page_meta-HubL-Tags anstelle von content verwendet. Weitere Informationen finden Sie im Leitfaden für dynamische Seiten.
Beispielsweise würde der folgende Code eine Tabelle erstellen, die für dynamische Seiten verwendet werden kann, und gibt die drei Spalten an, die für Seitenmetadaten verwendet werden sollen.
// 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
  }
}
ParameterTypBeschreibung
useForPagesBooleschAuf true festlegen, damit die Tabelle als Quelle für dynamische Seiten verwendet werden kann.
dynamicMetaTagsObjektGibt die Spalten nach ID an, die für Metadaten auf jeder dynamischen Seite verwendet werden sollen. Kann enthalten:
  • DESCRIPTION
  • FEATURED_IMAGE_URL
  • LINK_REL_CANONICAL_URL
Für alle Metadatenfelder, die nicht angegeben sind, erben die Seiten die entsprechenden Werte von ihrer übergeordneten Seite.
DESCRIPTIONZahlDie numerische ID der Spalte, die für die Metabeschreibung der einzelnen Seiten verwendet werden soll.
FEATURED_IMAGE_URLZahlDie numerische ID der Spalte, die für die Feature-Bild-URL der einzelnen Seiten verwendet werden soll.
LINK_REL_CANONICAL_URLZahlDie numerische ID der Spalte, die für die kanonische URL der einzelnen Seiten verwendet werden soll.

Änderungen in v3

  • Tabellen sollten sowohl name als auch label enthalten. Dieser Name kann nicht mehr geändert werden, nachdem die Tabelle erstellt wurde. Namen dürfen nur Kleinbuchstaben, Ziffern und Unterstriche enthalten und dürfen nicht mit einer Zahl beginnen. Sowohl name als auch label sollten im Account eindeutig sein.
  • API unterstützt sowohl die id als auch name von Tabellen in URL-Pfaden.
  • GET-Zeilenendpunkte geben den name der Spalte statt die id im values-Feld zurück. Außerdem erfordern POST/PUT/PATCH-Zeilenendpunkte den name einer Spalte statt die id im values-Feld.
  • PATCH-Endpunkte für Zeilenaktualisierungen akzeptieren jetzt lückenhafte Aktualisierungen, d. h., Sie können nur die Spaltenwerte angeben, die Sie aktualisieren müssen (während Sie in früheren Versionen alle Spaltenwerte angeben mussten). Wenn Sie eine Spalte mit einer Liste von Werten aktualisieren, z. B. Mehrfachauswahl, müssen Sie die Liste aller Werte angeben. Um den Wert für eine Spalte zu löschen, müssen Sie die Spalte mit dem Wert wie null in der Anfrage angeben.
  • Es wurden die Endpunkte zum get/update/delete eine Zeilenzelle zugunsten der PATCH-Endpunkte für Zeilenaktualisierungen entfernt.
  • Der Import-Endpunkt unterstützt jetzt das optionales Feld idSourceColumn zusammen mit vorhandenen Feldern in den JSON-formatierten Optionen. Sie können dieses Feld verwenden, um die Spalte in der CSV-Datei anzugeben, die Zeilen-IDs enthält. Um neue Zeilen zusammen mit den neuen Werten für vorhandene Zeilen zu importieren, können Sie einfach 0 als Zeilen-ID für die neuen Zeilen und die gültigen Zeilen-IDs für die vorhandenen Spalten angeben. Weitere Informationen finden Sie im Abschnitt zum Importieren. Außerdem können Sie Spaltennamen oder -IDs im Zielfeld der Spaltenzuordnungen in den JSON-formatierten Optionen verwenden.
  • Der Klonen-Endpunkt erfordert einen neuen Namen und ein neues Label.