- Baza wiedzy
- Raportowanie i dane
- Raporty
- Wyszukiwanie danych z HubSpot w Snowflake
Wyszukiwanie danych z HubSpot w Snowflake
Data ostatniej aktualizacji: 24 września 2026
Po połączeniu Snowflake z kontem HubSpot możesz skorzystać z funkcji Data Share w Snowflake, aby wyszukiwać dane HubSpot z poziomu swojego konta Snowflake.
Opóźnienia w danych i region konta Snowflake
Będziesz mieć dostęp do schematu V2_LIVE, który jest aktualizowany co 15 minut, oraz do schematu V2_DAILY, który jest aktualizowany codziennie.
Uwaga: następujące widoki w schemacie V2_LIVE są aktualizowane tylko raz dziennie: association_definitions, owners, pipelines oraz pipeline_stages.
Skonfiguruj swoje środowisko Snowflake
Aby wysyłać zapytania do danych HubSpot w Snowflake, musisz wybrać magazyn danych, bazę danych i schemat, z których chcesz pobierać dane. Możesz ustawić je na poziomie arkusza, aby były automatycznie uwzględniane w zapytaniach, lub dodać je ręcznie.
Aby wybrać magazyn danych, bazę danych i schemat na poziomie arkusza:
- W górnym wierszu arkusza kliknij pasekakcji arkusza.

- W oknie podręcznym:
- Kliknij menu rozwijane„Magazyn ”, a następnie wybierz swójmagazyn.
- Kliknij menu rozwijane„Baza danych ”, a następnie wybierz swoją bazę danych HubSpot.
- Kliknij menu rozwijane„Schemat ”, a następnie wybierz schemat, którego chcesz użyć:
- V2_DAILY: schemat dzienny do wyszukiwania danych na podstawie tabel. Dane w tym schemacie są aktualizowane raz dziennie. Korzystanie z tego schematu zapewnia szybsze wyszukiwanie i jest zalecane w przypadku wyszukiwania bezpośrednio w Snowflake.
- V2_LIVE: schemat na żywo oparty na widokach zabezpieczonych danych HubSpot. Dane w tym schemacie są aktualizowane co maksymalnie 15 minut. Jeśli wysyłasz zapytania do dużego zbioru danych, mogą one przebiegać wolno. W takim przypadku zaleca się najpierw skopiowanie danych do własnej tabeli za pomocą procesu ETL, a następnie wysłanie zapytania do tej tabeli.

Po skonfigurowaniu środowiska możesz wysyłać zapytania do danych HubSpot bez konieczności ręcznego dodawania nazwy bazy danych lub typu schematu do zapytań.
Aby ręcznie dodać nazwę bazy danych i typ schematu do zapytań, wpisz nazwę bazy danych, a następnie nazwę schematu na początku pola FROM. Na przykład:
SELECT objectTypeId, objectId, updatedAt
Z hubspot_share_name.V2_LIVE.objects
WHERE objectTypeId = '0-3'
LIMIT 1;
Przegląd danych
Zapytania są tworzone przy użyciu języka SQL i mogą służyć do pobierania danych z HubSpot, takich jak:
- Obiekty: obiekty standardowe i niestandardowe, takie jak kontakty, firmy, produkty.
- Rekordy: pojedyncze rekordy, takie jak pojedynczy kontakt lub firma.
- Powiązania: wszystkie dostępne typy powiązań oraz aktualnie powiązane rekordy.
- Zdarzenia: dane dotyczące zarówno standardowych zdarzeń HubSpot, takich jak otwarcia wiadomości e-mail, jak i niestandardowych zdarzeń behawioralnych.
- Segmenty: segmenty kontaktów i firm w HubSpot.
- Właściciele: użytkownicy na Twoim koncie HubSpot w odniesieniu do rekordów, których są właścicielami.
- Pipeline’y:pipeline’ytransakcjii zgłoszeń, w tym etapy pipeline’ów.
- Właściwości: właściwości i ich wartości w rekordach CRM, w tym historia właściwości.
Dowiedz się więcej o modelu danych CRM HubSpot.
Uwaga: W miarę rozwoju udostępniania danych będziemy wprowadzać zmiany, z których niektóre będą miały charakter przełomowy. Zdecydowanie zalecamy subskrypcję dziennika zmian dla programistów HubSpot. Zmiany te będą zawsze publikowane w dzienniku zmian przed wprowadzeniem jakiejkolwiek aktualizacji.
Ograniczanie i sortowanie zwracanych danych
Tworząc zapytania, można kontrolować ilość zwracanych danych oraz kolejność ich wyświetlania, dodając do zapytaniaLIMIT i ORDER BY. Na przykład, aby wyszukać wszystkie kontakty wraz z ich właściwościami, ale zwrócić tylko trzy wyniki i uporządkować je według identyfikatora kontaktu, można skonstruować zapytanie w następujący sposób:
SELECT objectTypeId, updatedAt, ingestedAt
FROM obiekty
WHERE objectTypeId = '0-1'
SORTUJ WEDŁUG identyfikator_obiektu
LIMIT 10;
Typy danych kolumn
Podczas wyszukiwania danych w Snowflake kolumny, które są zwracane, zależą od danych, które są przedmiotem zapytania. Dostępne kolumny dla danej tabeli lub widoku w Snowflake można wyświetlić, wybierając widok na lewym pasku bocznym.
Uwaga:w dalszej części tego dokumentu używamy terminu „obiekt bazy danych”, gdy kontekst odnosi się zarówno do tabel, jak i widoków.

Aby zwrócić konkretną kolumnę, należy umieścić ją w polu SELECT zapytania. Na przykład poniższe zapytanie zwróci tylko kolumny OBJECTID i UpdatedAt
SELECT objectTypeId, updatedAt, ingestedAt
Z obiekty
WHERE objectTypeId = '0-1'
SORTUJ WEDŁUG identyfikator_obiektu
LIMIT 10;
Poniżej przedstawiono ogólne definicje kolumn, które może zwrócić zapytanie. Aby zapoznać się z innymi definicjami, których nie ma poniżej, należy przejść do poszczególnych definicji widoków w powyższym artykule.
- OBJECTTYPEID: wartość typu VARCHAR reprezentująca typ obiektu. Na przykład 0-1 oznacza obiekt „kontakty”, 0-2 oznacza obiekt „firmy”, a 2-1232 może oznaczać obiekt niestandardowy na Twoim koncie. W segmentach odnosi się to do typu segmentu (np. kontakt lub firma). Możesz wyszukać wszystkie identyfikatory obiektów i zdarzeń na swoim koncie, korzystając z widoku object_and_event_type_definitions.
- OBJECTID: liczba typu BIGINT reprezentująca pojedynczy rekord danego typu obiektu na koncie HubSpot. Aby zidentyfikować rekord, należy użyć zarówno identyfikatora typu obiektu, jak i identyfikatora obiektu.
- INGESTEDAT: sygnatura czasowa momentu dodania wiersza danych do Snowflake, reprezentowana przez wartość typu TIMESTAMP_NTZ. Nie ma związku z logiczną sygnaturą czasową operacji utworzenia lub aktualizacji w HubSpot.
- Ze względu na wewnętrzne przetwarzanie w HubSpot znacznik czasu wprowadzenia wiersza może zostać zaktualizowany, nawet jeśli żadna inna kolumna w tym wierszu nie uległa zmianie.
- Podczas tworzenia procesów ETL, które kopiują ostatnio zmienione dane, zaleca się opieranie zapytań na znaczniku czasu wprowadzenia danych. Ponadto, jeśli przepływ kopiuje dane codziennie, zaleca się kopiowanie danych z dwóch poprzednich dni, aby uwzględnić opóźnienia.
- CREATEDAT i UPDATEDAT: logiczny znacznik czasu momentu utworzenia lub aktualizacji danych w HubSpot, reprezentowany przez wartość TIMESTAMP_NTZ . Znaczniki czasu te będą zgodne ze znacznikami czasu w HubSpot. Na przykład czas wyświetlany w HubSpot jako data utworzenia rekordu będzie taki sam jak znacznik czasu w kolumnie CREATEDAT w Snowflake. Nie są one bezpośrednio powiązane ze znacznikiem czasu pozyskania danych i nie zaleca się opierania procesów ETL na tych właściwościach.
- COMBINEDASSOCIATIONTYPE: wartość typu VARCHAR, która jednoznacznie identyfikuje definicję powiązania.
Przekształcanie typów danych
Czasami zapytanie zwraca dane w kolumnach typu VARCHAR, podczas gdy pożądane byłoby, aby miały one inny typ. W takich przypadkach zaleca się konwersję typu danych VARCHAR na pożądane typy przy użyciu funkcji Snowflake. Na przykład właściwości rekordu obiektu są przechowywane jako typy danych VARCHAR w większości obiektów bazy danych, ale czasami zawierają wartości liczbowe i daty z czasem. Funkcje takie jak:
try_to_number, try_to_timestamp_ntz mogą służyć do konwersji tych danych typu VARCHAR odpowiednio na typy NUMBER i DATETIME:
SELECT objectid, value AS amount_str, try_to_number(value) AS amountFROM object_properties
WHERE objecttypeid='0-3' AND name='amount'
LIMIT 1
Zapytania dotyczące obiektów
Poniżej dowiesz się, jak wyszukiwać dane z określonych obiektów i rekordów HubSpot, a także jakie dane są zwracane.
Dane obiektów są dostępne we wspólnych obiektach bazy danych. Filtruj według objectTypeId , aby pobrać konkretny typ obiektu. Użyj OBJECT_WITH_OBJECT_PROPERTIES , gdy potrzebujesz aktualnych właściwości dla każdego rekordu. Wartości właściwości są przechowywane w properties JSON. Użyj funkcji OBJECTS dla podstawowych atrybutów rekordu oraz OBJECT_PROPERTIES lub OBJECT_PROPERTIES_HISTORY dla danych dotyczących poszczególnych właściwości.
| Nazwa obiektu | Identyfikator typu obiektu |
| Kontakty | 0–1 |
| Firmy | 0–2 |
| Pozycje | 0-8 |
Obiektom niestandardowym zostanie przypisany identyfikator w momencie utworzenia i będą one identyfikowane jako2-unikalny_identyfikator. Na przykład2-12345. Dowiedz się więcej o definicjach obiektów i typów zdarzeń.
Więcej szczegółów znajdziesz poniżej w sekcjach „object_with_object_properties”, „object_properties”, „objects” oraz „object_properties_history”.
object_with_object_properties
Ten obiekt bazy danych zawiera dane z rekordów HubSpot. Zapytania do tego obiektu bazy danych zwracają jeden wiersz dla każdego rekordu w ramach typu obiektu (np. wszystkie rekordy kontaktów w typie obiektu „kontakty”). Wszystkie właściwości są przechowywane w kolumnie „Właściwości”, która jest kolumną typu Snowflake Variant / JSON.
Ten widok może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
OBJECTTYPEID |
Varchar | Identyfikator typu obiektu (np. kontakty to 0-1). |
OBJECTID |
Liczba | Identyfikator rekordu (np. rekord kontaktu o identyfikatorze 123752). |
PROPERTIES |
Wariant | Wartości właściwości rekordu. |
UPDATEDAT |
Sygnatura czasowa | Data i godzina ostatniej aktualizacji rekordu w HubSpot. Dowiedz się więcej o typach danych w kolumnach. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina, kiedy dane zostały po raz ostatni zaimportowane przez Snowflake. |
Uwaga: 25 stycznia 2022 r. kolumna „timestamp” w tabeli i widoku „object_with_object_properties”, która reprezentuje datę i godzinę ostatniej aktualizacji rekordu obiektu w HubSpot, zostanie zmieniona na „updatedat”. Ma to na celu dostosowanie do sposobu przedstawiania danych daty i czasu w pozostałej części udostępnionych danych.
Ponieważ jest to zmiana powodująca niekompatybilność, do tabeli i widoku dodano nową kolumnę „updatedat ”. Przez następne 90 dni te dwie nowe kolumny będą współistnieć z kolumną „timestamp”, którą mają zastąpić. Daje to możliwość przejścia na korzystanie z nowych kolumn.
Po upływie 90 dni, 25 stycznia 2022 r., kolumna „timestamp” zostanie usunięta z tabeli i widoku. Po tej dacie każda próba wysłania zapytania do tabeli lub widoku „object_with_object_properties” z wykorzystaniem kolumn „timestamp” zakończy się niepowodzeniem.
Przykład 1
Pobierz wszystkie kontakty i ich właściwości.
Zapytanie:
SELECT objectTypeId, objectId, propertiesFROM object_with_object_propertiesWHERE objectTypeId = '0-1'
Wynik:
| OBJECTTYPEID | OBJECTID | PROPERTIES |
| 0–1 | 38960439 | {"createdate": "1504656970152"...} |
| 0-1 | 321740651 | { "createdate": "1590183081949"...} |
| 0-1 | 98392101 | { „createdate”: „1533566477279”...} |
| ... | ... | ... |
Przykład 2
Pobierz nazwy i etapy maksymalnie trzech transakcji.
Zapytanie:
SELECTobjectId,properties:dealname::string AS dealname,properties:dealstage::string AS dealstage, properties:amount::number AS dealamountFROM object_with_object_propertiesWHERE objectTypeId = '0-3'LIMIT 3;
Wyniki:
| OBJECTID | NAZWA TRANSAKCJI | ETAP TRANSAKCJI | KWOTA TRANSAKCJI |
| 38960439 | Nazwa transakcji 1 | zamknięta/nieudana | 7488939 |
| 321740651 | Nazwa transakcji 1 | zamknięta wygrana | 9292029 |
| 98392101 | Nazwa transakcji 1 | transakcja zakończona bez sukcesu | 62626528 |
obiekty
Ten obiekt bazy danych stanowi podzbiór danych zawartych w obiekcie bazy danych object_with_object_properties. Każdy zwrócony wiersz zawiera identyfikator obiektu dla każdego rekordu. Ten obiekt bazy danych zwraca wyłącznie istniejące rekordy. Gdy rekord zostanie usunięty w HubSpot, zostanie on usunięty z tego obiektu bazy danych. Ten obiekt bazy danych stanowi podzbiór danych zawartych w tabeli object_with_object_properties. Każdy zwrócony wiersz zawiera identyfikator obiektu dla każdego rekordu. Ten widok zwraca wyłącznie istniejące rekordy. Gdy rekord zostanie usunięty w HubSpot, zostanie on usunięty z tego widoku.
Ten obiekt bazy danych zawiera aktualne dane obiektu bez wartości właściwości. Należy go używać, gdy potrzebne są wyłącznie podstawowe atrybuty rekordu, lub połączyć go z obiektem OBJECT_PROPERTIES, gdy potrzebne są wybrane właściwości. Wykorzystanie tego obiektu bazy danych wraz z obiektem „object_properties” umożliwia replikację danych zawartych w tabeli „object_with_object_properties”, przy jednoczesnym zachowaniu kontroli nad tym, które właściwości są zwracane.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
OBJECTTYPEID |
Varchar | Identyfikator typu obiektu (np. kontakty to 0-1). |
OBJECTID |
Liczba | Identyfikator rekordu (np. rekord kontaktu o identyfikatorze 123752). |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn. |
Przykład 1
Pobierz wszystkie rekordy kontaktów.
Zapytanie:
SELECT objectTypeId, objectIdFROM objectsWHERE objectTypeId = '0-1'
Zwraca:
| OBJECTTYPEID | OBJECTID |
| 0–1 | 36721864 |
| 0–1 | 103580363 |
| 0-1 | 56047670 |
| ... | ... |
właściwości_obiektu
Ten obiekt bazy danych stanowi podzbiór obiektu bazy danych „object_with_object_properties ”. Każdy wiersz zawiera aktualną wartość właściwości ustawioną dla danego rekordu. Na przykład kontakt będzie miał jeden wiersz dla właściwości „Imię ” i jeden wiersz dla właściwości„Nazwisko ”. Jeśli rekord nie posiada wartości dla danej właściwości, wiersz ten pojawi się z pustym ciągiem znaków lub w ogóle nie pojawi się.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
OBJECTTYPEID |
Varchar | Identyfikator typu obiektu (np. kontakty to 0-1). |
OBJECTID |
Liczba | Identyfikator rekordu (np. rekord kontaktu o identyfikatorze 123752). |
NAME |
Varchar | Nazwa właściwości. |
VALUE |
Timestamp | Wartość właściwości. |
UPDATEDAT |
Sygnatura czasowa | Data i godzina ostatniej aktualizacji rekordu w HubSpot. Dowiedz się więcej o typach danych kolumn. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina, kiedy dane zostały po raz ostatni zaimportowane przez Snowflake. |
Przykład 1
Pobierz właściwości „Imię”, „Nazwisko” i „Miasto” dla wszystkich kontaktów.
Zapytanie:
SELECT objectTypeId, objectId, name, valueFROM object_propertiesWHERE objectTypeId = '0-1'AND name IN ('firstname', 'lastname', 'city')ORDER BY objectId;
Wynik:
| OBJECTTYPEID | OBJECTID | NAME | VALUE |
| 0–1 | 10401 | imię | Brian |
| 0-1 | 10401 | miasto | Dublin |
| 0-1 | 10401 | nazwisko | Gallagher |
| 0-1 | 23451 | imię | Fernando |
| 0-1 | 23451 | nazwisko | Fierro |
| 0-1 | 25751 | imię | Charles |
| ... | ... | ... | ... |
Przykład 2
Pobierz imię, nazwisko i etap cyklu życia wszystkich kontaktów, a następnie połącz je w jeden wiersz dla każdego kontaktu. W tym przykładzie wykorzystano składnię SQL PIVOT.
Zapytanie:
SELECT objectId, firstname, lastname, lifecyclestage FROM(SELECT objectId, name, valueFROM object_propertiesWHERE objectTypeId = '0-1'AND name IN ('firstname', 'lastname', 'lifecyclestage'))PIVOT(MAX(value) FOR name IN ('firstname', 'lastname', 'lifecyclestage')) AS p(objectId, firstname, lastname, lifecyclestage);
Wynik:
| OBJECTTYPEID | OBJECTID | IMIĘ | LASTNAME | ETAP CYKLU ŻYCIA |
| 0–1 | 54325098 | Hobbes | Baron | główny |
| 0-1 | 96805401 | Milo | Złoto | przewaga |
| 0-1 | 6922028 | Henry | Riley | przewaga |
| ... | ... | ... | ... | ... |
object_properties_history
Ten obiekt bazy danych zawiera historyczne wartości właściwości. W przypadku kontaktów zawiera 45 najnowszych wartości. W przypadku wszystkich innych obiektów zawiera 20 najnowszych wartości. Wyświetla wiersz dla każdej historycznej wartości właściwości. Aktualna wartość właściwości jest określana na podstawie najnowszego znacznika czasu UPDATEDATw historii właściwości.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
OBJECTTYPEID |
Varchar | Identyfikator typu obiektu (np. „kontakty” to 0-1). |
OBJECTID |
Liczba | Identyfikator rekordu (np. rekord kontaktu o identyfikatorze 123752). |
NAME |
Varchar | Nazwa właściwości. |
VALUE |
Timestamp | Wartość właściwości. |
UPDATEDAT |
Sygnatura czasowa | Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. |
Przykład 1
Pobierz historię jednej właściwości dla jednego kontaktu.
Zapytanie:
SELECT objectId, name, value, updatedAtFROM object_properties_historyWHERE objectTypeId = '0-1'AND objectId = 136493192AND name = 'hs_predictivescoringtier'ORDER BY UPDATEDAT DESC;
Wynik:
| OBJECTID | NAME | VALUE | DATA AKTUALIZACJI |
| 136493192 |
hs_predictivescoringtier |
poziom_1 |
22.06.2022 22:45:05.931 |
| 136493192 |
hs_poziom_punktacji_prognostycznej |
poziom_2 |
18.09.2021 08:20:56.622 |
| 136493192 |
hs_poziom_oceny_prognostycznej |
poziom_3 |
31.11.2019 18:20:22.851 |
| ... |
... |
... |
... |
Przykład 2
Pobierz aktualne imiona i nazwiska wszystkich kontaktów, które kiedykolwiek znajdowały się w fazie cyklu życia „Subskrybent”.
Zapytanie:
SELECTobjectId,properties:firstname::string AS firstname,properties:lastname::string AS lastnameFROM object_with_object_propertiesWHERE object_with_object_properties.objectTypeId = '0-1'AND objectId IN (SELECT objectIdFROM object_properties_historyWHEREobject_properties_history.objectTypeId = '0-1'AND object_properties_history.name = 'lifecyclestage'AND object_properties_history.value = 'subscriber');
Wynik:
| ID OBIEKTU | IMIĘ | NAZWISKO |
| 54325098 | Hobbes | Baron |
| 96805401 | Milo | Gold |
| 6922028 | Henry | Riley |
| ... | ... | ... |
Zapytania dotyczące powiązań
Dane dotyczące powiązań są dostępne w ASSOCIATIONS. Aby pobrać konkretny typ powiązania, należy zastosować filtr według combinedAssociationTypeId. Należy połączyć ASSOCIATIONS z ASSOCIATION_DEFINITIONS, aby zidentyfikować powiązane typy obiektów oraz definicję powiązania.
association_definitions
Ten obiekt bazy danych zawiera informacje o wszystkich dostępnych typach powiązań między obiektami HubSpot, przy czym każdy typ powiązania zajmuje jeden wiersz. Można połączyć ten obiekt bazy danych z obiektem bazy danych powiązań, aby uzyskać informacje o powiązaniach dotyczące konkretnych rekordów.
Między tymi samymi obiektami może istnieć wiele typów powiązań. Główny typ powiązania, czyli ten wyświetlany w HubSpot po powiązaniu rekordów, to powiązanie, dla którego ISMAINASSOCIATIONDEFINITION ma true.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
COMBINEDASSOCIATIONTYPEID |
Varchar | Unikalny identyfikator definicji powiązania. |
CATEGORY |
Varchar | Źródło typu powiązania. Jedna z następujących wartości: HUBSPOT_DEFINED, USER_DEFINED, INTEGRATOR_DEFINED |
ID |
Liczba | Identyfikator definicji powiązania w ramach danej kategorii. |
FROMOBJECTTYPEID |
Varchar | Identyfikator obiektu, który jest źródłem definicji powiązania. |
TOOBJECTTYPEID |
Varchar | Identyfikator obiektu, który jest miejscem docelowym definicji powiązania. |
NAME |
Varchar | Nazwa definicji powiązania. |
LABEL |
Varchar | Etykieta definicji powiązania. |
ISMAINASSOCIATIONDEFINITION |
Boolean | Określa, czy definicja powiązania jest typem głównym. Gdy wartość wynosi „true”, definicja ta jest wyświetlana przez HubSpot w powiązanych rekordach. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn. |
Przykład 1
Pobierz typy powiązań dostępne na Twoim koncie.
Zapytanie:
SELECT combinedAssociationTypeId, fromObjectTypeId, toObjectTypeId, nameFROM association_definitionsORDER BY category, id
Wynik:
| COMBINEDASSOCIATIONTYPE | FROMOBJECTTYPEID | TOOBJECTTYPEID | NAZWA |
| 0–1 | 0–1 | 0-2 | KONTAKT_Z_FIRMĄ |
| 0-2 | 0-2 | 0-1 | FIRMA_DO_KONTAKTU |
| 0–3 | 0-3 | 0-1 | DEAL_TO_CONTACT |
| 0-4 | 0-1 | 0-3 | KONTAKT_DO_TRANSAKCJI |
| 0–5 | 0-3 | 0-2 | UMOWA_Z_FIRMĄ |
| ... | ... | ... | ... |
Przykład 2
Pobierz dostępne typy powiązań między transakcjami a firmami.
Zapytanie:
SELECTcombinedAssociationTypeId, fromObjectTypeId, toObjectTypeId, nameFROM association_definitionsWHERE fromObjectTypeId = '0-3' AND toObjectTypeId = '0-2'
AND isMainAssociationDefinition = trueORDER BY category, id
Wynik:
| TYP POŁĄCZONEGO STOWARZYSZENIA | Z ID TYPU OBIEKTU | DO ID TYPU OBIEKTU | NAZWA |
| 0–5 | 0–3 | 0-2 | DEAL_TO_COMPANY |
| 0-271 | 0-3 | 0-2 | UMOWA_Z_GŁÓWNĄ_FIRMĄ |
| 0-341 | 0-3 | 0-2 | TRANSAKCJA_Z_FIRMĄ_BEZ_NAZWY |
powiązania
Ten obiekt bazy danych zawiera informacje o powiązaniach między konkretnymi rekordami. Każdy wiersz reprezentuje powiązanie między jednym obiektem a innym. Wiersze mogą występować w tym obiekcie bazy danych, nawet jeśli rekordy, do których się odnoszą, zostały usunięte. Można sprawdzić, czy rekordy istnieją, wykonując połączenie z tabelą obiektów.
Ten obiekt bazy danych zawiera rekordy powiązań dla wszystkich typów powiązań. Aby uzyskać metadane powiązań, należy zastosować filtr według combinedAssociationTypeId i wykonać połączenie z ASSOCIATION_DEFINITIONS.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
COMBINEDASSOCIATIONTYPEID |
Varchar | Unikalny identyfikator definicji powiązania. |
FROMOBJECTID |
Liczba | Identyfikator obiektu źródłowego. |
TOOBJECTID |
Liczba | Identyfikator obiektu docelowego. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego załadowania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn. |
Przykład 1
Pobierz wszystkie powiązane transakcje i kontakty.
Zapytanie:
SELECT combinedAssociationTypeId, fromObjectId, toObjectIdFROM associationsWHERE combinedAssociationTypeId = '0-5'
Wynik:
| COMBINEDASSOCIATIONTYPEID | FROMOBJECTID | TOOBJECTID |
| 0–5 | 6626541373 | 233620335 |
| 0–5 | 6616436082 | 3866015468 |
| 0–5 | 6690805943 | 7132752747 |
| ... | ... | ... |
Przykład 2
Pobierz wszystkie zgłoszenia powiązane z konkretnym kontaktem (ID kontaktu: 3005).
Zapytanie:
SELECT combinedAssociationTypeId, fromObjectId, toObjectIdFROM associationsWHERE associationCategory = 'HUBSPOT_DEFINED'AND combinedAssociationTypeId = '0-15'AND fromObjectId = 3005;
Wynik:
| TYP POŁĄCZONEGO POWIĄZANIA | Z ID OBIEKTU | DO ID OBIEKTU |
| 0–5 | 6626541373 | 233620335 |
Przykład 3
Pobierz wszystkie transakcje powiązane z konkretnym kontaktem (ID kontaktu: 4464). Zamiast sztywnego kodowania combinedAssociationTypeId, w tym przykładzie stosuje się połączenie z association_definitions.
Zapytanie:
SELECT combinedAssociationTypeId, fromObjectId toObjectId,FROM associationsWHEREcombinedAssociationTypeId = (SELECT combinedAssociationTypeId FROM association_definitions WHERE fromObjectTypeId = '0-1' AND toObjectTypeId = '0-3' AND isMainAssociationDefinition)AND fromObjectId = 4464;
Wyniki:
| ID połączonego typu powiązania | ID OBJEKTU ŹRÓDŁOWEGO | DO ID OBIEKTU |
| 0–5 | 6626541373 | 233620335 |
Zapytania właściciela
właściciele
Ten obiekt bazy danych zawiera informacje o użytkownikach na Twoim koncie HubSpot. Użytkownicy mogą być ustawieni jako właściciele rekordów i będą zawierać zarówno identyfikator użytkownika, jak i identyfikator właściciela, w zależności od kontekstu. Oba identyfikatory mogą służyć do identyfikacji tego samego użytkownika.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
OWNERID |
Liczba | Identyfikator właściciela użytkownika. |
USERID |
Liczba | Identyfikator użytkownika. Użytkownicy, dla których w tej kolumnie znajduje się wartość NULL, zostali usunięci. |
EMAIL |
Varchar | Adres e-mail użytkownika. |
FIRSTNAME |
Varchar | Imię użytkownika. |
LASTNAME |
Varchar | Nazwisko użytkownika. |
ARCHIVED |
Boolean | Czy użytkownik został usunięty. |
CREATEDAT |
Sygnatura czasowa | Data i godzina utworzenia użytkownika w HubSpot. Więcej informacji znajdziesz w sekcji „Typy danych kolumn ”. |
UPDATEDAT |
Sygnatura czasowa | Data i godzina ostatniej aktualizacji użytkownika w HubSpot. Więcej informacji znajdziesz w sekcji „Typy danych kolumn ”. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. |
Przykład 1
Pobierz wszystkich użytkowników. Filtr WHERE archived = false usuwa usuniętych użytkowników z zwracanych danych.
Zapytanie:
SELECT ownerId, userId, email, firstname, lastname
FROM owners
WHERE archived = false
Wynik:
| OWNERID | USERID | FIRSTNAME | LASTNAME | |
| 29584574 | 4621126 | 233620335 | Hobbes | Baron |
| 30532717 | 4874784 | 3866015468 | Pablo | Walters |
| 30580321 | 925511 | 7132752747 | Milo | Złoto |
| ... | ... | ... | ... | ... |
Przykład 2
Pobierz konkretnego właściciela na podstawie jego identyfikatora właściciela.
Zapytanie:
SELECT ownerId, userId, email, firstname, lastnameFROM ownersWHERE ownerId = 29584574;
Wynik:
| OWNERID | ID UŻYTKOWNIKA | IMIĘ | NAZWISKO | |
| 29584574 | 4621126 | 233620335 | Hobbes | Baron |
Przykład 3
Pobieranie wszystkich kontaktów i ich właścicieli. To zapytanie łączy rekordy z właścicielami za pomocą funkcji ` object_with_object_properties ` oraz właściwości kontaktu ` hubspot_owner_id`.
SELECT
contact.objectId JAKO contact_id,
contact.properties:firstname::string JAKO contact_firstname,
contact.properties:lastname::string AS contact_lastname,
contact.properties:hubspot_owner_id::number AS contact_hubspot_owner_id,
owner.firstname AS owner_firstname,
owner.lastname AS nazwisko_właściciela,
właściciel.adres_e-mail JAKO owner_email
Z obiekt_z_właściwościami_obiektu JAKO kontakt
DO właściciele JAKO właściciel
W contact.properties:hubspot_owner_id::number = owner.ownerId
WHERE contact.objectTypeId = '0-1';
Wynik:
| IDENTYFIKATOR KONTAKTU | CONTACT_FIRSTNAME | CONTACT_LASTNAME | ID_WŁAŚCICIELA_HUBSPOT | IMIĘ_WŁAŚCICIELA | OWNER_LASTNAME | OWNER_EMAIL |
| 113834202 | Richard | Greenfield | 29584574 | Hobbes | Baron | hobbes.b@business.com |
| 53540801 | Ford | Karl | 30241125 | Milo | Gold | milo.g@business.com |
| ... | ... | ... | ... | ... | ... | ... |
Zapytania dotyczące zespołów
zespoły
Zespoły w HubSpot pozwalają organizować użytkowników w grupy w celach organizacyjnych i sprawozdawczych. Możesz mieć zespół główny oraz dodatkowe zespoły.
Ten obiekt bazy danych zawiera informacje o zespołach na Twoim koncie HubSpot.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
| TEAMID | Liczba | Identyfikator zespołu. |
| TEAMNAME | Varchar | Nazwa zespołu. |
| PARENTTEAMID | Liczba | Identyfikator zespołu nadrzędnego. |
| CHILDTEAMIDS | Tablica | Identyfikatory zespołów podrzędnych. |
| PRIMARYOWNERMEMBERS | Varchar | Identyfikatory właścicieli głównych członków zespołu. |
| SECONDARYOWNERMEMBERS | Boolean | Identyfikatory właścicieli drugorzędnych członków zespołu. |
| INGESTEDAT | Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. |
Przykład 1
Pobierz wszystkie zespoły.
Zapytanie:
SELECT teamId,teamName, primaryOwnerMembers
FROM teams
Zwraca:
| TEAMID | NAZWA DRUŻYNY | GŁÓWNI WŁAŚCICIELE I CZŁONKOWIE |
| 29584574 | Poddrużyna | [233620335, 1234553] |
| 30532717 | Super Drużyna | [3866015468, 126221873] |
| 3058032 | Drużyna A | [7132752747] |
owner_team
Ten obiekt bazy danych zawiera informacje o tym, którzy właściciele odpowiadają poszczególnym zespołom na Twoim koncie HubSpot.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
| TEAMID | Liczba | Identyfikator zespołu. |
| OWNERID | Numer | Identyfikator właściciela użytkownika. |
| ISTEAMPRIMARY | Wartość logiczna | Czy ten zespół jest zespołem głównym dla tego właściciela. |
| INGESTEDAT | Sygnatura czasowa | Data i godzina ostatniego załadowania danych przez Snowflake. |
Przykład 1
Pobierz wszystkich właścicieli dla danego zespołu.
Zapytanie:
SELECT teamId, ownerId, isTeamPrimaryFROM teamsWHERE teamId = 29584574
Zwraca
| TEAMID | TEAMNAME | ISTEAMPRIMARY |
| 29584574 | 233620335 | PRAWDA |
| 29584574 | 1234553 | PRAWDA |
Zapytania potokowe
Poniżej dowiesz się, jak wyszukiwać dane dotyczące potoku transakcji i zgłoszeń, takie jak dostępne potoki na Twoim koncie oraz ich etapy.
Możesz połączyć te dane z danymi obiektowymi, aby uzyskać pełny obraz swoich ścieżek sprzedaży. Na przykład możesz wyszukiwać transakcje i ich ścieżki sprzedaży, łącząc tabelę object_with_object_properties z pipelines”.
pipelines
Ten obiekt bazy danych zawiera informacje o procesach transakcji i zgłoszeń na koncie użytkownika. Każdy zwrócony wiersz reprezentuje pojedynczy proces.
Ta tabela może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
PIPELINEID |
Varchar | Identyfikator potoku. |
OBJECTTYPEID |
Varchar | Identyfikator obiektu, który może zawierać potok (np. transakcje lub zgłoszenia). |
LABEL |
Varchar | Nazwa potoku w HubSpot. |
DISPLAYORDER |
Liczba | Kolejność, w jakiej potok jest wyświetlany w HubSpot. |
ARCHIVED |
Boolean | Czy proces sprzedaży został usunięty. |
CREATEDAT |
Sygnatura czasowa | Kiedy potok został utworzony. |
UPDATEDAT |
Sygnatura czasowa | Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych w kolumnach. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. |
Przykład 1
Pobierz wszystkie dostępne procesy transakcji, posortowane według ich kolejności w HubSpot.
Zapytanie:
SELECT objectTypeId, pipelineId, labelFROM pipelinesWHERE objectTypeId = '0-3' AND not archivedORDER BY displayorder;
Wynik:
| OBJECTTYPEID | PIPELINEID | LABEL |
| 0–3 | 1bed503c-37f7-4f51-9d40-7598902673f4 | Lejek sprzedaży |
| 0-3 | 12659678 | Pipeline licencji |
| 0–3 | 75e28846-ad0d-4be2-a027-5e1da6590b98 | Nowa działalność |
| ... | ... | ... |
Przykład 2
Pobierz transakcje z określonego procesu sprzedaży, korzystając z funkcji `object_with_object_properties`.
SELECT
deals.objectId deal_id,
deals.properties:dealname::varchar deal_name,
pipelines.label pipeline_name
FROM object_with_object_properties deals
INNER JOIN pipelines
ON deals.objectTypeId = pipelines.objectTypeId
AND deals.properties:pipeline::string = pipelines.pipelineid
WHERE deals.objecttypeId = '0-3'
AND pipelines.objectTypeId = '0-3';
Zwraca:
| DEAL_ID |
DEAL_NAME |
PIPELINE_NAME |
| 605140072 |
Meowmix Global – rejestracja |
Lejek sprzedaży |
| 605457408 |
Zmiana wizerunku marki Friskies |
Proces sprzedaży |
| 604362473 |
Tworzenie aplikacji Fresh Step |
Kanał sprzedaży |
pipeline_stages
Ten widok zawiera informacje o poszczególnych etapach w ramach ścieżki. Etapy można zidentyfikować, łącząc identyfikator typu obiektu, identyfikator ścieżki oraz identyfikator etapu. Podczas łączenia z ścieżkami należy używać identyfikatora typu obiektu oraz identyfikatora ścieżki.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
PIPELINEID |
Varchar | Identyfikator potoku. |
STAGEID |
Varchar | Identyfikator etapu. |
LABEL |
Varchar | Nazwa etapu w HubSpot. |
DISPLAYORDER |
Liczba | Kolejność, w jakiej potok jest wyświetlany w HubSpot. |
METADATA |
Wariant | Opis etapu w formacie JSON, zawierający informację, czy jest on otwarty, czy zamknięty |
ARCHIVED |
Boolean | Informacja, czy etap potoku został usunięty. |
CREATEDAT |
Timestamp | Kiedy utworzono etap potoku. |
Przykład 1
Pobierz etapy potoku dla potoku transakcji o nazwie„Sales pipeline”.
Zapytanie:
SELECT pipelineid, stageId, labelFROM pipeline_stagesWHERE not archivedAND pipelineid = (SELECT pipelineid FROM pipelines WHERE objectTypeId = '0-3' AND not archived AND label = 'Sales Pipeline' LIMIT 1)ORDER BY displayorder;
Wynik:
| PIPELINEID | STAGEID | LABEL |
| 941650 | 941651 | Skontaktowano się |
| 941650 | 941652 | Umówiono spotkanie |
| 941650 | 941653 | Wysłano fakturę |
| ... | ... | ... |
Przykład 2
Pobierz wszystkie transakcje i odpowiadające im etapy procesu sprzedaży.
Zapytanie:
SELECTdeals.objectId deal_id,deals.properties:dealname::varchar deal_name,pipelines.label pipeline_name,pipeline_stages.label pipeline_stage_nameFROM object_with_object_properties dealsINNER JOIN pipelinesON deals.objectTypeId = pipelines.objectTypeIdAND deals.properties:pipeline::string = pipelines.pipelineidINNER JOIN pipeline_stagesON deals.objectTypeId = pipeline_stages.pipelineidAND deals.properties:pipeline::string = pipeline_stages.pipelineidAND deals.properties:dealstage::string = pipeline_stages.stageIdWHERE deals.objecttypeId = '0-3';
Wynik:
| DEAL_ID | DEAL_NAME | NAZWA_PROCESU | NAZWA_ETAPU_PROCESU |
| 605140072 | Meowmix Global – rejestracja | Lejek sprzedaży | Wysłano umowę |
| 605457408 | Zmiana wizerunku marki Friskies | Proces sprzedaży | Umówiono spotkanie |
| 604362473 | Tworzenie aplikacji Fresh Step | Proces sprzedaży | Podpisana umowa |
| ... | ... | ... | ... |
Zapytania dotyczące właściwości
property_definitions
Ten obiekt bazy danych zawiera informacje o właściwościach obiektów i zdarzeń na Twoim koncie HubSpot. Właściwości zdarzeń obejmują zdarzenia standardowe, takie jak otwarcia wiadomości e-mail i kliknięcia, oraz niestandardowe właściwości zdarzeń behawioralnych. Informacje te mogą być pomocne przy definiowaniu wartości występujących w danych object_properties i events.
Możesz zidentyfikować konkretne właściwości, łącząc identyfikator typu obiektu z nazwą. Podobne informacje można uzyskać za pomocą interfejsu API właściwości.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
OBJECTYPEID |
Varchar | Identyfikator obiektu, którego dotyczy zdarzenie. |
NAME |
Varchar | Wewnętrzna nazwa właściwości. |
LABEL |
Varchar | Etykieta właściwości. |
DESCRIPTION |
Varchar | Opis właściwości. |
TYPE |
Varchar | Typ właściwości (np. ciąg znaków, liczba, data i godzina). |
FIELDTYPE |
Varchar | Typ pola właściwości. Określa sposób wyświetlania właściwości w HubSpot i w formularzach (np. pole wyboru, lista rozwijana). |
DISPLAYORDER |
Liczba | Kolejność wyświetlania właściwości. |
GROUPNAME |
Varchar | Nazwa grupy właściwości. |
OPTIONS |
Variant | W przypadku właściwości wyliczeniowych — tablica opcji właściwości, zawierająca atrybuty każdej opcji (np. kolejność wyświetlania, etykieta). |
CREATEDUSERID |
Liczba | Identyfikator użytkownika, który utworzył właściwość. |
REFERENCEDOBJECTTYPE |
Varchar | Typ obiektu, do którego odwołuje się ta właściwość. W przypadku właściwości właściciela zwracana jest wartość OWNER. |
CALCULATED |
Boolean | Czy właściwość jest właściwością obliczeniową. |
EXTERNALOPTIONS |
Boolean | Czy opcje właściwości są zdefiniowane w systemie zewnętrznym. |
HASUNIQUEVALUE |
Boolean | Czy wartości właściwości są unikalne. Można ustawić tylko podczas tworzenia właściwości za pośrednictwem API. |
HIDDEN |
Logiczna | Czy właściwość jest ukryta w HubSpot. |
SHOWCURRENCYSYMBOL |
Boolean | Czy wartość właściwości liczbowej jest sformatowana jako waluta. |
FORMFIELD |
Boolean | Czy ta właściwość może być używana w formularzach. |
READONLYDEFINITION |
Boolean | Czy właściwość może być edytowana w HubSpot. |
READONLYVALUE |
Boolean | Czy wartość właściwości może być edytowana w HubSpot. |
HUBSPOTDEFINED |
Boolean | Czy właściwość została utworzona przez HubSpot, czy przez użytkownika. |
ARCHIVED |
Boolean | Czy właściwość została usunięta. |
CREATEDAT |
Sygnatura czasowa | Data i godzina utworzenia właściwości w HubSpot. |
UPDATEDAT |
Sygnatura czasowa | Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych w kolumnach. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. |
Przykład 1
Pobierz nazwy i opisy wszystkich właściwości kontaktów.
Zapytanie:
SELECT name, label, descriptionFROM property_definitionsWHERE objectTypeId = '0-1'
Wynik:
| NAME | ETYKIETA | OPIS |
| etap_wprowadzenia_sql | Przeszedł do etapu SQL | Liczba dni od rozpoczęcia etapu SQL. |
|
nazwa_pierwszego_zdarzenia_konwersji
|
Pierwsza konwersja | Pierwszy formularz przesłany przez ten kontakt. |
| adres | Adres | Adres kontaktu. |
Zapytania dotyczące zdarzeń
Zdarzenia obejmują standardowe zdarzenia HubSpot oraz niestandardowe zdarzenia behawioralne. Każde zdarzenie ma swój własny obiekt w bazie danych, oznaczony jako events_eventname.
| Nazwa | |
| EVENTS_AD_INTERACTION | Szczegóły reklamy oraz dane kontaktowe osób, które weszły z nią w interakcję poprzez kliknięcie reklamy lub przesłanie formularza po nawiązaniu kontaktu z reklamą. |
| EVENTS_AD_METRICS_IMPORTED_V0 |
Szczegóły reklamy i wskaźniki jej skuteczności. |
| EVENTS_CALL_MENTIONED_KEYWORD | Szczegóły dotyczące słów kluczowych wymienionych przez dowolnych uczestników rozmów. |
| EVENTS_CLICKED_LINK_IN_EMAIL_V2 |
Linki kliknięte w marketingowych wiadomościach e-mail przez kontakty. |
| EVENTS_CLICKED_LINK_IN_TRACKED_INBOX_EMAIL_V8 | Linki kliknięte w wiadomościach e-mail w skrzynce odbiorczej „Conversations” przez kontakty. |
| EVENTS_COOKIE_BANNER_CLICKED | Kontakty, które kliknęły baner dotyczący plików cookie. |
| EVENTS_COOKIE_BANNER_VIEWED | Kontakty, które wyświetliły informacje o plikach cookie. |
| EVENTS_DOCUMENT_SHARED_V2 | Dokumenty sprzedażowe udostępnione kontaktom za pośrednictwem linku zewnętrznego. |
| EVENTS_DOCUMENT_VIEWED_V2 | Dokumenty sprzedażowe oraz kontakty, które je wyświetliły, otwierając link zewnętrzny. |
| EVENTS_DOCUMENT_COMPLETED_V2 | Dokumenty sprzedaży i kontakty, które je zamknęły. |
| EVENTS_HS_SCHEDULED_EMAIL_V2 | E-maile przesłane do serwerów pocztowych HubSpot w celu wysłania. |
| EVENTS_MTA_DELIVERED_EMAIL_V2 | Wiadomości e-mail pomyślnie dostarczone do odbiorców przez serwery pocztowe HubSpot. |
| EVENTS_MTA_BOUNCED_EMAIL_V2 | Próby dostarczenia wiadomości e-mail, które zostały odrzucone przez serwer pocztowy odbiorcy. |
| EVENTS_OPENED_EMAIL_V2 | Otwarcia wiadomości e-mail przez kontakty. |
| EVENTS_REPORTED_SPAM_EMAIL_V2 | Wiadomości e-mail oznaczone przez odbiorców jako spam. |
| EVENTS_UPDATED_EMAIL_SUBSCRIPTION_STATUS_V2 | Zmiany w subskrypcjach e-mailowych dokonane przez odbiorców. |
| EVENTS_OPENED_TRACKED_INBOX_EMAIL_V8 | Otwarcia wiadomości e-mail w skrzynce odbiorczej „Conservations” przez kontakty. |
| EVENTS_MB_MEDIA_PLAYED | Aktywność odtwarzania filmów przez kontakty. |
| EVENTS_V2_CONTACT_BOOKED_MEETING_THROUGH_SEQUENCE | Kontakt zarezerwował spotkanie za pośrednictwem sekwencji. |
| EVENTS_V2_CONTACT_ENROLLED_IN_SEQUENCE | Kontakt zapisał się do sekwencji. |
| EVENTS_V2_CONTACT_FINISHED_SEQUENCE | Sekwencja została zakończona. |
| EVENTS_V2_CONTACT_REPLIED_SEQUENCE_EMAIL | Kontakt odpowiedział na wiadomość e-mail (lub na wiadomość przychodzącą, która spowodowała wyrejestrowanie z sekwencji) wysłaną w ramach sekwencji. |
| EVENTS_V2_CONTACT_UNENROLLED_FROM_SEQUENCE | Kontakt wyrejestrował się z sekwencji. |
| EVENTS_V2_CONTACT_UNENROLLED_MANUALLY_FROM_SEQUENCE | Użytkownik ręcznie wyrejestrował kontakt. |
| EVENTS_V2_KONTAKT_WYREJESTROWAŁ_SIĘ_Z_SEKWENCJI_E-MAILOWEJ | Kontakt zrezygnował z subskrypcji, co spowodowało wyrejestrowanie go z sekwencji. |
| EVENTS_V2_SEQUENCE_EMAIL_BOUNCED | E-mail z sekwencji został odrzucony. |
| EVENTS_V2_SEQUENCE_ERRORED | Wystąpił błąd sekwencji, co spowodowało wyrejestrowanie. |
| EVENTS_V2_SEQUENCE_STEP_EXECUTED | Wykonano krok sekwencji. |
| EVENTS_VISITED_PAGE | Odwiedziny stron internetowych przez kontakty. |
| EVENTS_<NAZWA_ZDARZENIA_INTEGRACYJNEGO>_<UNIKALNY_IDENTYFIKATOR> | Zdarzenia integracyjne (API Timeline V3) |
Zdarzenia można zidentyfikować, łącząc identyfikator typu zdarzenia z jego identyfikatorem. Kolumny zwracane w wynikach zależą od konkretnego zdarzenia — dla każdej właściwości zdarzenia zwracana jest jedna kolumna. Wszystkie zdarzenia zwracają następujące kolumny:
Uwaga: HubSpot dodał dwie nowe kolumny do wszystkich tabel i widoków zdarzeń:
occurredatoccurredatdateint
Kolumny te zastąpią kolumny occuredat i occuredatdateint 24 listopada 2022 r. Od tego dnia stare kolumny nie będą już dostępne, a próby wysłania zapytania do obiektu bazy danych lub widoku zawierającego zdarzenia z wykorzystaniem tych kolumn zakończą się niepowodzeniem. Dowiedz się więcej o zmianach powodujących niekompatybilność w udostępnianiu danych w Snowflake.
| Nazwa kolumny | Typ | Opis |
EVENTTYPEID |
Varchar | Identyfikator typu zdarzenia, podobny do OBJECTTYPEID Możesz wyszukać wszystkie identyfikatory typów zdarzeń na swoim koncie, korzystając z widoku object_and_event_type_definitions. |
ID |
Varchar | Jest to identyfikator unikalny dla każdego typu zdarzenia. W obrębie danego typu zdarzenia nie ma dwóch rekordów o tym samym identyfikatorze. |
OBJECTTYPEID |
Varchar | Typ obiektu, który spowodował zdarzenie. Na przykład kliknięcie linku w wiadomości e-mail spowoduje wyświetlenie w tej kolumnie0-1, co oznacza obiekt „kontakty”. |
OBJECTID |
Liczba | Identyfikator rekordu, który zrealizował zdarzenie. |
OCCURREDAT |
Sygnatura czasowa | Kiedy wystąpiło zdarzenie. |
|
|
Liczba | Liczba określająca moment wystąpienia zdarzenia. Zawiera te same dane co kolumna OCCURREDAT, ale ma format liczbowy i jest wykorzystywana jako część klucza klastrowego tabeli. W większości przypadków zamiast tej liczby można użyć znacznika czasu OCCURREDAT. |
|
|
Liczba | Liczba określająca moment wystąpienia zdarzenia. Zawiera te same dane co kolumna Uwaga: ta kolumna zostanie wycofana 24 listopada 2022 r. i zastąpiona kolumną |
OCCUREDAT |
Sygnatura czasowa | Kiedy miało miejsce zdarzenie. Uwaga: ta kolumna zostanie wycofana 24 listopada 2022 r. i zastąpiona kolumną |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego załadowania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn. |
PROPERTY_* |
Varchar | Poszczególne kolumny zawierające właściwości zdarzenia. |
Przykład 1
Pobierz 50 najnowszych zdarzeń kliknięć w wiadomościach e-mail.
Zapytanie:
SELECT eventTypeId, objectTypeId, objectId, occuredAt, property_hs_click_raw_url AS hs_click_raw_urlFROM events_clicked_link_in_email_V2
ORDER BY occuredAt
LIMIT 50;
Wynik:
| EVENTTYPEID | OBJECTTYPEID | OBJECTID | OCCUREDAT | HS_CLICK_RAW_URL |
| 4-666288 | 0-1 | 45318579 | 04.08.2016 21:06:43,245 | http://website.com?utm_campaign=Launch&utm_source=hs_email&utm_medium=email&utm_content=32520579 |
| 4-666288 | 0-1 | 80701 | 29 sierpnia 2016 r., godz. 13:31:28,622 | https://cta-image-cms2.hubspot.com/ctas/v2/public/cs/ci/?pg=f0f6585a-08fc-4273-8422-49cfaddcf8d8&pid=1976760&ecid=ACsprvtkRbakerw4BiWlaDL7xFAqau1aW9m1_PAqSfQiWarY69X7Ds42zHGYTCfhHJLrXUP86Nxu |
| 4-666288 | 0-1 | 26146013 | 30.11.2017 14:27:11.528 | https://hubs.ly/H097a37a?utm_source=hs_email&utm_medium=email&utm_content=58251290 |
| ... | ... | ... | ... | ... |
Przykład 2
Pobierz wszystkie zdarzenia kliknięć w wiadomościach e-mail według kontaktów, które je wykonały. To zapytanie pobiera dane kontaktowe poprzez połączenie za pomocą funkcji object_with_object_properties.
Zapytanie:
SELECT
click.occuredat click_timestamp,
click.property_hs_click_raw_url click_url,
contact.properties:firstname::varchar contact_firstname,
contact.properties:lastname::varchar contact_lastname
FROM events_clicked_link_in_email_V2 click
LEFT JOIN object_with_object_properties contact
ON click.objectTypeId = contact.objectTypeId
AND click.objectId = contact.objectId
LIMIT 3;
Wyniki:
| CLICK_TIMESTAMP | CLICK_URL | CONTACT_FIRSTNAME | CONTACT_LASTNAME |
| 2019-01-04 22:35:41.264 | https://help.website.com/articles/tutorial/how-to-use-email-tool?utm_source=hs_automation&utm_medium=email&utm_content=68042217 | Hobbes | Baron |
| 08.11.2018 09:37:41.400 | https://www.website.net/webinar-case-study?utm_source=hs_automation&utm_medium=email&utm_content=55200164 | Milo | Gold |
| 08.11.2018, godz. 09:37:41.426 | https://www.website.net/contact?utm_source=hs_automation&utm_medium=email&utm_content=55200164 | Harlow | Villari |
| ... | ... | ... | ... |
Zapytania typu object_and_event_type
definicje_obiektów_i_typów_zdarzeń
Ten obiekt bazy danych zawiera definicje wszystkich obiektów i zdarzeń dostępnych na Twoim koncie HubSpot.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
OBJECTTYPEID |
Varchar | Identyfikator obiektu, który może znajdować się w potoku (np. transakcje lub zgłoszenia). |
FULLYQUALIFIEDNAME |
Varchar | Nazwa obiektu lub zdarzenia. |
INGESTEDAT |
Timestamp | Data i godzina ostatniego zaimportowania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn. |
Przykład 1
Pobierz wszystkie obiekty i zdarzenia dostępne na koncie HubSpot.
Zapytanie:
SELECT objectTypeId, fullyQualifiedNameFROM object_and_event_type_definitions;
Wynik:
| OBJECTTYPEID | FULLYQUALIFIEDNAME |
| 0–1 | CONTACT |
| 0–8 | POZYCJA |
| 0-11 | ROZMOWA |
| ... | ... |
Zapytania dotyczące segmentów
Poniżej dowiesz się, jak wyszukiwać segmenty, takie jak dostępne segmenty kontaktów i firm oraz rekordy zawarte w tych segmentach.
segmenty
Ten obiekt bazy danych zawiera informacje o segmentach kontaktów i firm w HubSpot. Zwraca jeden wiersz na segment, a kolumny zawierają szczegóły segmentu, takie jak nazwa segmentu, wielkość oraz typ obiektu rekordów, które zawiera. Nie zawiera informacji o poszczególnych rekordach w ramach każdego segmentu (zobacz segment_membership).
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
OBJECTTYPEID |
Varchar | Typ rekordów w segmencie (np. kontakt lub firma). |
SEGMENTID |
Liczba | Identyfikator segmentu. Łączy się z kolumnąSEGMENTID w tabeli przynależności do segmentów. |
CLASSICSEGMENTID |
Liczba | Identyfikator specyficzny dla segmentów kontaktów, który odpowiada identyfikatorowi w adresie URL segmentu w HubSpot. |
NAME |
Varchar | Nazwa segmentu. |
SIZE |
Liczba | Liczba rekordów w segmencie. |
CREATEDBYUSERID |
Liczba | Identyfikator użytkownika, który utworzył segment. |
CREATEDAT |
Sygnatura czasowa | Data utworzenia segmentu w HubSpot. |
UPDATEDBYUSERID |
Liczba | Identyfikator użytkownika, który jako ostatni zaktualizował segment. |
UPDATEDAT |
Sygnatura czasowa | Data i godzina ostatniej aktualizacji w HubSpot. Dowiedz się więcej o typach danych w kolumnach. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. |
Przykład 1
Pobierz wszystkie segmenty kontaktów.
Zapytanie:
SELECT segmentId, name, sizeFROM segmentsWHERE objectTypeId = '0-1';
Wynik:
| SEGMENTSID | NAME | ROZMIAR |
| 118131 | Cotygodniowe działania promocyjne | 103 |
| 66156 | Subskrybenci bloga | 455 |
| 771 852 | Najlepsi subskrybenci 2021 | 37 |
| ... | ... | ... |
Przykład 2
Pobierz konkretny segment kontaktów o nazwie „Najlepsi subskrybenci 2021”.
Zapytanie:
SELECT segmentId, name, size FROM segmentsWHERE objectTypeId = '0-1'
ANDsegmentName = 'Top subscribers 2021';
Wynik:
| SEGMENTID | NAZWA | ROZMIAR |
| 771852 | Najlepsi subskrybenci 2021 | 37 |
segment_membership
Ten obiekt bazy danych zawiera informacje o tym, które rekordy należą do poszczególnych segmentów, przy czym jeden wiersz odpowiada jednemu rekordowi w segmencie. Na przykład, jeśli masz segment „Subskrybenci bloga” zawierający 500 kontaktów, obiekt bazy danych zwróci 500 wierszy.
Zawiera wyłącznie identyfikatory segmentów i identyfikatory obiektów. Aby uzyskać więcej informacji, należy połączyć ten obiekt z obiektem bazy danych „segmenty ”.
Ten obiekt bazy danych może zwracać następujące kolumny:
| Nazwa kolumny | Typ | Opis |
SEGMENTID |
Varchar | Identyfikator segmentu. Łączy się z kolumną HS_SEGMENT_ID w tabeli segmentów. |
OBJECTID |
Varchar | Identyfikator rekordu w segmencie. |
UPDATEDAT |
Timestamp | Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn. |
INGESTEDAT |
Sygnatura czasowa | Data i godzina ostatniego zaimportowania danych przez Snowflake. |
Przykład 1
Pobierz identyfikatory wszystkich kontaktów w segmencie„Najlepsi subskrybenci 2021 ”.
Zapytanie:
SELECT objectIdFROM segment_membershipsINNER JOIN segmentsON segment_memberships.segmentId = segments.segmentIdWHERE segments.objectTypeId = '0-1'AND segments.name = 'Top Subscribers 2021';
Wynik:
| OBJECTID |
| 54325098 |
| 96805401 |
| 6922028 |
| ... |
Przykład 2
Pobierz imiona i nazwiska oraz szczegóły kontaktów z segmentu „Najlepsi subskrybenci 2021 ”.
Zapytanie:
SELECT
contact.objectId JAKO object_id,
contact.properties:firstname::string JAKO firstname,
contact.properties:lastname::string AS lastname
Z obiekt_z_właściwościami_obiektu JAKO kontakt
INNER JOIN przynależności_do_segmentów JAKO członkostwo
ON contact.objectId = membership.objectId
INNER JOIN segmenty
ON membership.segmentId = segments.segmentId
WHERE contact.objectTypeId = '0-1'
AND segments.objectTypeId = '0-1'
ORAZ segments.name = 'Najlepsi subskrybenci 2021';
Wynik:
| OBJECTID |
IMĘ |
NAZWISKO |
| 54325098 |
Hobbes |
Baron |
| 96805401 |
Milo |
Gold |
| 6922028 |
Henry |
Riley |
| ... |
... |
... |
Często zadawane pytania
Chcę wygenerować dane podobne do raportu z aplikacji Hubspot. Jak mam to zrobić?
Zazwyczaj warto przyjrzeć się kolumnom obecnym w raporcie, z którym dokonujesz porównania. Jeśli wizualizacja raportu nie ma postaci tabelarycznej, przekształcenie jej w tabelę pozwoli wyświetlić kolumny zawarte w raporcie. Kolumny te są zazwyczaj właściwościami typu obiektu lub typu zdarzenia. Następnym krokiem jest ustalenie, do właściwości typu obiektu odpowiada dana kolumna. Można to zrobić, wysyłając zapytanie do property_definitions:
SELECT * FROM property_definitions
WHERE label = [column_name]
Nie zawsze może wystąpić dokładne dopasowanie, ponieważ niektóre nazwy właściwości są zazwyczaj zamieniane w aplikacji na nazwy bardziej opisowe. W takich przypadkach pomocne może być wyszukiwanie przybliżone przy użyciu operatora LIKE w kolumnie „label” (lub nawet „description”) w tabeli `property_definitions`.
Po ustaleniu, do jakiego typu obiektu należy kolumna, łatwo jest określić, jakie zapytanie należy wykonać. Należy wysłać zapytanie do tabeli object_with_object_properties i filtrować wyniki według identyfikatora objectTypeId dla danego typu. Potrzebne wartości właściwości należy odczytać z kolumny JSON o nazwie `properties`.
Jak powiązać ten typ danych z innym, np. jak pobrać formularze dla danej kampanii?
Aby pobrać formularze powiązane z każdą kampanią, należy połączyć tabele OBJECT_WITH_OBJECT_PROPERTIES, ASSOCIATIONS i ASSOCIATION_DEFINITIONS.
SELECT DISTINCT
campaigns.properties:hs_name::string JAKO nazwa_kampanii,
forms.properties:hs_form_id::string AS form_id
Z obiekt_z_właściwościami_obiektu JAKO kampanie
DO powiązania JAKO stowarzyszenie
W stowarzyszenie.zObiektuId = kampanie.obiektId
DO definicje_powiązań JAKO definicja
ON definition.combinedAssociationTypeId =
powiązanie.combinedAssociationTypeId
DO obiekt_z_właściwościami_obiektu JAKO formularze
ON forms.objectId = association.toObjectId
WHERE campaigns.objectTypeId = '0-35'
AND forms.objectTypeId = '0-28'
ORAZ definicja.zIdentyfikatoru_typu_obiektu = '0-35'
ORAZ definicja.doId_typu_obiektu = '0-28';
Jak sprawdzić status integracji HubSpot-Snowflake?
Aby otrzymywać aktualizacje statusu w czasie rzeczywistym dotyczące awarii i problemów związanych z integracją HubSpot-Snowflake, należy wykonać zapytanie do widoku data_share_status:
SELECT * FROM hubspot.public.data_share_status
LIMIT 1
Wyniki zostaną wyświetlone w następujący sposób:
| STATUS | WIADOMOŚĆ | DATA AKTUALIZACJI |
| OK | W TEJ CHWILI NIE ODNOTOWANO ŻADNYCH ZDARZEŃ | 10 kwietnia 2023 r., godz. 09:21:20.123 |
Ten widok zawiera aktualizacje dotyczące statusu integracji w odwrotnej kolejności chronologicznej. Włączenie wyników tego zapytania do pulpitu nawigacyjnego pomoże Ci śledzić wydajność integracji oraz wykrywać wszelkie przerwy w działaniu lub awarie.
