HubSpot Baza wiedzy

Zapytanie o dane HubSpot w Snowflake

Autor: HubSpot Support | Nov 8, 2021 12:43:37 PM

Po połączeniu Snowflake z kontem HubSpot można użyć funkcji udostępniania danych Snowflake do wyszukiwania danych 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 codziennie: association_definitions, owners, pipelines i pipeline_stages.

Konfiguracja środowiska Snowflake

Aby wyszukiwać dane HubSpot w Snowflake, musisz wybrać magazyn, bazę danych i schemat, z którego chcesz wysyłać zapytania. Można je ustawić 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 akcji arkusza.

  • W wyskakującym oknie:
    • Kliknij menu rozwijane Magazyn, a następnie wybierz swój magazyn.
    • Kliknij menu rozwijane Database (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.


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ń, należy dodać 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.
  • Zdarzenia: dane zdarzeń zarówno dla standardowych zdarzeń HubSpot, takich jak otwarcia wiadomości e-mail, jak i niestandardowych zdarzeń behawioralnych.
  • Listy: Listy kontaktów i firm HubSpot.
  • Właściciele: użytkownicy na koncie HubSpot w odniesieniu do rekordów, których są właścicielami.
  • Potoki: potoki transakcji i zgłoszeń, w tym etapy potoku.
  • 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: Wmiarę rozwoju udostępniania danych będziemy wprowadzać zmiany, niektóre z nich będą przełomowe. 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;

Kolumnowe typy danych

Podczas wyszukiwania 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: wpozostałej części tego dokumentu używamy terminu obiekt bazy danych, gdy kontekst dotyczy zarówno tabel, jak i widoków.


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 może zwrócić zapytanie. Inne definicje, które nie zostały uwzględnione poniżej, można znaleźć w definicjach 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. Na listach odnosi się to do typu listy (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 dodania wiersza danych 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 o obiekty

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:

  • Individual: 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 widokach 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 odpytywania:
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 tego 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ących im widoków:

Typ obiektu HubSpot

ObjectTypeId

Opis

KONTAKT

0-1

Informacje o osobach wchodzących w interakcje z firmą

FIRMA

0-2

Informacje o poszczególnych firmach lub organizacjach

DEAL

0-3

Szczegółowe informacje na temat 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

Reprezentowanie próśb 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ą.

ROZMOWA

0-11

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

LANDING_PAGE

0-25

Szczegóły dotyczące stron docelowych

ZADANIE

0-27

Przechowuje informacje o listach zadań do wykonania

FORMA

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

BLOG_POST

0-39

Dane dotyczące wpisów na blogu

LISTA OBIEKTÓW

0-45

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

POŁĄCZENIE

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, które mają na celu pielęgnowanie kontaktów w czasie

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, umożliwiając przesyłanie i udostępnianie dokumentów kontaktom.

FEEDBACK_SUBMISSION

0-19

Przechowuje informacje przesłane w ankiecie zwrotnej.

SUBSKRYPCJA

0-69

Subskrypcje zawierają szczegóły powtarzających się płatności

PŁATNOŚĆ HANDLOWA

0-101

Zawiera dane o środkach zebranych 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

Liczba

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

AKTUALIZACJA

Znacznik czasu

Data i godzina ostatniej aktualizacji tego obiektu w HubSpot.

INGESTEDAT

Znacznik czasu

Data i godzina ostatniego pobrania 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

Zwroty:

OBJECTID

FIRSTNAME

LASTNAME

ETAP ŻYCIA

54325098

Hobbes

Baron

ołów

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

Zwroty:

OBJECTID

PROPERTY_DEALNAME

PROPERTY_DEALSTAGE

PROPERTY_DEALAMOUNT

38960439

Nazwa transakcji 1

closedwon

34199

321740651

Test Deal 123

14845019

8383663

98392101

Wyskakujące zadaszenie

closedwon

9309007

Przykład 3

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

Zapytanie:

Ponieważ dane dotyczące kwoty transakcji są dostępne jako typ danych liczby, mogą być używane 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


Zwroty:

OBJECTID

PROPERTY_DEALNAME

PROPERTY_DEALSTAGE

PROPERTY_DEALAMOUNT

98392101

Wyskakujące zadaszenie

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 Liczba Identyfikator rekordu (np. rekord kontaktu o identyfikatorze 123752).
PROPERTIES Wariant Wartości majątkowe rekordu.
UPDATEDAT Znacznik czasu Data i godzina ostatniej aktualizacji rekordu w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Znacznik czasu Data i godzina pozyskania danych Kiedy dane zostały ostatnio pozyskane przez Snowflake.

Uwaga: 25 stycznia 2022 r. kolumna timestamp w tabeli i wid oku object_with_object_properties, która reprezentuje datę i godzinę ostatniej aktualizacji rekordu obiektu w HubSpot , zostanie zmieniona na updatedat. Mato 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 zapytania tabeli lub widoku object_with_object_properties przy użyciu kolumn znacznika czasu zakończy się niepowodzeniem.

Przykład 1

Pobiera wszystkie kontakty i ich właściwości.

Zapytanie:


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


Zwroty:

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;


Zwroty:

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

przedmioty

Ten obiekt bazy danych jest podzbiorem danych obiektu 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 Znacznik czasu Data i godzina ostatniego pozyskania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn.

Przykład 1

Pobierz wszystkie rekordy kontaktów.

Zapytanie:


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


Zwroty:

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 Imię i jeden wiersz dla właściwości Nazwisko. 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 Znacznik czasu Wartość nieruchomości.
UPDATEDAT Znacznik czasu Data i godzina ostatniej aktualizacji rekordu w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Znacznik czasu Data i godzina pozyskania danych Kiedy dane zostały ostatnio pozyskane przez Snowflake.

Przykład 1

Pobiera właściwości imienia, nazwiska i miasta 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;


Zwroty:

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

Pobierz imię, nazwisko i etap cyklu życia dla wszystkich kontaktów i połącz je w jeden wiersz dla każdego kontaktu. Ten przykład wykorzystuje 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);

Zwroty:

OBJECTTYPEID OBJECTID FIRSTNAME LASTNAME ETAP ŻYCIA
0-1 54325098 Hobbes Baron ołów
0-1 96805401 Milo Złoto ołów
0-1 6922028 Henry Riley ołów
... ... ... ... ...

object_properties_history

Ten obiekt bazy danych zawiera historyczne wartości właściwości. W przypadku 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 Znacznik czasu Wartość nieruchomości.
UPDATEDAT Znacznik czasu Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pobrania danych przez Snowflake.

Przykład 1

Pobiera historię 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;


Zwroty:

OBJECTID NAZWA WARTOŚĆ AKTUALIZACJA

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

Pobiera aktualną nazwę 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'
);


Zwroty:

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

Zapytania dotyczące stowarzyszenia

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

  • Indywidualne: 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 pomiędzy obiektami contact i deal. 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 associations_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 powiązania.

ASSOCIATIONCATEGORY

Varchar

Źródło typu powiązania. 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.

TYP OBIEKTU

Varchar

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

TOOBJECTTYPEID

Varchar

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

TYP OBIEKTU

Varchar

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

NAZWA

Varchar

Nazwa definicji powiązania.

LABEL

Varchar

Opis definicji stowarzyszenia.

DEFINICJA GŁÓWNEGO STOWARZYSZENIA

Wartość logiczna

Określa, czy definicja powiązania jest typem głównym. Jeśli jest to prawda, definicja jest wyświetlana przez HubSpot na powiązanych rekordach

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

Liczba

Identyfikator obiektu źródłowego.

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

Liczba

Identyfikator obiektu docelowego.

INGESTEDAT

Znacznik czasu

Data i godzina ostatniego pobrania danych przez Snowflake.

Przykład 1

Pobiera wszystkie transakcje powiązane z określonym kontaktem.

Zapytanie:


SELECT
contact_objectId, deal_objectId

FROM associations_contacts_to_deals

WHERE contactId = 6626541373

Zwroty:

CONTACT_OBJECTID

DEAL_OBJECTID

6626541373

233620335

6626541373

90253678

Przykład 2

Pobierz wszystkie kontakty w strefie czasowej Bogota i ich oferty.


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

Zwroty:

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 powiązań między obiektami HubSpot, z jednym wierszem na typ powiązania. Możesz dołączyć ten obiekt bazy danych do obiektu bazy danych powiązań, aby uzyskać informacje o powiązaniach specyficznych dla rekordu.

Mię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 powiązania. Jedno z: HUBSPOT_DEFINED, USER_DEFINED, INTEGRATOR_DEFINED
ID Liczba Identyfikator definicji powiązania w ramach jego kategorii.
FROMOBJECTTYPEID Varchar Identyfikator obiektu, który jest źródłem definicji asocjacji.
TOOBJECTTYPEID Varchar Identyfikator obiektu, który jest miejscem docelowym definicji asocjacji.
NAME Varchar Nazwa definicji powiązania.
LABEL Varchar Etykieta definicji powiązania.
ISMAINASSOCIATIONDEFINITION Wartość logiczna Czy definicja powiązania jest typem głównym. Gdy jest to prawda, definicja ta jest wyświetlana przez HubSpot na powiązanych rekordach.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pozyskania danych przez Snowflake. Dowiedz się więcej o typach danych kolumn.

Przykład 1

Wyświetlanie typów powiązań dostępnych na koncie użytkownika.

Zapytanie:


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


Zwroty:

TYP POŁĄCZONEGO STOWARZYSZENIA FROMOBJECTTYPEID TOOBJECTTYPEID NAZWA
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

Pobiera dostępne typy 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


Zwroty:

COMBINEDASSOCIATIONTYPE FROMOBJECTTYPEID TOOBJECTTYPEID NAZWA
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

stowarzyszenia

Ten obiekt bazy danych zawiera informacje o powiązaniach między określonymi rekordami. Każdy wiersz reprezentuje powiązanie 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 Liczba Identyfikator obiektu źródłowego.
TOOBJECTID Liczba Identyfikator obiektu docelowego.
INGESTEDAT Znacznik czasu 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'


Zwroty:

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

Przykład 2

Pobranie 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;


Zwroty:

TYP POŁĄCZONEGO STOWARZYSZENIA 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;


Zwroty:

COMBINEDASSOCIATIONTYPEID FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335

Zapytania właściciela

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 ich 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 Liczba 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 Wartość logiczna Czy użytkownik został usunięty.
CREATEDAT Znacznik czasu Data i godzina utworzenia użytkownika w HubSpot. Więcej informacji można znaleźć w sekcji Typy danych kolumn.
UPDATEDAT Znacznik czasu Data i godzina ostatniej aktualizacji użytkownika w HubSpot. Więcej informacji można znaleźć w sekcji Typy danych kolumn.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pobrania 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


Zwroty:

WŁAŚCICIEL USERID EMAIL FIRSTNAME LASTNAME
29584574 4621126 233620335 Hobbes Baron
30532717 4874784 3866015468 Pablo Walters
30580321 925511 7132752747 Milo Złoto
... ... ... ... ...

Przykład 2

Pobiera określonego właściciela na podstawie jego identyfikatora.

Zapytanie:


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


Zwroty:

WŁAŚCICIEL USERID EMAIL 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 zespołu

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.
NAZWA ZESPOŁU 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.
CZŁONKOWIE DRUGORZĘDNI Wartość logiczna Identyfikatory właścicieli dodatkowych członków zespołu.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pobrania danych przez Snowflake.

Przykład 1

Odzyskaj wszystkie zespoły.

Zapytanie:

SELECT teamId,teamName, primaryOwnerMembers

Z zespołów

Zwroty:

TEAMID NAZWA ZESPOŁU PRIMARYOWNERMEMBERS
29584574 Podzespół [233620335, 1234553]
30532717 Super Team [3866015468, 126221873]
3058032 Zespół [7132752747]

owner_team

Ten obiekt bazy danych zawiera informacje o tym, którzy właściciele odpowiadają poszczególnym 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.
WŁAŚCICIEL Liczba Identyfikator właściciela użytkownika.
ISTEAMPRIMARY Wartość logiczna Czy ten zespół jest głównym zespołem dla tego właściciela.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pobrania danych przez Snowflake.

Przykład 1

Pobiera wszystkich właścicieli danej drużyny.

Zapytanie:

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

Zwroty

TEAMID NAZWA ZESPOŁU ISTEAMPRIMARY
29584574 233620335 PRAWDA
29584574 1234553 PRAWDA

Zapytania potokowe

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 w celu uzyskania pełnego widoku potoków. Można na przykład wyszukiwać transakcje i ich potoki, łącząc dane objects_deals_view lub object_with_object_properties z danymi potoków.

rurociągi

Ten obiekt bazy danych zawiera informacje o potokach transakcji i ticketó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. oferty lub bilety).
LABEL Varchar Nazwa potoku w HubSpot.
DISPLAYORDER Liczba Kolejność, w jakiej pipeline jest wyświetlany w HubSpot.
ARCHIVED Wartość logiczna Czy rurociąg został usunięty.
CREATEDAT Znacznik czasu Kiedy rurociąg został utworzony.
UPDATEDAT Znacznik czasu Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pobrania 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;


Zwroty:

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

Przykład 2

Pobiera transakcje 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';


Zwroty:

DEAL_ID DEAL_NAME PIPELINE_NAME
605140072 Globalna rejestracja Meowmix Potok sprzedaży
605457408 Rebranding marki Friskies Potok sprzedaży
604362473 Tworzenie aplikacji Fresh Step Potok sprzedaży

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';

Zwroty:

DEAL_ID

DEAL_NAME

PIPELINE_NAME

605140072

Globalna rejestracja Meowmix

Potok sprzedaży

605457408

Rebranding marki Friskies

Potok sprzedaży

604362473

Tworzenie aplikacji Fresh Step

Potok sprzedaży

pipeline_stages

Ten widok zawiera informacje o poszczególnych etapach w ramach potoku. Etapy można identyfikować, łącząc 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 rurociągu.
STAGEID Varchar Identyfikator sceny.
LABEL Varchar Nazwa etapu w HubSpot.
DISPLAYORDER Liczba Kolejność, w jakiej pipeline jest wyświetlany w HubSpot.
METADATA Wariant Opis etapu w formacie JSON, w tym informacja, czy jest on otwarty czy zamknięty.
ARCHIVED Wartość logiczna Czy etap rurociągu został usunięty.
CREATEDAT Znacznik czasu Kiedy etap potoku 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;


Zwroty:

PIPELINEID STAGEID LABEL
941650 941651 Kontakt
941650 941652 Zaplanowane spotkanie
941650 941653 Faktura wysłana
... ... ...

Przykład 2

Pobierz wszystkie transakcje i ich odpowiednie etapy pipeline.

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';


Zwroty:

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

Zapytania dotyczące nieruchomości

property_definitions

Ten obiekt bazy danych zawiera informacje o właściwościach obiektów i właściwościach 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 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 nieruchomości.
DESCRIPTION Varchar Opis nieruchomoś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 Liczba Kolejność wyświetlania właściwości.
GROUPNAME Varchar Nazwa grupy właściwości.
OPTIONS Wariant 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 Liczba 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 owner zwrócą wartość OWNER.
CALCULATED Wartość logiczna Czy właściwość jest właściwością obliczaną.
EXTERNALOPTIONS Wartość logiczna Czy opcje właściwości są zdefiniowane w systemie zewnętrznym.
HASUNIQUEVALUE Wartość logiczna 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 Wartość logiczna Czy właściwość jest ukryta w HubSpot.
SHOWCURRENCYSYMBOL Wartość logiczna Określa, czy wartość właściwości number jest sformatowana jako waluta.
FORMFIELD Wartość logiczna Czy ta właściwość może być używana w formularzach.
READONLYDEFINITION Wartość logiczna Czy właściwość może być edytowana w HubSpot.
READONLYVALUE Wartość logiczna Czy wartość właściwości może być edytowana w HubSpot.
HUBSPOTDEFINED Wartość logiczna 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 Znacznik czasu Data i godzina utworzenia właściwości w HubSpot.
UPDATEDAT Znacznik czasu Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pobrania danych przez Snowflake.

Przykład 1

Pobiera nazwy i opisy wszystkich właściwości kontaktu.

Zapytanie:


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


Zwroty:

NAZWA LABEL OPIS
entered_sql_stage Rozpoczął się etap SQL Rozpoczęcie liczenia dni etapu SQL.
first_conversion_event_name
Pierwsza konwersja Pierwszy formularz przesłany przez ten kontakt.
adres Ulica Adres osoby kontaktowej.

Zapytania o zdarzenia

Zdarzenia obejmują standardowe zdarzenia HubSpot i niestandardowe zdarzenia behawioralne. Każde zdarzenie ma swój własny obiekt bazy 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 zaangażowaniu się w nią.
EVENTS_AD_METRICS_IMPORTED_V0

Szczegóły reklamy i jej wskaźniki wydajności.
EVENTS_CALL_MENTIONED_KEYWORD Szczegóły słów kluczowych wymienionych przez uczestników rozmów.
EVENTS_CLICKED_LINK_IN_EMAIL_V2

Linki kliknięte przez kontakty w wiadomościach marketingowych.
EVENTS_CLICKED_LINK_IN_TRACKED_INBOX_EMAIL_V8 Łącza 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 przeglądały pliki cookie.
EVENTS_DOCUMENT_SHARED_V2 Dokumenty sprzedaży udostępniane kontaktom za pośrednictwem łącza zewnętrznego.
EVENTS_DOCUMENT_VIEWED_V2 Dokumenty sprzedaży i kontakty, które przeglądali, 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 ich wysłania.
EVENTS_MTA_DELIVERED_EMAIL_V2 Wiadomości e-mail pomyślnie dostarczone do odbiorców przez serwery 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 Otwieranie 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 Skrzynka odbiorcza Conservations otwierana 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 zrezygnował z subskrypcji, anulując sekwencję.
EVENTS_V2_SEQUENCE_EMAIL_BOUNCED Wiadomość e-mail z sekwencją została odrzucona.
EVENTS_V2_SEQUENCE_ERRORED Błąd sekwencji powodujący wyrejestrowanie.
EVENTS_V2_SEQUENCE_STEP_EXECUTED Wykonany krok sekwencji.
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 w dniu 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 on unikalny dla każdego typu wydarzenia. Żadne dwa rekordy nie będą miały tego samego identyfikatora w ramach danego typu wydarzenia.
OBJECTTYPEID Varchar Typ obiektu, który zakończył zdarzenie. Na przykład kliknięcie łącza e-mail spowoduje wyświetlenie w tej kolumnie adresu 0-1, reprezentującego obiekt kontaktów.
OBJECTID Liczba Identyfikator rekordu, który ukończył zdarzenie.
OCCURREDAT Znacznik czasu Kiedy zdarzenie miało miejsce.

OCCURREDATDATEINT

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 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 klastrowego 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 zdarzenie miało miejsce.

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. Dowiedz się więcej o typach danych kolumn.
PROPERTY_* Varchar Poszczególne kolumny zawierające właściwości zdarzenia.

Przykład 1

Pobiera 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;


Zwroty:

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

Pobiera wszystkie zdarzenia kliknięcia wiadomości e-mail według kontaktów, które kliknęły. To zapytanie pobiera dane kontaktowe poprzez połą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;


Zwroty:

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. oferty lub bilety).
FULLYQUALIFIEDNAME Varchar Nazwa obiektu lub zdarzenia.
INGESTEDAT Znacznik czasu 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;


Zwroty:

OBJECTTYPEID FULLQUALIFIEDNAME
0-1 KONTAKT
0-8 LINE_ITEM
0-11 ROZMOWA
... ...

Lista zapytań

Poniżej dowiesz się, jak wyszukiwać listy, takie jak dostępne listy kontaktów i firm oraz rekordy zawarte na tych listach.

listy

Ten obiekt bazy danych zawiera informacje o listach kontaktów i firm HubSpot. Zwraca jeden wiersz na listę, a kolumny zawierają szczegóły listy, takie jak nazwa listy, rozmiar i typ obiektu rekordów, które zawiera. Nie zawiera informacji o poszczególnych rekordach na każdej liście (patrz list_membership).

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

Nazwa kolumny Typ Opis
OBJECTTYPEID Varchar Typ rekordów na liście (np. kontakt lub firma).
LISTID Liczba Identyfikator listy. Łączy się z kolumną LISTID w tabeli list-memberships.
CLASSICLISTID Liczba Identyfikator specyficzny dla list kontaktów, który odpowiada identyfikatorowi w adresie URL listy w HubSpot.
NAME Varchar Nazwa listy.
SIZE Liczba Liczba rekordów na liście.
CREATEDBYUSERID Liczba Identyfikator użytkownika, który utworzył listę.
CREATEDAT Znacznik czasu Kiedy lista została utworzona w HubSpot.
UPDATEDBYUSERID Liczba Identyfikator użytkownika, który ostatnio zaktualizował listę.
UPDATEDAT Znacznik czasu Data i godzina ostatniej aktualizacji daty w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pobrania danych przez Snowflake.

Przykład 1

Pobieranie wszystkich list kontaktów.

Zapytanie:


SELECT listId, name, size
FROM lists
WHERE objectTypeId = '0-1';


Zwroty:

LISTID NAZWA ROZMIAR
118131 Cotygodniowy zasięg 103
66156 Subskrybenci bloga 455
771852 Najlepsi subskrybenci 2021 37
... ... ...

Przykład 2

Pobranie określonej listy kontaktów o nazwie Top subscribers 2021.

Zapytanie:


SELECT listId, name, size 
FROM lists
WHERE objectTypeId = '0-1'
AND
listName = 'Top subscribers 2021';


Zwroty:

LISTID NAZWA ROZMIAR
771852 Najlepsi subskrybenci 2021 37

list_membership

Ten obiekt bazy danych zawiera informacje o tym, które rekordy są członkami których list, z jednym wierszem na rekord na liście. Na przykład, jeśli masz listę subskrybentów Bloga z 500 kontaktami, obiekt bazy danych zwróci 500 wierszy.

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

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

Nazwa kolumny Typ Opis
LISTID Varchar Identyfikator listy. Łączy się z kolumną HS_LIST_ID w tabeli list.
OBJECTID Varchar Identyfikator rekordu na liście.
UPDATEDAT Znacznik czasu Data i godzina ostatniej aktualizacji danych w HubSpot. Dowiedz się więcej o typach danych kolumn.
INGESTEDAT Znacznik czasu Data i godzina ostatniego pobrania danych przez Snowflake.

Przykład 1

Pobiera identyfikatory wszystkich kontaktów z listy Najlepsi subskrybenci 2021.

Zapytanie:


SELECT objectId
FROM list_memberships
INNER JOIN lists
ON list_memberships.listId = lists.listId
WHERE lists.objectTypeId = '0-1'
AND lists.name = 'Top Subscribers 2021';


Zwroty:

OBJECTID
54325098
96805401
6922028
...

Przykład 2

Pobieranie imion i nazwisk kontaktów z listy Najlepsi subskrybenci 2021.

Zapytanie:


SELECT

contact.objectId AS objectid,
contact.property_firstname AS firstname,
contact.property_lastname AS lastname
FROM objects_contacts contact
INNER JOIN list_memberships ON contact.objectId = list_memberships.objectId
INNER JOIN lists ON list_memberships.listId = lists.listId
WHERE lists.objectTypeId = '0-1'
AND lists.name = 'Top Subscribers 2021'


Zwroty:

OBJECTID

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, warto przyjrzeć się kolumnom obecnym w porównywanym raporcie. 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, zapoznaj się z asocjacjami. Asocjacje reprezentują relacje między obiektami w HubSpot CRM. Wszystkie różne powiązania 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 związanych z integracją HubSpot-Snowflake, zapytaj o widok data_share_status:

SELECT * FROM hubspot.public.data_share_status
LIMIT 1

Wyniki zostaną wyświetlone jako:

STATUS WIADOMOŚĆ AKTUALIZACJA
OK OBECNIE NIE SĄ ZNANE ŻADNE INCYDENTY 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.