Przejdź do treści
Uwaga: Tłumaczenie tego artykułu jest podane wyłącznie dla wygody. Tłumaczenie jest tworzone automatycznie za pomocą oprogramowania tłumaczącego i mogło nie zostać sprawdzone. W związku z tym, angielska wersja tego artykułu powinna być uważana za wersję obowiązującą, zawierającą najnowsze informacje. Możesz uzyskać do niej dostęp tutaj.

Zapytanie o dane HubSpot w Snowflake

Data ostatniej aktualizacji: 3 września 2025

Dostępne z każdą z następujących podpisów, z wyjątkiem miejsc, w których zaznaczono:

Po połączeniu Snowflake z kontem HubSpot można użyć funkcji udostępniania danych Snowflake do wysyłania zapytań o dane HubSpot z konta Snowflake.

Opóźnienie danych i region konta Snowflake

Będziesz mieć dostęp do schematu V2_LIVE, który jest aktualizowany co 15 minut, oraz schematu V2_DAILY, który jest aktualizowany codziennie.

Uwaga: następujące widoki w schemacie V2_LIVE są aktualizowane tylko codziennie: association_definitions, owners, pipelines i pipeline_stages.

Konfiguracja środowiska Snowflake

Aby wysyłać zapytania do danych HubSpot w Snowflake, musisz wybrać magazyn, bazę danych i schemat, z którego chcesz wysyłać zapytania. Możesz ustawić je na poziomie arkusza, aby automatycznie uwzględnić je w zapytaniach, lub dodać je ręcznie.

Aby wybrać magazyn, bazę danych i schemat na poziomie arkusza:

  • W górnym wierszu arkusza kliknij pasek Akcje arkusza.

    snowflake-worksheet-settings0
  • W wyskakującym oknie:
    • Kliknij menu rozwijane Magazyn, a następnie wybierz magazyn.
    • Kliknij menu rozwijane Baza danych, a następnie wybierz 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 spowoduje szybsze zapytania i jest zalecane do wysyłania zapytań bezpośrednio w Snowflake.
        • V2_LIVE: schemat na żywo oparty na bezpiecznych widokach danych HubSpot. Dane w tym schemacie są aktualizowane co 15 minut. W przypadku zapytań dotyczących dużego zestawu danych zapytania mogą być powolne. W takim przypadku zaleca się najpierw skopiowanie danych do własnej tabeli za pomocą procesu ETL, a następnie wykonanie zapytania do tej tabeli.


      snowflake-worksheet-settings-window0

Po skonfigurowaniu środowiska można wykonywać zapytania do danych HubSpot bez konieczności ręcznego dodawania bazy danych lub typu schematu do zapytań.

Aby ręcznie dodać bazę danych i typ schematu do zapytań, dodaj nazwę bazy danych, a następnie schemat na początku pola FROM. Na przykład:


SELECT objectTypeId, property_createddate
FROM hubspot_share_name.V2_LIVE.objects_deals

LIMIT 1

Przegląd danych

Zapytania są konstruowane przy użyciu języka SQL i mogą być używane do pobierania danych HubSpot, takich jak:

  • Obiekty: standardowe i niestandardowe obiekty, takie jak kontakty, firmy, produkty.
  • Rekordy : indywidualne rekordy, takie jak indywidualny kontakt lub firma.
  • Asocjacje: wszystkie dostępne typy asocjacji i aktualnie powiązane rekordy.
  • Events: dane zdarzeń zarówno dla standardowych zdarzeń HubSpot, takich jak otwarcia wiadomości e-mail, jak i niestandardowych zdarzeń behawioralnych.
  • Segmenty: Segmenty kontaktów i firm HubSpot.
  • Właściciele: użytkownicy na koncie HubSpot w odniesieniu do rekordów, których są właścicielami.
  • Pipelines : potoki transakcji i zgłoszeń, w tym etapy potoku.
  • Properties: 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, niektóre z nich będą miały charakter przełomowy. Zaleca się subskrybowanie dziennika zmian deweloperów HubSpot. Zmiany te będą zawsze publikowane w dzienniku zmian przed każdą aktualizacją.

Ograniczanie i porządkowanie zwracanych danych

Podczas konstruowania zapytań można kontrolować ilość zwracanych danych, a także kolejność, w jakiej są zwracane, poprzez uwzględnienie w zapytaniu LIMIT i ORDER BY. Na przykład, aby zapytać o wszystkie kontakty 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 objects_deals
ORDER BY objectId
LIMIT 10;

Typy danych kolumn

W przypadku zapytań dotyczących danych w Snowflake zwracane kolumny zależą od danych, których dotyczy zapytanie. Możesz wyświetlić dostępne kolumny dla danej tabeli lub widoku w Snowflake, wybierając widok na lewym pasku bocznym.

Uwaga:w pozostałej części tego dokumentu używamy terminu obiekt bazy danych, gdy kontekst dotyczy zarówno tabel, jak i widoków.

snowflake-sidebar-view-column-details0


Aby zwrócić określoną kolumnę, należy umieścić ją w polu SELECT zapytania. Na przykład poniższe zapytanie zwróci tylko kolumny OBJECTID i UpdatedAt:


SELECT
objectId, updatedAt
FROM objects_contacts

Poniżej znajdują się ogólne definicje kolumn, które zapytanie może zwrócić. Aby uzyskać inne definicje, które nie zostały uwzględnione poniżej, zobacz definicje poszczególnych widoków w powyższym artykule.

  • OBJECTTYPEID: wartość VARCHAR reprezentująca typ obiektu. Na przykład 0-1 reprezentuje obiekt kontaktów, 0-2 reprezentuje obiekt firm, a 2-1232 może reprezentować niestandardowy obiekt na koncie. W segmentach odnosi się to do typu segmentu (np. kontakt lub firma). Możesz zapytać o wszystkie identyfikatory obiektów i zdarzeń na swoim koncie za pomocą widoku object_and_event_type_definitions.
  • OBJECTID: liczba 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: znacznik czasu, kiedy wiersz danych został dodany do Snowflake, reprezentowany przez wartość TIMESTAMP_NTZ. Nie jest powiązany z logicznym znacznikiem czasu operacji tworzenia lub aktualizacji w HubSpot.
    • Ze względu na wewnętrzne przetwarzanie HubSpot, znacznik czasu pozyskania wiersza może zostać zaktualizowany, nawet jeśli żadne inne kolumny w wierszu nie uległy zmianie.
    • Podczas tworzenia procesów ETL, które kopiują ostatnio zmienione dane, zaleca się oparcie zapytań na znaczniku czasu pozyskania. Ponadto, jeśli przepływ kopiuje dane codziennie, zaleca się kopiowanie danych z poprzednich dwóch dni w celu uwzględnienia opóźnień.
  • CREATEDAT i UPDATEDAT: logiczny znacznik czasu utworzenia lub aktualizacji danych w HubSpot, reprezentowany przez wartość TIMESTAMP_NTZ . Te znaczniki czasu będą odpowiadać znacznikom czasu w HubSpot. Na przykład czas wyświetlany w HubSpot dla daty utworzenia rekordu będzie taki sam jak znacznik czasu w kolumnie CREATEDAT w Snowflake. Nie są one bezpośrednio związane ze znacznikiem czasu pozyskiwania i nie zaleca się opierania procesów ETL na tych właściwościach.
  • COMBINEDASSOCIATIONTYPE: wartość VARCHAR, która jednoznacznie identyfikuje definicję asocjacji.

Przekształcanie typów danych

Czasami dane są zwracane z zapytania z kolumnami VARCHAR, gdy pożądane byłoby, aby były one innego typu. W takich przypadkach zaleca się przekonwertowanie typu danych VARCHAR na pożądane typy za pomocą 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 datetime. Funkcje takie jak:
try_to_number, try_to_timestamp_ntz mogą być użyte do konwersji tych danych VARCHAR na ich typy odpowiednio NUMBER i DATETIME:


SELECT objectid, value AS amount_str, try_to_number(value) AS amount

FROM object_properties
WHERE objecttypeid='0-3' AND name='amount'
LIMIT 1

Zapytania do obiektów

Poniżej dowiesz się, jak wyszukiwać dane z określonych obiektów i rekordów HubSpot, wraz z danymi, które są zwracane.

Dane obiektów różnych typów są zorganizowane i dostępne na dwa sposoby:

  • Indywidualny: Każdy typ obiektu jest przechowywany we własnym widoku i zawiera tylko rekordy tego samego typu obiektu, np. objects_contacts zawiera tylko rekordy kontaktów. Eliminuje to potrzebę określania identyfikatora typu obiektu podczas wysyłania zapytania. Widoki te są łatwiejsze do odpytywania, ponieważ nie trzeba znać ObjectTypeIds. Zwracają również dane w bardziej użytecznym formacie, z każdym wierszem odpowiadającym obiektowi i aktualną wersją jego właściwości. Tak długo, jak nie doświadczasz powolnych zapytań, zaleca się używanie tych widoków do pobierania danych obiektów. Zobacz więcej w widoku Objects_X poniżej.
  • Połączone: Wszystkie rekordy dla wszystkich typów obiektów są łączone w jeden obiekt bazy danych. W związku z tym podczas wysyłania zapytania należy określić filtr typu "WHERE objectTypeId='0-1'". Na przykład, można użyć następujących objecttypeids podczas wysyłania zapytań:
Nazwa obiektu ObjectTypeId
Kontakty 0-1
firmy 0-2
Pozycje liniowe 0-8

Obiekty niestandardowe będą miały przypisany identyfikator w momencie tworzenia i będą identyfikowane jako 2-unique_ID. Na przykład 2-12345. Dowiedz się więcej o definicjach object_and_event_type_definitions.

Te obiekty bazy danych są ogólnie odpowiednie, jeśli chcesz uzyskać lepszą wydajność zapytań niż ta, którą można uzyskać z widoków objects_x. Zobacz więcej szczegółów w object_with_object_properties, object_properties, objects i object_properties_history poniżej.

widoki objects_x

W tym obiekcie bazy danych każdy dostępny typ obiektu, w tym obiekty niestandardowe, ma swój własny widok, a każdy widok zawiera tylko rekordy dla obiektów określonego typu obiektu. Widoki te są nazwane zgodnie z formatem OBJECTS_<nazwa typu obiektu>, gdzie <nazwa typu obiektu> jest etykietą typu obiektu w liczbie mnogiej. (Należy pamiętać, że jeśli typ obiektu nie ma liczby mnogiej, wówczas <nazwa typu obiektu> będzie po prostu etykietą nazwy typu obiektu w liczbie pojedynczej połączoną z "S").

Zapytania do tego widoku zwracają jeden wiersz dla każdego rekordu w obiekcie z każdą właściwością obiektu dostępną jako oddzielna kolumna.

Poniżej znajduje się pełna lista dostępnych typów obiektów HubSpot (czyli niestandardowych), krótki opis reprezentowanych przez nie danych i odpowiadające im widoki:

Typ obiektu HubSpot

ObjectTypeId

Opis

KONTAKT

0-1

Informacje o osobach kontaktujących się z firmą

FIRMA

0-2

Informacje o poszczególnych firmach lub organizacjach

DEAL

0-3

Szczegóły dotyczące możliwości uzyskania przychodu z kontaktu lub firmy

ZAANGAŻOWANIE

0-4

Przechowuje dane z działań CRM, w tym notatki, zadania, wiadomości e-mail, spotkania i połączenia.

BILET

0-5

Reprezentuje prośby klientów o pomoc lub wsparcie

QUOTE

0-14

Służy do udostępniania informacji o cenach potencjalnym nabywcom.

FORM_SUBMISSION

0-15

Szczegóły poszczególnych zgłoszeń dla formularza HubSpot

LINE_ITEM

0-8

Reprezentuje podzbiór produktów sprzedawanych w ramach transakcji. Gdy produkt jest dołączony do transakcji, staje się pozycją liniową.

CONVERSATION

0-11

Szczegóły wiadomości przychodzących z wielu kanałów.

LANDING_PAGE

0-25

Szczegółowe informacje o stronach docelowych

ZADANIE

0-27

Przechowuje informacje o listach zadań do wykonania

FORMULARZ

0-28

Służy do zbierania informacji o odwiedzających i kontaktach.

MARKETING_EMAIL

0-29

Szczegóły dotyczące wiadomości e-mail z centrum marketingowego

AD_ACCOUNT

0-30

Przechowuje informacje o kontach reklamowych na Linkedin, Facebooku i Google.

AD_CAMPAIGN

0-31

Szczegóły dotyczące kampanii reklamowych. Kampania reklamowa może zawierać jedną lub więcej reklam

AD_GROUP

0-32

Logiczne grupowanie reklam w ramach kampanii reklamowej

AD

0-33

Szczegóły dotyczące poszczególnych reklam

KAMPANIA

0-35

Informacje o powiązanych zasobach marketingowych i treściach, dzięki czemu można łatwo zmierzyć skuteczność wspólnych działań marketingowych.

SITE_PAGE

0-38

Dane dotyczące poszczególnych stron w witrynach internetowych

BLOG_POST

0-39

Dane o wpisach na blogu

OBJECT_SEGMENT

0-45

Informacje o grupach rekordów obiektów na podstawie ich właściwości lub działań

CALL

0-48

Połączenia wykonane przez inne rekordy CRM, np. kontakty

FAKTURA

0-53

Zarządzanie i synchronizacja faktur z zewnętrznymi systemami księgowymi

MEDIA_BRIDGE

0-57

Informacje o zasobach multimedialnych zaimportowanych do Hubspot

SEKWENCJA

0-58

Sekwencja to seria ukierunkowanych szablonów wiadomości e-mail o określonym czasie w celu pielęgnowania kontaktów w czasie.

SZABLON

0-62

Zapisana treść wiadomości e-mail, którą można ponownie wykorzystać do wysyłania wiadomości e-mail

DEAL_SPLIT

0-72

Podziały transakcji są używane do dzielenia kredytów transakcji między wielu użytkowników.

SALES_DOCUMENT

0-83

Dokumenty sprzedaży tworzą bibliotekę treści dla całego zespołu do przesyłania i udostępniania dokumentów kontaktom.

FEEDBACK_SUBMISSION

0-19

Przechowuje informacje przesłane do ankiety zwrotnej

SUBSKRYPCJA

0-69

Subskrypcje zawierają szczegóły płatności cyklicznych

PŁATNOŚĆ HANDLOWA

0-101

Zawiera dane o środkach pobranych od klientów



Każdy obiekt bazy danych zwróci następujące kolumny:

Nazwa kolumny

Typ

Opis

OBJECTTYPEID

Varchar

Identyfikator typu obiektu (np. kontakty to 0-1).

OBJECTID

Number

Identyfikator rekordu (np. rekord kontaktu o identyfikatorze 123752).

UPDATEDAT

Znacznik czasu

Data i godzina ostatniej aktualizacji obiektu w HubSpot.

INGESTEDAT

Znacznik czasu

Data i godzina ostatniego pozyskania danych przez Snowflake.

PROPERTY_*

Varchar

Poszczególne kolumny zawierające najnowszą wersję właściwości obiektu. Dla każdej właściwości obiektu, która ma typ daty lub liczby (określony przez property_definitions), będą dwie kolumny:

  1. Kolumna zawierająca wartość właściwości jako ciąg znaków. Nazwa kolumny to property_unparsed_[name] . Na przykład właściwość obiektu DEAL, deal_amount będzie miała kolumnę property_unparsed_deal_amount.
  2. Kolumna zawierająca wartość przekonwertowaną na typ natywny. Kolumna będzie miała nazwę property_[name]. Na przykład właściwość obiektu DEAL, deal_amount będzie miała kolumnę property_deal_amount. Należy pamiętać, że ta kolumna będzie zawierać wartość null, jeśli konwersja do typu natywnego nie powiedzie się z powodu nieprawidłowych danych.

Przykład 1


Pobieranie imienia, nazwiska i etapu cyklu życia dla wszystkich kontaktów.

Zapytanie:


SELECT objectId, property_firstname AS firstname, property_lastname AS lastname,property_lifecyclestage AS lifecyclestage

FROM objects_contact

Zwraca:

OBJECTID

FIRSTNAME

LASTNAME

LIFECYCLESTAGE

54325098

Hobbes

Baron

prowadzenie

96805401

Milo

złoto

ołów

6922028

Henry

Riley

ołów

Przykład 2

Pobieranie nazwy i etapu maksymalnie trzech transakcji.

Query:


SELECT objectId, property_dealName, property_dealStage,
property_amount AS dealAmount

FROM objects_deals

LIMIT 3

Zwraca:

OBJECTID

PROPERTY_DEALNAME

PROPERTY_DEALSTAGE

PROPERTY_DEALAMOUNT

38960439

Nazwa transakcji 1

closedwon

34199

321740651

Transakcja testowa 123

14845019

8383663

98392101

Pop-Up Canopy

closedwon

9309007

Przykład 3

Pobierz nazwę i etap trzech najlepszych transakcji według kwoty.

Zapytanie:

Ponieważ dane dotyczące kwoty transakcji są dostępne jako typ danych liczby, można ich użyć do zamawiania bez konieczności konwersji lub rzutowania.


SELECT objectId, property_dealName, property_dealStage,
property_amount AS dealAmount

FROM objects_deals
ORDER BY property_amount DESC
LIMIT 3


Zwraca:

OBJECTID

PROPERTY_DEALNAME

PROPERTY_DEALSTAGE

PROPERTY_DEALAMOUNT

98392101

Pop-Up Canopy

closedwon

9309007

321740651

Test Deal 123

14845019

8383663

38960439

Nazwa transakcji 1

closedwon

34199

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 contacts). Wszystkie właściwości są przechowywane w kolumnie Properties, która jest kolumną 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 Numer Identyfikator rekordu (np. rekord kontaktu o identyfikatorze 123752).
PROPERTIES Wariant Wartości właściwości rekordu.
UPDATEDAT Timestamp Data i godzina ostatniej aktualizacji rekordu w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Timestamp Data i godzina, kiedy dane zostały ostatnio pozyskane 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 zaktualizowana. Ma to na celu dostosowanie do sposobu, w jaki dane datetime są reprezentowane w pozostałej części udostępnianych danych.

Ponieważ jest to zmiana przełomowa, nowa kolumna updatedat została dodana do tabeli i widoku. Przez następne 90 dni te dwie nowe kolumny będą współistnieć ze znacznikiem czasu, kolumnami, które mają zastąpić. Daje to możliwość przestawienia się na korzystanie z nowych kolumn.

Po 90 dniach, 25 stycznia 2022 r., kolumna timestamp zostanie usunięta z tabeli i widoku. Po tej dacie każda próba wykonania zapytania do tabeli lub widoku object_with_object_properties przy użyciu kolumn znacznika czasu zakończy się niepowodzeniem.

Przykład 1

Pobieranie wszystkich kontaktów i ich właściwości.

Zapytanie:


SELECT objectTypeId, objectId, properties
FROM object_with_object_properties
WHERE objectTypeId = '0-1'


Zwraca:

OBJECTTYPEID OBJECTID WŁAŚCIWOŚCI
0-1 38960439 {"createdate": "1504656970152"...}
0-1 321740651 { "createdate": "1590183081949"...}
0-1 98392101 { "createdate": "1533566477279"...}
... ... ...

Przykład 2

Pobieranie nazwy i etapu maksymalnie trzech transakcji.

Zapytanie:


SELECT

objectId,
properties:dealname::string AS dealname,
properties:dealstage::string AS dealstage,
properties:amount::number AS dealamount
FROM object_with_object_properties
WHERE objectTypeId = '0-3'
LIMIT 3;


Zwraca:

OBJECTID DEALNAME DEALSTAGE DEALAMOUNT
38960439 Nazwa transakcji 1 closedlost 7488939
321740651 Nazwa transakcji 1 closedwon 9292029
98392101 Nazwa transakcji 1 closedlost 62626528

objects

Ten obiekt bazy danych jest podzbiorem danych w obiekcie bazy danych object_with_object_properties. Każdy zwrócony wiersz zwraca identyfikator obiektu dla każdego rekordu. Ten obiekt bazy danych zwraca tylko istniejące rekordy. Gdy rekord zostanie usunięty w HubSpot, zostanie on usunięty z tego obiektu bazy danych. Ten obiekt bazy danych jest podzbiorem danych w tabeli object_with_object_properties. Każdy zwrócony wiersz zwraca identyfikator obiektu dla każdego rekordu. Ten widok zwraca tylko istniejące rekordy. Gdy rekord zostanie usunięty w HubSpot, zostanie usunięty z tego widoku.

Ten obiekt bazy danych może być przydatny, jeśli konto ma dużą ilość danych, co prowadzi do powolnego działania widoków object_with_object_properties i objects_x. Użycie tego obiektu bazy danych z obiektem bazy danych object_properties umożliwia replikację danych w object_with_object_properties, zachowując kontrolę 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 Timestamp Data i godzina ostatniego pobrania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn.

Przykład 1

Pobieranie wszystkich rekordów kontaktów.

Zapytanie:


SELECT objectTypeId, objectId
FROM objects
WHERE objectTypeId = '0-1'


Zwraca:

OBJECTTYPEID OBJECTID
0-1 36721864
0-1 103580363
0-1 56047670
... ...

object_properties

Ten obiekt bazy danych jest podzbiorem obiektu bazy danych object_with_object_properties. Każdy wiersz zawiera bieżącą wartość właściwości ustawioną dla danego rekordu. Na przykład, kontakt będzie miał jeden wiersz dla właściwości First name i jeden wiersz dla właściwości Last name. Jeśli rekord nie ma wartości dla właściwości, wiersz pojawi się z pustym ciągiem znaków lub nie pojawi się wcale.

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 Timestamp Data i godzina ostatniej aktualizacji rekordu w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Timestamp Data i godzina, kiedy dane zostały ostatnio pozyskane przez Snowflake.

Przykład 1

Pobranie właściwości first name, last name i city dla wszystkich kontaktów.

Zapytanie:


SELECT objectTypeId, objectId, name, value
FROM object_properties
WHERE objectTypeId = '0-1'
AND name IN ('firstname', 'lastname', 'city')
ORDER BY objectId;


Zwraca:

OBJECTTYPEID OBJECTID NAZWA WARTOŚĆ
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

Pobranie imienia, nazwiska i etapu cyklu życia dla wszystkich kontaktów i połączenie ich w jeden wiersz dla każdego kontaktu. Ten przykład używa składni SQL PIVOT.

Zapytanie:


SELECT objectId, firstname, lastname, lifecyclestage
FROM
(
SELECT objectId, name, value
FROM object_properties
WHERE objectTypeId = '0-1'
AND name IN ('firstname', 'lastname', 'lifecyclestage')
)
PIVOT(MAX(value) FOR name IN ('firstname', 'lastname', 'lifecyclestage')) AS p(objectId, firstname, lastname, lifecyclestage);

Zwraca:

OBJECTTYPEID OBJECTID FIRSTNAME LASTNAME LIFECYCLESTAGE
0-1 54325098 Hobbes Baron prowadzenie
0-1 96805401 Milo złoto prowadzenie
0-1 6922028 Henry Riley prowadzenie
... ... ... ... ...

object_properties_history

Ten obiekt bazy danych zawiera historyczne wartości właściwości. Dla kontaktów zawiera 45 ostatnich wartości. Dla wszystkich innych obiektów zawiera 20 ostatnich wartości. Wyświetla wiersz dla każdej historycznej wartości właściwości. Bieżąca wartość właściwości jest określana przez najnowszy znacznik czasu UPDATEDAT w 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 Timestamp Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake.

Przykład 1

Pobieranie historii pojedynczej właściwości dla pojedynczego kontaktu.

Zapytanie:


SELECT objectId, name, value, updatedAt
FROM object_properties_history
WHERE objectTypeId = '0-1'
AND objectId = 136493192
AND name = 'hs_predictivescoringtier'
ORDER BY UPDATEDAT DESC;


Zwraca:

OBJECTID NAZWA WARTOŚĆ UPDATEDAT

136493192

hs_predictivescoringtier

tier_1

2022-06-22 22:45:05.931

136493192

hs_predictivescoringtier

tier_2

2021-09-18 08:20:56.622

136493192

hs_predictivescoringtier

tier_3

2019-11-31 18:20:22.851

...

...

...

...

Przykład 2

Pobieranie bieżącej nazwy wszystkich kontaktów, które kiedykolwiek miały etap cyklu życia Subskrybent.

Zapytanie:


SELECT
objectId,
properties:firstname::string AS firstname,
properties:lastname::string AS lastname
FROM object_with_object_properties
WHERE object_with_object_properties.objectTypeId = '0-1'
AND objectId IN (
SELECT objectId
FROM object_properties_history
WHEREobject_properties_history.objectTypeId = '0-1'
AND object_properties_history.name = 'lifecyclestage'
AND object_properties_history.value = 'subscriber'
);


Zwraca:

OBJECTID FIRSTNAME LASTNAME
54325098 Hobbes Baron
96805401 Milo Złoto
6922028 Henry Riley
... ... ...

Zapytania dotyczące asocjacji

Podobnie jak dane obiektów, dane asocjacji są zorganizowane na dwa sposoby:

  • Individual: Każdy typ asocjacji jest przechowywany we własnym widoku i zawiera tylko rekordy tego typu. Na przykład associations_contacts_to_deals zawiera tylko rekordy asocjacji między obiektami kontaktów i transakcji. Eliminuje to potrzebę określania identyfikatora typu asocjacji podczas wysyłania zapytania. Widoki te są dość łatwe do tworzenia zapytań, ponieważ nie wymagają znajomości modelu danych CRM, aby z nich korzystać. Zwracają również wzbogacony opis rekordu asocjacji między dwoma obiektami, który można łatwo wykorzystać w połączeniach z widokami objects_x. Dopóki nie występują powolne zapytania, zaleca się korzystanie z tych widoków do pobierania danych asocjacji. Więcej informacji na temat widoków associations_x_to_y znajduje się poniżej.
  • Połączone: Wszystkie rekordy dla wszystkich typów asocjacji są łączone w jeden obiekt bazy danych. W związku z tym podczas wysyłania zapytania należy określić filtr typu "WHERE combinedassociationtypeid='0-32' ". Więcej informacji na temat asocjacji i definicji asocjacji poniżej.

widoki asocjacji_x_to_y

Każdy typ asocjacji ma swój własny widok, oznaczony jako associations_<nazwa typu asocjacji>, np. associations_contacts_to_deals. Każdy widok jest podzbiorem danych w obiekcie bazy danych asocjacji i zawiera tylko rekordy o określonym identyfikatorze combinedassociationtypeid.

Każdy obiekt bazy danych zwróci następujące kolumny:

Nazwa kolumny

Typ

Opis

COMBINEDASSOCIATIONTYPEID

Varchar

Unikalny identyfikator definicji asocjacji.

ASSOCIATIONCATEGORY

Varchar

Źródło typu asocjacji. Jedno z: HUBSPOT_DEFINED, USER_DEFINED, INTEGRATOR_DEFINED

ASSOCIATIONTYPEID

Varchar

Unikalny identyfikator definicji asocjacji w ramach określonej kategorii asocjacji, tj. żadne dwie definicje w kategorii asocjacji nie będą miały tego samego identyfikatora associationtypeid.

FROMOBJECTTYPEID

Varchar

Identyfikator typu obiektu, który jest źródłem definicji asocjacji.

FROMOBJECTTYPE

Varchar

Nazwa typu obiektu, który jest źródłem definicji asocjacji.

TOOBJECTTYPEID

Varchar

Identyfikator typu obiektu, który jest miejscem docelowym definicji asocjacji.

TOOBJECTTYPE

Varchar

Nazwa typu obiektu, który jest miejscem docelowym definicji asocjacji.

NAME

Varchar

Nazwa definicji asocjacji.

LABEL

Varchar

Opis definicji asocjacji.

ISMAINASSOCIATIONDEFINITION

Wartość logiczna

Określa, czy definicja asocjacji jest typem głównym. Gdy wartość true, definicja jest wyświetlana przez HubSpot w powiązanych rekordach

[FROMOBJECTTYPE_OBJECTID] np. dla widoku ASSOCIATIONS_CONTACTS_TO_DEALS będzie to CONTACT_OBJECTID.

Number

Identyfikator obiektu źródłowego.

[TOOBJECTTYPE_OBJECTID] np. dla widoku ASSOCIATIONS_CONTACTS_TO_DEALS będzie to DEAL_OBJECTID

Number

Identyfikator obiektu docelowego.

INGESTEDAT

Timestamp

Data i godzina ostatniego pobrania danych przez Snowflake.

Przykład 1

Pobieranie wszystkich transakcji powiązanych z określonym kontaktem.

Zapytanie:


SELECT
contact_objectId, deal_objectId

FROM associations_contacts_to_deals

WHERE contactId = 6626541373

Zwraca:

CONTACT_OBJECTID

DEAL_OBJECTID

6626541373

233620335

6626541373

90253678

Przykład 2

Pobieranie wszystkich kontaktów w strefie czasowej Bogota i ich transakcji.


SELECT contacts.property_firstname contact_firstname,

contacts.property_lastname contact_lastname,
contacts.property_email contact_email,
deals.property_dealtype deal_type, deals.property_amount deal_amount
FROM objects_contacts contacts
JOIN associations_contacts_to_deals assoc on
assoc.contact_objectid=contacts.objectid
JOIN objects_deals deals on deals.objectid=assoc.deal_objectid
where contacts.property_hs_timezone='america_slash_bogota'

CONTACT_FIRSTNAME

CONTACT_LASTNAME

CONTACT_EMAIL

DEAL_TYPE

DEAL_AMOUNT

David

Magalhães

dmagalhaes@example.com

newbusiness

74848

Fernanda

Rodrigues

fmoreira@example.com

newbusiness

253530

Przykład 3

Pobierz wszystkie kontakty i całkowitą sumę zamkniętych transakcji dla każdego kontaktu.


SELECT SUM(deals.property_hs_closed_amount) AS
total_closed_amount, contacts.property_email contact_email
FROM objects_contacts contacts
JOIN associations_contacts_to_deals assoc on
assoc.contact_objectid=contacts.objectid
JOIN objects_deals deals on deals.objectid=assoc.deal_objectid
GROUP BY contact_email
ORDER BY total_closed_amount DESC

Zwraca:

TOTAL_CLOSED_AMOUNT

CONTACT_EMAIL

98474793

johndoe@riverview.com

849488

sallymae@longford.com

association_definitions

Ten obiekt bazy danych zawiera informacje o wszystkich dostępnych typach asocjacji między obiektami HubSpot, z jednym wierszem na typ asocjacji. Możesz dołączyć ten obiekt bazy danych do obiektu bazy danych asocjacji, aby uzyskać informacje o asocjacjach specyficznych dla rekordu.

Pomiędzy tymi samymi obiektami może istnieć wiele typów asocjacji. Głównym typem asocjacji, który jest wyświetlany w HubSpot, gdy rekordy są powiązane, jest asocjacja, w której ISMAINASSOCIATIONDEFINITION to 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 asocjacji. Jedno z: HUBSPOT_DEFINED, USER_DEFINED, INTEGRATOR_DEFINED
ID Number Identyfikator definicji asocjacji w ramach jej kategorii.
FROMOBJECTTYPEID Varchar Identyfikator obiektu będącego źródłem definicji asocjacji.
TOOBJECTTYPEID Varchar Identyfikator obiektu, który jest miejscem docelowym definicji asocjacji.
NAME Varchar Nazwa definicji asocjacji.
LABEL Varchar Etykieta definicji asocjacji.
ISMAINASSOCIATIONDEFINITION Boolean Określa, czy definicja asocjacji jest typem głównym. Gdy wartość true, definicja jest wyświetlana przez HubSpot w powiązanych rekordach.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn.

Przykład 1

Pobieranie typów asocjacji dostępnych na koncie.

Zapytanie:


SELECT combinedAssociationTypeId, fromObjectTypeId, toObjectTypeId, name
FROM association_definitions
ORDER BY category, id


Zwraca:

COMBINEDASSOCIATIONTYPE FROMOBJECTTYPEID TOOBJECTTYPEID NAME
0-1 0-1 0-2 CONTACT_TO_COMPANY
0-2 0-2 0-1 COMPANY_TO_CONTACT
0-3 0-3 0-1 DEAL_TO_CONTACT
0-4 0-1 0-3 CONTACT_TO_DEAL
0-5 0-3 0-2 DEAL_TO_COMPANY
... ... ... ...

Przykład 2

Pobieranie dostępnych typów powiązań między transakcjami i firmami.

Zapytanie:


SELECTcombinedAssociationTypeId, fromObjectTypeId, toObjectTypeId, name
FROM association_definitions
WHERE fromObjectTypeId = '0-3' AND toObjectTypeId = '0-2'
AND isMainAssociationDefinition = true

ORDER BY category, id


Zwraca:

COMBINEDASSOCIATIONTYPE FROMOBJECTTYPEID TOOBJECTTYPEID NAME
0-5 0-3 0-2 DEAL_TO_COMPANY
0-271 0-3 0-2 DEAL_TO_PRIMARY_COMPANY
0-341 0-3 0-2 DEAL_TO_COMAPNY_UNLABELED

associations

Ten obiekt bazy danych zawiera informacje o powiązaniach między określonymi rekordami. Każdy wiersz reprezentuje asocjację z jednego obiektu do drugiego. Wiersze mogą być obecne w tym obiekcie bazy danych, nawet jeśli rekordy, do których się odnoszą, zostały usunięte. Możesz sprawdzić, czy rekordy istnieją, łącząc się z tabelą obiektów.

Ten obiekt bazy danych może być przydatny, jeśli konto ma dużą ilość danych, co prowadzi do powolnego działania widoków associations_x_to_y.

Ten obiekt bazy danych może zwracać następujące kolumny:

Nazwa kolumny Typ Opis
COMBINEDASSOCIATIONTYPEID Varchar Unikalny identyfikator definicji powiązania.
FROMOBJECTID Number Identyfikator obiektu źródłowego.
TOOBJECTID Number Identyfikator obiektu docelowego.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn.

Przykład 1

Pobieranie wszystkich powiązanych transakcji i kontaktów.

Zapytanie:


SELECT combinedAssociationTypeId, fromObjectId, toObjectId
FROM associations
WHERE combinedAssociationTypeId = '0-5'


Zwraca:

COMBINEDASSOCIATIONTYPEID FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335
0-5 6616436082 3866015468
0-5 6690805943 7132752747
... ... ...

Przykład 2

Pobieranie wszystkich biletów powiązanych z określonym kontaktem (identyfikator kontaktu: 3005).

Zapytanie:


SELECT combinedAssociationTypeId, fromObjectId, toObjectId
FROM associations
WHERE associationCategory = 'HUBSPOT_DEFINED'
AND combinedAssociationTypeId = '0-15'
AND fromObjectId = 3005;


Zwraca:

COMBINEDASSOCIATIONTYPE FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335

Przykład 3

Pobieranie wszystkich transakcji powiązanych z określonym kontaktem (identyfikator kontaktu: 4464). Zamiast twardego kodowania combinedAssociationTypeId, ten przykład łączy się z association_definitions.

Zapytanie:


SELECT combinedAssociationTypeId, fromObjectId toObjectId,
FROM associations
WHERE
combinedAssociationTypeId = (
SELECT combinedAssociationTypeId
FROM association_definitions
WHERE fromObjectTypeId = '0-1'
AND toObjectTypeId = '0-3'
AND isMainAssociationDefinition)
AND fromObjectId = 4464;


Zwraca:

COMBINEDASSOCIATIONTYPEID FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335

Zapytania dotyczące właścicieli

właściciele

Ten obiekt bazy danych zawiera informacje o użytkownikach na 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ą być używane 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 Numer Identyfikator użytkownika. Użytkownicy z wartością NULL w tej kolumnie 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 Timestamp Data i godzina utworzenia użytkownika w HubSpot. Więcej informacji można znaleźć w sekcji typy danych kolumn.
UPDATEDAT Timestamp Data i godzina ostatniej aktualizacji użytkownika w HubSpot. Więcej informacji można znaleźć w sekcji typy danych kolumn.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake.

Przykład 1

Pobiera wszystkich użytkowników. Filtr WHERE archived = false usuwa usuniętych użytkowników ze zwracanych danych.

Zapytanie:


SELECT ownerId, userId, email, firstname, lastname
FROM owners
WHERE archived = false


Zwraca:

OWNERID USERID EMAIL FIRSTNAME LASTNAME
29584574 4621126 233620335 Hobbes Baron
30532717 4874784 3866015468 Pablo Walters
30580321 925511 7132752747 Milo Złoto
... ... ... ... ...

Przykład 2

Pobieranie określonego właściciela według jego identyfikatora.

Zapytanie:


SELECT ownerId, userId, email, firstname, lastname
FROM owners
WHERE ownerId = 29584574;


Zwraca:

OWNERID USERID E-MAIL FIRSTNAME LASTNAME
29584574 4621126 233620335 Hobbes Baron

Przykład 3

Pobiera wszystkie kontakty i ich właścicieli. To zapytanie łączy rekordy z właścicielami za pomocą object_with_object_properties i właściwości kontaktu hubspot_owner_id.


SELECT
contact.objectId contactid,
contact.property_firstname contact_firstname,
contact.property_lastname contact_lastname,
contact.property_hubspot_owner_id contact_hubspot_owner_id,
owner.firstname owner_firstname,
owner.lastname owner_lastname,
owner.email owner_email
FROM objects_contacts contact

JOIN owners owner ON contact.property_hubspot_owner_id = owner.ownerId


Zwroty:

CONTACTID CONTACT_FIRSTNAME CONTACT_LASTNAME CONTACT_HUBSPOT_OWNER_ID OWNER_FIRSTNAME OWNER_LASTNAME OWNER_EMAIL
113834202 Richard Greenfield 29584574 Hobbes Baron hobbes.b@business.com
53540801 Ford Karl 30241125 Milo Złoto milo.g@business.com
... ... ... ... ... ... ...

Zapytania dotyczące zespołów

zespoły

Zespoły w HubSpot pozwalają organizować użytkowników w grupy do celów organizacyjnych i raportowania. Możesz mieć zespół główny i zespoły dodatkowe.

Ten obiekt bazy danych zawiera informacje o zespołach na 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 drużyny nadrzędnej.
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 Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake.

Przykład 1

Pobieranie wszystkich zespołów.

Zapytanie:

SELECT teamId,teamName, primaryOwnerMembers

Z zespołów

Zwraca:

TEAMID NAZWA ZESPOŁU PRIMARYOWNERMEMBERS
29584574 Sub Team [233620335, 1234553]
30532717 Super Team [3866015468, 126221873]
3058032 A Team [7132752747]

owner_team

Ten obiekt bazy danych zawiera informacje o tym, którzy właściciele odpowiadają którym zespołom na 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 Określa, czy ten zespół jest podstawowym zespołem dla tego właściciela.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake.

Przykład 1

Pobieranie wszystkich właścicieli dla danego zespołu.

Zapytanie:

SELECT teamId, ownerId, isTeamPrimary
FROM teams
WHERE teamId = 29584574

Zwraca

TEAMID TEAMNAME ISTEAMPRIMARY
29584574 233620335 TRUE
29584574 1234553 TRUE

Zapytania dotyczące potoków

Poniżej dowiesz się, jak wyszukiwać dane potoków transakcji i zgłoszeń, takie jak dostępne potoki na koncie i ich etapy.

Dane te można połączyć z danymi obiektów, aby uzyskać pełny widok potoków. Na przykład, można wyszukiwać transakcje i ich potoki, łącząc dane objects_deals_view lub object_with_object_properties z danymi potoków.

pipelines

Ten obiekt bazy danych zawiera informacje o potokach transakcji i biletów na koncie użytkownika. Każdy zwrócony wiersz reprezentuje pojedynczy potok.

Ta tabela może zwracać następujące kolumny:

Nazwa kolumny Typ Opis
PIPELINEID Varchar Identyfikator rurociągu.
OBJECTTYPEID Varchar Identyfikator obiektu, który może zawierać potok (np. transakcje lub bilety).
LABEL Varchar Nazwa potoku w HubSpot.
DISPLAYORDER Number Kolejność, w jakiej potok jest wyświetlany w HubSpot.
ARCHIVED Boolean Czy potok został usunięty.
CREATEDAT Timestamp Kiedy potok został utworzony.
UPDATEDAT Timestamp Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake.

Przykład 1

Pobierz wszystkie dostępne potoki transakcji, uporządkowane według ich kolejności w HubSpot.

Zapytanie:


SELECT objectTypeId, pipelineId, label
FROM pipelines
WHERE objectTypeId = '0-3'
AND not archived
ORDER BY displayorder;


Zwraca:

OBJECTTYPEID PIPELINEID LABEL
0-3 1bed503c-37f7-4f51-9d40-7598902673f4 Potok sprzedaży
0-3 12659678 Potok licencji
0-3 75e28846-ad0d-4be2-a027-5e1da6590b98 Nowy biznes
... ... ...

Przykład 2

Pobieranie transakcji w ramach określonego potoku. Łączy object_with_object_properties i pipelines.

Zapytanie:


SELECT

deals.objectId deal_id,
deals.property_dealname deal_name,
pipelines.label pipeline_name
FROM objects_deals deals
INNER JOIN pipelines
ON deals.objectTypeId = pipelines.objectTypeId
AND deals.property_pipeline = pipelines.pipelineid
WHERE pipelines.objectTypeId = '0-3';


Zwraca:

DEAL_ID DEAL_NAME PIPELINE_NAME
605140072 Globalna rejestracja Meowmix Sales Pipeline
605457408 Rebranding Friskies Sales Pipeline
604362473 Tworzenie aplikacji Fresh Step Sales Pipeline

Przykład 3

Podobnie jak w przykładzie 2 powyżej, pobieranie transakcji w ramach określonego potoku. Ale zamiast używać objects_deals w złączeniach, użyj 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

Globalna rejestracja Meowmix

Sales Pipeline

605457408

Rebranding Friskies

Sales Pipeline

604362473

Tworzenie aplikacji Fresh Step

Sales Pipeline

pipeline_stages

Ten widok zawiera informacje o poszczególnych etapach w ramach potoku. Identyfikuje etapy poprzez połączenie ID typu obiektu, ID potoku i ID etapu. Podczas łączenia z potokami należy użyć identyfikatora typu obiektu i identyfikatora potoku.

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 Number Kolejność, w jakiej potok jest wyświetlany w HubSpot.
METADATA Variant Opis etapu w formacie JSON, w tym informacja, czy jest on otwarty, czy zamknięty.
ARCHIVED Wartość logiczna Czy etap potoku został usunięty.
CREATEDAT Timestamp Kiedy etap rurociągu został utworzony.

Przykład 1

Pobieranie etapów potoku dla potoku transakcji o nazwie Sales pipeline.

Zapytanie:


SELECT pipelineid, stageId, label
FROM pipeline_stages
WHERE not archived
AND pipelineid = (
SELECT pipelineid
FROM pipelines
WHERE objectTypeId = '0-3'
AND not archived
AND label = 'Sales Pipeline' LIMIT 1)
ORDER BY displayorder;


Zwraca:

PIPELINEID STAGEID ETYKIETA
941650 941651 Skontaktowano się
941650 941652 Zaplanowane spotkanie
941650 941653 Faktura wysłana
... ... ...

Przykład 2

Pobierz wszystkie transakcje i ich odpowiednie etapy potoku.

Zapytanie:


SELECT

deals.objectId deal_id,
deals.properties:dealname::varchar deal_name,
pipelines.label pipeline_name,
pipeline_stages.label pipeline_stage_name
FROM object_with_object_properties deals
INNER JOIN pipelines
ON deals.objectTypeId = pipelines.objectTypeId
AND deals.properties:pipeline::string = pipelines.pipelineid
INNER JOIN pipeline_stages
ON deals.objectTypeId = pipeline_stages.pipelineid
AND deals.properties:pipeline::string = pipeline_stages.pipelineid
AND deals.properties:dealstage::string = pipeline_stages.stageId
WHERE deals.objecttypeId = '0-3';


Zwraca:

DEAL_ID DEAL_NAME PIPELINE_NAME PIPELINE_STAGE_NAME
605140072 Globalna rejestracja Meowmix Potok sprzedaży Umowa wysłana
605457408 Rebranding Friskies Potencjał sprzedaży Spotkanie zaplanowane
604362473 Tworzenie aplikacji Fresh Step Potok sprzedaży Umowa podpisana
... ... ... ...

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 koncie HubSpot. Właściwości zdarzeń obejmują standardowe zdarzenia, takie jak otwarcia i kliknięcia wiadomości e-mail, oraz niestandardowe właściwości zdarzeń behawioralnych. Informacje te mogą być pomocne przy definiowaniu wartości znalezionych w object_properties i danych zdarzeń.

Określone właściwości można zidentyfikować, łącząc ich identyfikator typu obiektu i nazwę. Podobne informacje można uzyskać za pomocą interfejsu API właściwości.

Ten obiekt bazy danych może zwrócić 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. string, number, datetime).
FIELDTYPE Varchar Typ pola właściwości. Określa sposób wyświetlania właściwości w HubSpot i formularzach (np. pole wyboru, wybór).
DISPLAYORDER Number 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, w tym atrybuty każdej opcji (np. kolejność wyświetlania, etykieta).
CREATEDUSERID Numer Identyfikator użytkownika, który utworzył właściwość.
REFERENCEDOBJECTTYPE Varchar Typ obiektu, do którego odwołuje się właściwość. Właściwości właściciela zwrócą wartość OWNER.
CALCULATED Boolean Czy właściwość jest właściwością wyliczaną.
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 interfejsu API.
HIDDEN Boolean Czy właściwość jest ukryta w HubSpot.
SHOWCURRENCYSYMBOL Boolean Czy wartość liczbowa właściwości 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 Wartość logiczna Czy właściwość została usunięta.
CREATEDAT Timestamp Data i godzina utworzenia właściwości w HubSpot.
UPDATEDAT Timestamp Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake.

Przykład 1

Pobieranie nazw i opisów dla wszystkich właściwości kontaktu.

Zapytanie:


SELECT name, label, description
FROM property_definitions
WHERE objectTypeId = '0-1'


Zwraca:

NAZWA ETYKIETA OPIS
entered_sql_stage Wprowadzony etap SQL Rozpoczęcie liczenia dni etapu SQL.
first_conversion_event_name
Pierwsza konwersja Pierwszy formularz przesłany przez ten kontakt.
adres Adres ulicy Adres kontaktu.

Zapytania o zdarzenia

Zdarzenia obejmują standardowe zdarzenia HubSpot i 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 i kontaktów, które weszły z nią w interakcję, klikając reklamę lub przesyłając formularz po nawiązaniu kontaktu.
EVENTS_AD_METRICS_IMPORTED_V0

Szczegóły reklamy i jej wskaźniki wydajności.
EVENTS_CALL_MENTIONED_KEYWORD Szczegóły słów kluczowych wspomnianych przez 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 przez kontakty w wiadomościach e-mail w skrzynce odbiorczej konwersacji.
EVENTS_COOKIE_BANNER_CLICKED Kontakty, które kliknęły pliki cookie.
EVENTS_COOKIE_BANNER_VIEWED Kontakty, które wyświetliły pliki cookie.
EVENTS_DOCUMENT_SHARED_V2 Dokumenty sprzedaży udostępnione kontaktom za pośrednictwem łącza zewnętrznego.
EVENTS_DOCUMENT_VIEWED_V2 Dokumenty sprzedaży i kontakty, które przeglądały je, otwierając łącze zewnętrzne.
EVENTS_DOCUMENT_COMPLETED_V2 Dokumenty sprzedaży i kontakty, które je zamknęły.
EVENTS_HS_SCHEDULED_EMAIL_V2 Wiadomości e-mail przesłane na serwery e-mail HubSpot w celu wysłania.
EVENTS_MTA_DELIVERED_EMAIL_V2 Wiadomości e-mail pomyślnie dostarczone do odbiorców przez serwery poczty e-mail HubSpot.
EVENTS_MTA_BOUNCED_EMAIL_V2 Próby dostarczenia wiadomości e-mail, które zostały odrzucone przez serwer poczty e-mail 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 subskrypcji wiadomości e-mail 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 wideo przez kontakty.
EVENTS_V2_CONTACT_BOOKED_MEETING_THROUGH_SEQUENCE Kontakt zarezerwował spotkanie przez sekwencję.
EVENTS_V2_CONTACT_ENROLLED_IN_SEQUENCE Kontakt zapisany z sekwencji.
EVENTS_V2_CONTACT_FINISHED_SEQUENCE Sekwencja zakończona.
EVENTS_V2_CONTACT_REPLIED_SEQUENCE_EMAIL Kontakt odpowiedział na wiadomość e-mail (lub przychodzącą wiadomość e-mail, która odłączyła sekwencję) wysłaną za pośrednictwem sekwencji.
EVENTS_V2_CONTACT_UNENROLLED_FROM_SEQUENCE Kontakt wyrejestrowany z sekwencji.
EVENTS_V2_CONTACT_UNENROLLED_MANUALLY_FROM_SEQUENCE Użytkownik ręcznie wyrejestrował kontakt.
EVENTS_V2_CONTACT_UNSUBSCRIBED_SEQUENCE_EMAIL Kontakt anulował subskrypcję, wyrejestrowując sekwencję.
EVENTS_V2_SEQUENCE_EMAIL_BOUNCED Wiadomość e-mail sekwencji została odrzucona.
EVENTS_V2_SEQUENCE_ERRORED Błąd sekwencji powodujący anulowanie rejestracji.
EVENTS_V2_SEQUENCE_STEP_EXECUTED Krok sekwencji został wykonany.
EVENTS_VISITED_PAGE Odwiedziny strony internetowej przez kontakty.
EVENTS_<INTEGRATION_EVENT_NAME>_<UNIQUE_IDENTIFIER> Zdarzenia integracji(Timeline V3 API)

Zdarzenia można zidentyfikować, łącząc ich identyfikator typu zdarzenia i identyfikator. Zwracane kolumny zależą od zdarzenia, z jedną kolumną dla każdej właściwości zdarzenia. Wszystkie zdarzenia zwrócą następujące kolumny:

Uwaga: HubSpot dodał dwie nowe kolumny do wszystkich tabel i widoków wydarzeń:

  • occurredat
  • occurredatdateint

Kolumny te zastąpią kolumny occuredat i occuredatdateint 24 listopada 2022 roku. W tym dniu stare kolumny nie będą już dostępne, a próby wysłania zapytania do obiektu bazy danych lub widoku zawierającego zdarzenia przy użyciu tych kolumn zakończą się niepowodzeniem. Dowiedz się więcej o przełomowych zmianach dla udziałów danych Snowflake.



Nazwa kolumny Typ Opis
EVENTTYPEID Varchar Identyfikator typu zdarzenia, podobny do OBJECTTYPEID
Możesz zapytać o wszystkie identyfikatory typów zdarzeń na swoim koncie za pomocą widoku object_and_event_type_definitions.
ID Varchar Jest unikalny dla każdego typu zdarzenia. Żadne dwa rekordy nie będą miały tego samego identyfikatora w ramach danego typu zdarzenia.
OBJECTTYPEID Varchar Typ obiektu, który zakończył zdarzenie. Na przykład kliknięcie linku e-mail spowoduje wyświetlenie 0-1 w tej kolumnie, reprezentującej obiekt kontaktów.
OBJECTID Number Identyfikator rekordu, który ukończył zdarzenie.
OCCURREDAT Timestamp Data wystąpienia zdarzenia.

OCCURREDATDATEINT

Liczba Liczba reprezentująca moment wystąpienia zdarzenia. Zawiera te same dane, co kolumna OCCURREDAT, ale sformatowane jako liczba i używane jako część klucza klastrowego tabeli. W większości przypadków zamiast tej liczby można użyć znacznika czasu OCCURREDAT.

OCCUREDATDATEINT

Liczba

Liczba reprezentująca czas wystąpienia zdarzenia. Zawiera te same dane, co kolumna OCCURREDAT, ale sformatowane jako liczba i używane jako część klucza klastra tabeli. W większości przypadków zamiast tej liczby można użyć znacznika czasu OCCURREDAT.

Uwaga: ta kolumna zostanie wycofana 24 listopada 2022 r. i zastąpiona przez OCCURREDATDATEINT.

OCCUREDAT Znacznik czasu

Kiedy wystąpiło zdarzenie.

Uwaga: ta kolumna zostanie wycofana 24 listopada 2022 r. i zastąpiona przez OCCURREDAT.

INGESTEDAT Znacznik czasu Data i godzina ostatniego pozyskania danych przez Snowflake. Więcej informacji o typach danych kolumn.
PROPERTY_* Varchar Poszczególne kolumny zawierające właściwości zdarzeń.

Przykład 1

Pobranie 50 ostatnich zdarzeń kliknięcia wiadomości e-mail.

Zapytanie:


SELECT eventTypeId, objectTypeId, objectId, occuredAt, property_hs_click_raw_url AS hs_click_raw_url
FROM events_clicked_link_in_email_V2
ORDER BY occuredAt

LIMIT 50;


Zwraca:

EVENTTYPEID OBJECTTYPEID OBJECTID OCCUREDAT HS_CLICK_RAW_URL
4-666288 0-1 45318579 2016-08-04 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 2016-08-29 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 2017-11-30 14:27:11.528 https://hubs.ly/H097a37a?utm_source=hs_email&utm_medium=email&utm_content=58251290
... ... ... ... ...

Przykład 2

Pobieranie wszystkich zdarzeń kliknięcia wiadomości e-mail według kontaktów, które kliknęły. To zapytanie pobiera dane kontaktu przez dołączenie z 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;


Zwraca:

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
2018-11-08 09:37:41.400 https://www.website.net/webinar-case-study?utm_source=hs_automation&utm_medium=email&utm_content=55200164 Milo Złoto
2018-11-08 09:37:41.426 https://www.website.net/contact?utm_source=hs_automation&utm_medium=email&utm_content=55200164 Harlow Villari
... ... ... ...

Object_and_event_type_queries

object_and_event_type_definitions

Ten obiekt bazy danych zawiera definicje wszystkich obiektów i zdarzeń dostępnych na 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 zawierać potok (np. transakcje lub bilety).
FULLYQUALIFIEDNAME Varchar Nazwa obiektu lub zdarzenia.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania 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, fullyQualifiedName
FROM object_and_event_type_definitions;


Zwraca:

OBJECTTYPEID FULLYQUALIFIEDNAME
0-1 CONTACT
0-8 LINE_ITEM
0-11 CONVERSATION
... ...

Segments queries

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 HubSpot. Zwraca jeden wiersz na segment, a kolumny zawierają szczegóły segmentu, takie jak nazwa segmentu, rozmiar i typ obiektu rekordów, które zawiera. Nie zawiera informacji o poszczególnych rekordach w każdym segmencie (patrz 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 Number Identyfikator segmentu. Łączy się z kolumną SEGMENTID w tabeli segment-memberships.
CLASSICSEGMENTID Numer Identyfikator specyficzny dla segmentów kontaktów, który odpowiada identyfikatorowi w adresie URL segmentu w HubSpot.
NAME Varchar Nazwa segmentu.
SIZE Number Liczba rekordów w segmencie.
CREATEDBYUSERID Number Identyfikator użytkownika, który utworzył segment.
CREATEDAT Timestamp Kiedy segment został utworzony w HubSpot.
UPDATEDBYUSERID Liczba Identyfikator użytkownika, który ostatnio zaktualizował segment.
UPDATEDAT Timestamp Data i godzina ostatniej aktualizacji daty w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake.

Przykład 1

Pobieranie wszystkich segmentów kontaktów.

Zapytanie:


SELECT segmentId, name, size
FROM segments
WHERE objectTypeId = '0-1';


Zwraca:

SEGMENTSID NAME SIZE
118131 Tygodniowy zasięg 103
66156 Subskrybenci bloga 455
771852 Najlepsi subskrybenci 2021 37
... ... ...

Przykład 2

Pobranie określonego segmentu kontaktów o nazwie Top subscribers 2021.

Zapytanie:


SELECT segmentId, name, size
FROM segments
WHERE objectTypeId = '0-1'
AND
segmentName = 'Top subscribers 2021';


Zwraca:

SEGMENTID NAZWA ROZMIAR
771852 Najwięksi abonenci 2021 37

segment_membership

Ten obiekt bazy danych zawiera informacje o tym, które rekordy są członkami poszczególnych segmentów, z jednym wierszem na rekord w segmencie. Na przykład, jeśli masz segment Blog subscribers z 500 kontaktami, obiekt bazy danych zwróci 500 wierszy.

Zawiera tylko identyfikatory segmentów i identyfikatory obiektów. Aby uzyskać więcej informacji, połącz się z obiektem bazy danych segmentów.

Ten obiekt bazy danych może zwrócić 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 Timestamp Data i godzina ostatniego pozyskania danych przez Snowflake.

Przykład 1

Pobranie identyfikatorów wszystkich kontaktów w segmencie Top subscribers 2021.

Zapytanie:


SELECT objectId
FROM segment_memberships
INNER JOIN segments
ON segment_memberships.segmentId = segments.segmentId
WHERE segments.objectTypeId = '0-1'
AND segments.name = 'Top Subscribers 2021';


Zwraca:

OBJECTID
54325098
96805401
6922028
...

Przykład 2

Pobieranie imion i nazwisk kontaktów w segmencie Top subscribers 2021.

Zapytanie:


SELECT

contact.objectId AS objectid,
contact.property_firstname AS firstname,
contact.property_lastname AS lastname
FROM objects_contacts contact
INNER JOIN segment_memberships ON contact.objectId = segment_memberships.objectId
INNER JOIN segments ON segments_memberships.segmentId = segments.segmentId
WHERE segments.objectTypeId = '0-1'
AND segments.name = 'Top Subscribers 2021'


Zwraca:

OBJECTID

PIERWSZE IMIĘ

NAZWISKO

54325098

Hobbes

Baron

96805401

Milo

Złoto

6922028

Henry

Riley

...

...

...

Najczęściej zadawane pytania

Chcę wygenerować dane podobne do raportu z aplikacji Hubspot, jak mam to zrobić?


Ogólnie rzecz biorąc, powinieneś przyjrzeć się kolumnom obecnym w raporcie, z którym porównujesz. Jeśli wizualizacja raportu nie jest tabelaryczna, przekonwertowanie go na tabelę pokaże kolumny zawarte w raporcie. Kolumny te są zazwyczaj właściwościami typu obiektu lub typu zdarzenia. Następnym krokiem jest ustalenie, jakiej właściwości typu obiektu odpowiada dana kolumna. Można to zrobić poprzez zapytanie property_definitions:


SELECT * FROM property_definitions

WHERE label = [column_name]

Nie zawsze może istnieć dokładne dopasowanie, ponieważ niektóre nazwy właściwości są zwykle rozwiązywane na bardziej opisową nazwę w aplikacji. W takich przypadkach pomocne może być wyszukiwanie rozmyte przy użyciu operatora LIKE w kolumnie label (lub nawet description) w property_definitions.

Po określeniu, do jakiego typu obiektu należy kolumna, ustalenie, czego dotyczy zapytanie, jest trywialne. Można po prostu wyszukać widok object_x odpowiadający danemu typowi.

Jak połączyć ten typ danych z innym, np. jak pobrać formularze dla kampanii?


Jeśli chcesz połączyć ze sobą dwa lub więcej różnych rekordów, spójrz na asocjacje. Asocjacje reprezentują relacje między obiektami w HubSpot CRM. Wszystkie różne skojarzenia możliwe między dwoma typami są wymienione w association_definitions. W powyższym przykładzie, aby poznać wszystkie formularze, z którymi powiązana jest kampania, należy wykonać zapytanie ASSOCIATIONS_CAMPAIGNS_TO_FORMS:


SELECT campaigns.property_hs_name campaign_name,
forms.property_hs_form_id form_id
FROM objects_campaigns campaigns
JOIN associations_campaigns_to_forms assoc ON
assoc.campaign_objectid=campaigns.objectid
JOIN objects_forms forms ON forms.objectid=assoc.form_objectid
GROUP BY campaign_name

Jak mogę sprawdzić status integracji HubSpot-Snowflake?

Aby otrzymywać w czasie rzeczywistym aktualizacje statusu dotyczące przestojów i problemów z integracją HubSpot-Snowflake, należy wysłać zapytanie do widoku data_share_status:

SELECT * FROM hubspot.public.data_share_status
LIMIT 1

Wyniki zostaną wyświetlone jako:

STATUS WIADOMOŚĆ AKTUALIZACJA
OK OBECNIE NIE JEST ZNANY ŻADEN INCYDENT 2023-04-10 09:21:20.123

Ten widok zapewnia aktualizacje stanu integracji w odwrotnej kolejności chronologicznej. Zintegrowanie wyników tego zapytania z pulpitem nawigacyjnym pomoże śledzić wydajność integracji i wykrywać wszelkie przestoje lub awarie.

Czy ten artykuł okazał się pomocny?
Niniejszy formularz służy wyłącznie do przekazywania opinii dotyczących dokumentacji. Dowiedz się, jak uzyskać pomoc dotyczącą HubSpot.