HubSpot Knowledge Base

Interrogare i dati di HubSpot in Snowflake

Scritto da HubSpot Support | Nov 1, 2021 12:54:38 PM

Dopo aver collegato Snowflake al vostro account HubSpot, potete usare il Data Share di Snowflake per interrogare i dati di HubSpot dal vostro account Snowflake.

Ritardo nei dati e regione del vostro account Snowflake

Si avrà accesso allo schema V2_LIVE, aggiornato ogni 15 minuti, e allo schema V2_DAILY, aggiornato ogni giorno.

Nota bene: le seguenti viste dello schema V2_LIVE vengono aggiornate solo giornalmente: association_definitions, owners, pipeline e pipeline_stages.

Configurare l'ambiente Snowflake

Per interrogare i dati di HubSpot in Snowflake, è necessario selezionare il magazzino, il database e lo schema da cui si desidera eseguire la query. È possibile impostarli a livello di foglio di lavoro per includerli automaticamente nelle query, oppure aggiungerli manualmente.

Per selezionare il magazzino, il database e lo schema a livello di foglio di lavoro:

  • Nella riga superiore del foglio di lavoro, fate clic sulla barra delle azioni del foglio di lavoro.

  • Nella finestra a comparsa:
    • Fare clic sul menu a discesa Magazzino e selezionare il magazzino.
    • Fare clic sul menu a discesa Database e selezionare il database HubSpot.
    • Fare clic sul menu a discesa Schema e selezionare lo schema che si desidera utilizzare:
        • V2_DAILY: lo schema giornaliero per interrogare i dati in base alle tabelle. I dati in questo schema vengono aggiornati una volta al giorno. L'uso di questo schema consente di ottenere query più veloci ed è consigliato per le query direttamente in Snowflake.
        • V2_LIVE: lo schema live basato su Secure Views dei dati di HubSpot. I dati in questo schema vengono aggiornati ogni 15 minuti. Se si sta interrogando un grande insieme di dati, le query potrebbero essere lente. In questo caso, si consiglia di copiare i dati nella propria tabella con un processo di ETL e di interrogare la tabella.


Una volta configurato l'ambiente, è possibile eseguire query sui dati di HubSpot senza dover aggiungere manualmente il tipo di database o di schema alle query.

Per aggiungere manualmente il database e il tipo di schema alle query, aggiungere il nome del database seguito dallo schema all'inizio del campo FROM. Ad esempio:


SELECT objectTypeId, property_createddate
FROM hubspot_share_name.V2_LIVE.objects_deals

LIMIT 1

Panoramica dei dati

Le query sono costruite utilizzando SQL e possono essere utilizzate per recuperare dati di HubSpot quali:

  • Oggetti: oggetti standard e personalizzati, come contatti, aziende, prodotti.
  • Record: record individuali, come un singolo contatto o un'azienda.
  • Associazioni: tutti i tipi di associazione disponibili e i record attualmente associati.
  • Eventi: dati relativi agli eventi standard di HubSpot, come le aperture delle e-mail, e agli eventi comportamentali personalizzati.
  • Elenchi: Elenchi di contatti e aziende di HubSpot.
  • Proprietari: utenti del vostro account HubSpot, in relazione ai record di cui sono impostati come proprietari.
  • Pipeline: pipeline di transazioni e ticket, comprese le fasi della pipeline.
  • Proprietà: proprietà e relativi valori sui record del CRM, compresa la cronologia delle proprietà.

Per saperne di più sul modello di dati CRM di HubSpot.

Nota bene: con l'evolversi della condivisione dei dati, introdurremo modifiche, alcune delle quali di rottura. Si consiglia vivamente di iscriversi al change log degli sviluppatori di HubSpot. Queste modifiche saranno sempre pubblicate nel change log prima di qualsiasi aggiornamento.

Limitare e ordinare i dati restituiti

Quando si costruiscono le query, si può controllare la quantità di dati restituiti e l'ordine in cui vengono restituiti, includendo LIMIT e ORDER BY nella query. Per esempio, per interrogare tutti i contatti con le loro proprietà, ma restituendo solo tre risultati e ordinandoli per ID contatto, si può costruire la query come segue:


SELECT objectTypeId, updatedAt, ingestedAt
FROM objects_deals
ORDER BY objectId
LIMIT 10;

Tipi di dati delle colonne

Quando si interrogano i dati in Snowflake, le colonne che vengono restituite dipendono dai dati che si stanno interrogando. È possibile visualizzare le colonne disponibili per una determinata tabella o vista in Snowflake selezionando la vista nella barra laterale sinistra.

Nota:per il resto di questo documento, utilizzeremo il termine oggetto di database quando il contesto si applica sia alle tabelle che alle viste.


Per restituire una colonna specifica, includere tale colonna nel campo SELECT della query. Ad esempio, la seguente query restituirà solo le colonne OBJECTID e UpdatedAt:


SELECT
objectId, updatedAt
FROM objects_contacts

Di seguito sono riportate le definizioni generali delle colonne che una query potrebbe restituire. Per altre definizioni non incluse di seguito, si vedano le definizioni delle singole viste nell'articolo precedente.

  • OBJECTTYPEID: un valore VARCHAR che rappresenta il tipo di oggetto. Ad esempio, 0-1 rappresenta l'oggetto Contatti, 0-2 rappresenta l'oggetto Aziende e 2-1232 potrebbe rappresentare un oggetto personalizzato dell'account. Negli elenchi, questo valore si riferisce al tipo di elenco (ad esempio, contatti o aziende). È possibile interrogare tutti gli ID degli oggetti e degli eventi dell'account utilizzando la vista Definizioni_di_tipo_di_oggetto_e_di_evento.
  • OBJECTID: un numero BIGINT che rappresenta un singolo record di un determinato tipo di oggetto nell'account HubSpot. Per identificare un record, è necessario utilizzare sia l'ID del tipo di oggetto che l'ID dell'oggetto.
  • INGESTEDAT: il timestamp di quando una riga di dati è stata aggiunta a Snowflake, rappresentato da un valore TIMESTAMP_NTZ. Non è correlato al timestamp logico di un'operazione di creazione o aggiornamento in HubSpot.
    • A causa dell'elaborazione interna di HubSpot, il timestamp di ingestione di una riga può essere aggiornato anche se nessun'altra colonna della riga è cambiata.
    • Quando si creano processi ETL che copiano dati modificati di recente, si consiglia di basare le query sul timestamp di ingestione. Inoltre, se il flusso copia i dati quotidianamente, si consiglia di copiare i dati dei due giorni precedenti per tenere conto dei ritardi.
  • CREATEDAT e UPDATEDAT: il timestamp logico di quando i dati sono stati creati o aggiornati in HubSpot, rappresentato da un valore TIMESTAMP_NTZ . Questi timestamp corrispondono ai timestamp di HubSpot. Ad esempio, l'ora visualizzata in HubSpot per la data di creazione di un record sarà la stessa del timestamp nella colonna CREATEDAT di Snowflake. Queste proprietà non sono direttamente collegate al timestamp di ingestione e non è consigliabile basare i processi ETL su di esse.
  • COMBINEDASSOCIATIONTYPE: un valore VARCHAR che identifica in modo univoco una definizione di associazione.

Trasformazione dei tipi di dati

A volte, i dati vengono restituiti da una query con colonne VARCHAR quando sarebbe auspicabile che fossero di tipo diverso. In questi casi, si consiglia di convertire il tipo di dati VARCHAR nei tipi desiderati utilizzando le funzioni di Snowflake. Ad esempio, le proprietà di un record di un oggetto sono memorizzate come tipi di dati VARCHAR nella maggior parte degli oggetti del database, ma a volte contengono valori numerici e datetime. Funzioni come:
try_to_number, try_to_timestamp_ntz possono essere usate per convertire questi dati VARCHAR rispettivamente nei tipi NUMBER e 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

Interrogazione degli oggetti

Di seguito, scoprirete come interrogare i dati di specifici oggetti e record di HubSpot, insieme ai dati che vengono restituiti.

I dati degli oggetti di diverso tipo sono organizzati e disponibili in due modi:

  • Individuale: ogni tipo di oggetto è memorizzato nella propria vista e contiene solo record dello stesso tipo di oggetto, ad esempio oggetti_contatti contiene solo record di contatti. Questo elimina la necessità di specificare un objecttypeid durante l'interrogazione. Queste viste sono più facili da interrogare, poiché non è necessario conoscere gli ID degli oggetti. Inoltre, restituiscono i dati in un formato più fruibile, con ogni riga corrispondente a un oggetto e alla versione corrente delle sue proprietà. Se non si verificano query lente, è consigliabile utilizzare queste viste per recuperare i dati degli oggetti. Per saperne di più, vedere le viste Objects_X qui sotto.
  • Combinato: Tutti i record di tutti i tipi di oggetto vengono combinati in un unico oggetto del database. Pertanto, quando si esegue una query, è necessario specificare un filtro come "WHERE objectTypeId='0-1'". Ad esempio, è possibile utilizzare i seguenti tipi di oggetto per l'interrogazione:
Nome dell'oggetto OggettoTipoId
Contatti 0-1
Aziende 0-2
Voci di linea 0-8

Aglioggetti personalizzati viene assegnato un ID al momento della creazione, identificato come 2-unique_ID. Ad esempio, 2-12345. Per saperne di più sulle definizioni dei tipi di oggetto e di evento.

Questi oggetti di database sono generalmente adatti se si vogliono ottenere prestazioni di interrogazione migliori di quelle ottenibili con le viste objects_x. Vedere maggiori dettagli in object_with_object_properties, object_properties, objects e object_properties_history.

oggetti_x viste

In questo oggetto del database, ogni tipo di oggetto disponibile, compresi gli oggetti personalizzati, ha la sua vista specifica e ogni vista contiene solo i record degli oggetti di quel determinato tipo di oggetto. Queste viste sono denominate secondo il formato OBJECTS_<nome del tipo di oggetto>, dove <nome del tipo di oggetto> è l'etichetta della forma plurale del tipo di oggetto(si noti che se il tipo di oggetto non ha una forma plurale, allora <nome del tipo di oggetto> sarà semplicemente l'etichetta della forma singolare del nome del tipo di oggetto concatenata con "S").

Le interrogazioni a questa vista restituiscono una riga per ogni record di un oggetto, con ogni proprietà dell'oggetto disponibile come colonna separata.

Di seguito è riportato l'elenco completo dei tipi di oggetti HubSpot (cioè non personalizzati) disponibili, una breve descrizione dei dati che rappresentano e le viste corrispondenti:

HubSpot Tipo di oggetto

OggettoTipoId

Descrizione

CONTATTO

0-1

Informazioni sulle persone che interagiscono con la vostra azienda

AZIENDA

0-2

Informazioni su singole aziende o organizzazioni

DEAL

0-3

Dettagli sulle opportunità di guadagno con un contatto o un'azienda.

INGAGGIO

0-4

Memorizza i dati delle azioni del CRM, tra cui note, attività, e-mail, riunioni e chiamate.

BIGLIETTO

0-5

Rappresentare le richieste di aiuto o di supporto dei clienti.

QUOTE

0-14

Utilizzato per condividere le informazioni sui prezzi con i potenziali acquirenti.

MODULO_INVIO

0-15

Dettagli per gli invii individuali di un modulo HubSpot.

LINE_ITEM

0-8

Rappresentano un sottoinsieme di prodotti venduti in un accordo. Quando un prodotto è collegato a un accordo, diventa una voce di linea.

CONVERSAZIONE

0-11

Dettagli dei messaggi in arrivo da più canali.

PAGINA DI ATTERRAGGIO

0-25

Dettagli delle pagine di destinazione

COMPITO

0-27

Memorizza le informazioni sugli elenchi di cose da fare

MODULO

0-28

Utilizzato per raccogliere informazioni sui vostri visitatori e contatti

MARKETING_EMAIL

0-29

Dettagli sulle e-mail dell'hub di marketing

AD_ACCOUNT

0-30

Memorizza le informazioni sui vostri account pubblicitari su Linkedin, Facebook e Google.

AD_CAMPAIGN

0-31

Dettagli sulle campagne pubblicitarie. Una campagna pubblicitaria può contenere uno o più annunci

AD_GROUP

0-32

Raggruppamento logico degli annunci all'interno di una campagna pubblicitaria

AD

0-33

Dettagli sui singoli annunci

CAMPAGNA

0-35

Informazioni sulle attività di marketing e sui contenuti correlati, in modo da poter misurare facilmente l'efficacia dei vostri sforzi di marketing collettivi.

SITO_PAGINA

0-38

Dati su singole pagine del vostro sito web

BLOG_POST

0-39

Dati sui post del blog

ELENCO OGGETTI

0-45

Informazioni sui raggruppamenti di record di oggetti in base alle loro proprietà o attività.

CHIAMATA

0-48

Chiamate effettuate da altri record CRM, ad esempio i contatti

FATTURA

0-53

Gestire e sincronizzare le fatture con i sistemi contabili esterni.

PONTE_MEDIA

0-57

Informazioni sulle risorse multimediali importate in Hubspot

SEQUENZA

0-58

Una sequenza è una serie di modelli di e-mail mirate e temporizzate per coltivare i contatti nel tempo.

DEAL_SPLIT

0-72

Le suddivisioni delle transazioni sono utilizzate per condividere il credito delle transazioni tra più utenti.

DOCUMENTO DI VENDITA

0-83

I documenti di vendita creano una libreria di contenuti per l'intero team che può caricare e condividere documenti con i propri contatti.

INVIO_DI_RISCONTRO

0-19

Memorizza le informazioni inviate a un sondaggio di feedback.

ABBONAMENTO

0-69

Le sottoscrizioni contengono i dettagli dei pagamenti ricorrenti

PAGAMENTO COMMERCIALE

0-101

Contiene dati sui fondi raccolti dai clienti



Ogni oggetto del database restituisce le seguenti colonne:

Nome della colonna

Tipo

Descrizione

TIPO DI OGGETTO

Varchar

L'ID del tipo di oggetto (ad esempio, contatti è 0-1).

OGGETTO

Numero

L'ID del record (ad esempio, un record di contatto con ID 123752).

AGGIORNATOAT

Timestamp

La data e l'ora dell'ultimo aggiornamento di questo oggetto in HubSpot.

INGESTEDAT

Timestamp

La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

PROPRIETA'_*

Varchar

Per ogni proprietà dell'oggetto che ha un tipo di data o di numero (come specificato da property_definitions), ci saranno due colonne:

  1. Una colonna contenente il valore della proprietà come stringa. Il nome della colonna sarà property_unparsed_[nome] . Ad esempio, la proprietà dell'oggetto DEAL, deal_amount avrà la colonna property_unparsed_deal_amount
  2. Una colonna contenente il valore convertito nel tipo nativo. La colonna avrà il nome property_[nome]. Ad esempio, la proprietà dell'oggetto DEAL, deal_amount, avrà la colonna property_deal_amount. Si noti che questa colonna conterrà null se la conversione al tipo nativo fallisce a causa di dati non validi.

Esempio 1


Recupera il nome, il cognome e la fase del ciclo di vita di tutti i contatti.

Interrogazione:


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

FROM objects_contact

Restituzione:

OGGETTO

NOME

COGNOME

STAGIONE DELLA VITA

54325098

Hobbes

Barone

piombo

96805401

Milo

Oro

piombo

6922028

Enrico

Riley

piombo

Esempio 2

Recuperare il nome dell'operazione e la fase di un massimo di tre operazioni.

Query:


SELECT objectId, property_dealName, property_dealStage,
property_amount AS dealAmount

FROM objects_deals

LIMIT 3

Restituzione:

OGGETTO

NOME_PROPRIETÀ

PROPRIETÀ_FESTA

IMPORTO_DELLA_PROPRIETÀ

38960439

Nome dell'affare 1

chiuso vinto

34199

321740651

Test Deal 123

14845019

8383663

98392101

Tettoia pop-up

chiuso vinto

9309007

Esempio 3

Recupera il nome dell'operazione e la fase delle prime tre operazioni per importo.

Interrogazione:

Poiché i dati relativi alla quantità di deal sono disponibili come tipo di dato numero, possono essere utilizzati per l'ordinamento senza dover effettuare conversioni o casting.


SELECT objectId, property_dealName, property_dealStage,
property_amount AS dealAmount

FROM objects_deals
ORDER BY property_amount DESC
LIMIT 3


Restituzione:

OGGETTO

NOME_PROPRIETÀ

PROPRIETÀ_FESTA

IMPORTO_DELLA_PROPRIETÀ

98392101

Tettoia pop-up

chiuso vinto

9309007

321740651

Test Deal 123

14845019

8383663

38960439

Nome dell'affare 1

chiuso vinto

34199

oggetto_con_proprietà_di_oggetto

Questo oggetto database contiene i dati dei record di HubSpot. Le interrogazioni a questo oggetto database restituiscono una riga per ogni record all'interno di un tipo di oggetto (ad esempio, tutti i record dei contatti nel tipo di oggetto Contatti). Tutte le proprietà sono memorizzate nella colonna Properties, che è una colonna Snowflake Variant / JSON.

Questa vista può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
OBJECTTYPEID Varchar L'ID del tipo di oggetto (ad esempio, contatti è 0-1).
OBJECTID Numero L'ID del record (ad esempio, un record di contatto con un ID di 123752).
PROPERTIES Variante I valori di proprietà del record.
UPDATEDAT Timestamp La data e l'ora dell'ultimo aggiornamento del record in HubSpot. Per saperne di più sui tipi di dati delle colonne.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Attenzione: il 25 gennaio 2022, la colonna timestamp nella tabella e nella vista object_with_object_properties, che rappresenta la data e l'ora dell'ultimo aggiornamento del record dell'oggetto in HubSpot, sarà updatedat. Questo per allinearsi al modo in cui i dati datetime sono rappresentati nel resto della condivisione dei dati.

Poiché si tratta di una modifica di rottura, la nuova colonna updatedat è stata aggiunta alla tabella e alla vista. Per i prossimi 90 giorni, queste due nuove colonne coesisteranno con timestamp, le colonne che intendono sostituire. In questo modo si ha la possibilità di passare all'uso delle nuove colonne.

Dopo 90 giorni, il 25 gennaio 2022, la colonna timestamp verrà rimossa dalla tabella e dalla vista. Dopo questa data, qualsiasi tentativo di interrogare la tabella o la vista object_with_object_properties utilizzando le colonne timestamp fallirà.

Esempio 1

Recupera tutti i contatti e le loro proprietà.

Interrogazione:


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


Restituzione:

TIPO DI OGGETTO OGGETTO PROPRIETÀ
0-1 38960439 {"data di creazione": "1504656970152"...}
0-1 321740651 {"createdate": "1590183081949"...}
0-1 98392101 {"createdate": "1533566477279"...}
... ... ...

Esempio 2

Recupera il nome dell'operazione e la fase di un massimo di tre operazioni.

Interrogazione:


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;


Restituzione:

OGGETTO NOME DEALNAME DEALSTAGE DEALAMOUNT
38960439 Nome dell'affare 1 chiuso 7488939
321740651 Nome dell'affare 1 chiuso vinto 9292029
98392101 Nome dell'affare 1 chiuso 62626528

oggetti

Questo oggetto di database è un sottoinsieme dei dati dell'oggetto di database object_with_object_properties. Ogni riga restituita riporta l'ID dell'oggetto per ogni record. Questo oggetto database restituisce solo i record esistenti. Quando un record viene eliminato in HubSpot, viene rimosso da questo oggetto database. Questo oggetto database è un sottoinsieme dei dati della tabella object_with_object_properties. Ogni riga restituita riporta l'ID dell'oggetto per ogni record. Questa vista restituisce solo i record esistenti. Quando un record viene eliminato in HubSpot, viene rimosso da questa vista.

Questo oggetto di database può essere utile se l'account ha una grande quantità di dati, con conseguente rallentamento delle prestazioni delle viste object_with_object_properties e objects_x. L'uso di questo oggetto database con l'oggetto database object_properties consente di replicare i dati in object_with_object_properties, mantenendo il controllo su quali proprietà vengono restituite.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
OBJECTTYPEID Varchar L'ID del tipo di oggetto (ad esempio, contatti è 0-1).
OBJECTID Numero L'ID del record (ad esempio, un record di contatto con un ID di 123752).
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake. Per saperne di più sui tipi di dati delle colonne.

Esempio 1

Recuperare tutti i record di contatto.

Interrogazione:


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


Restituzione:

TIPO DI OGGETTO OGGETTO
0-1 36721864
0-1 103580363
0-1 56047670
... ...

proprietà_oggetto

Questo oggetto di database è un sottoinsieme dell'oggetto di database object_with_object_properties. Ogni riga contiene il valore corrente della proprietà impostata su un determinato record. Ad esempio, un contatto avrà una riga per la proprietà Nome e una riga per la proprietà Cognome. Se un record non ha un valore per una proprietà, la riga apparirà con una stringa vuota o non apparirà affatto.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
OBJECTTYPEID Varchar L'ID del tipo di oggetto (ad esempio, contatti è 0-1).
OBJECTID Numero L'ID del record (ad esempio, un record di contatto con un ID di 123752).
NAME Varchar Il nome della proprietà.
VALUE Timestamp Il valore dell'immobile.
UPDATEDAT Timestamp La data e l'ora dell'ultimo aggiornamento del record in HubSpot. Per saperne di più sui tipi di dati delle colonne.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera le proprietà di nome, cognome e città per tutti i contatti.

Interrogazione:


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


Restituzione:

TIPO DI OGGETTO OGGETTO NOME VALORE
0-1 10401 nome Brian
0-1 10401 città Dublino
0-1 10401 cognome Gallagher
0-1 23451 nome Fernando
0-1 23451 cognome Fierro
0-1 25751 nome Carlo
... ... ... ...

Esempio 2

Recuperare il nome, il cognome e la fase del ciclo di vita di tutti i contatti e combinarli in una riga per ogni contatto. Questo esempio utilizza la sintassi SQL PIVOT.

Interrogazione:


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

Restituzione:

TIPO DI OGGETTO OGGETTO NOME COGNOME STAGIONE DELLA VITA
0-1 54325098 Hobbes Barone piombo
0-1 96805401 Milo Oro piombo
0-1 6922028 Enrico Riley piombo
... ... ... ... ...

oggetto_proprietà_storia

Questo oggetto del database contiene i valori storici delle proprietà. Per i contatti, contiene i 45 valori più recenti. Per tutti gli altri oggetti, contiene i 20 valori più recenti. Visualizza una riga per ogni valore storico della proprietà. Il valore attuale di una proprietà è determinato dal timestamp UPDATEDAT più recente nella cronologia della proprietà.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
OBJECTTYPEID Varchar L'ID del tipo di oggetto (ad esempio, contatti è 0-1).
OBJECTID Numero L'ID del record (ad esempio, un record di contatto con un ID di 123752).
NAME Varchar Il nome della proprietà.
VALUE Timestamp Il valore dell'immobile.
UPDATEDAT Timestamp La data e l'ora dell'ultimo aggiornamento dei dati in HubSpot. Per saperne di più sui tipi di dati delle colonne.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera la cronologia di una singola proprietà per un singolo contatto.

Interrogazione:


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


Restituzione:

OGGETTO NOME VALORE AGGIORNATOAT

136493192

hs_predictivescoringtier

livello_1

2022-06-22 22:45:05.931

136493192

hs_predictivescoringtier

livello_2

2021-09-18 08:20:56.622

136493192

hs_predictivescoringtier

livello_3

2019-11-31 18:20:22.851

...

...

...

...

Esempio 2

Recupera il nome corrente di tutti i contatti che hanno avuto una fase del ciclo di vita di Abbonato.

Interrogazione:


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


Restituzione:

OGGETTO NOME COGNOME
54325098 Hobbes Barone
96805401 Milo Oro
6922028 Enrico Riley
... ... ...

Domande di associazione

Come i dati degli oggetti, i dati delle associazioni sono organizzati in due modi:

  • Individuale: Ogni tipo di associazione è memorizzato nella propria vista e contiene solo i record di quel tipo. Ad esempio, associazioni_contatti_a_affari contiene solo i record di associazione tra gli oggetti contatto e affare. Questo elimina la necessità di specificare un associationtypeid durante l'interrogazione. Queste viste sono abbastanza facili da interrogare, poiché non richiedono familiarità con il modello di dati del CRM per essere utilizzate. Inoltre, restituiscono una descrizione arricchita del record di associazione tra due oggetti, che può essere facilmente utilizzata nei join con le viste objects_x. Se non si verificano query lente, è consigliabile utilizzare queste viste per recuperare i dati delle associazioni. Per saperne di più, vedere le viste associations_x_to_y qui di seguito.
  • Combinato: Tutti i record di tutti i tipi di associazione vengono combinati in un unico oggetto del database. Pertanto, quando si esegue una query, è necessario specificare un filtro come "WHERE combinedassociationtypeid='0-32' ". Per saperne di più, vedere le associazioni e le definizioni_di_associazione qui di seguito.

associazioni_x_a_y viste

Ogni tipo di associazione ha una propria vista, etichettata come associations_<nome del tipo di associazione>, ad esempio associations_contacts_to_deals. Ogni vista è un sottoinsieme dei dati dell'oggetto database delle associazioni e contiene solo i record di uno specifico tipo di associazione combinato.

Ogni oggetto del database restituisce le seguenti colonne:

Nome della colonna

Tipo

Descrizione

TIPO DI ASSOCIAZIONE COMBINATA

Varchar

L'identificatore univoco della definizione di associazione.

CATEGORIA DI ASSOCIAZIONE

Varchar

L'origine del tipo di associazione. Una delle seguenti opzioni: HUBSPOT_DEFINED, USER_DEFINED, INTEGRATOR_DEFINED

ASSOCIAZIONE-TIPOID

Varchar

Identificatore univoco di una definizione di associazione all'interno di una specifica categoria di associazione, vale a dire che non esistono due definizioni in una categoria di associazione con lo stesso associationtypeid.

FROMOBJECTTYPEID

Varchar

L'ID dell'oggetto che è l'origine della definizione di associazione.

DAOGGETTITIPO

Varchar

Il nome del tipo di oggetto che è l'origine della definizione di associazione.

ID TOOBJECTTYPEID

Varchar

Il tipo di oggetto che è la destinazione della definizione di associazione.

TOOBJECTTYPE

Varchar

Il nome del tipo di oggetto che è la destinazione della definizione di associazione.

NOME

Varchar

Il nome della definizione di associazione.

ETICHETTA

Varchar

Descrizione della definizione dell'associazione.

DEFINIZIONE DI ASSOCIAZIONE PRINCIPALE

Booleano

Se la definizione dell'associazione è il tipo principale. Se è vero, la definizione è quella che HubSpot visualizza sui record associati.

[FROMOBJECTTYPE_OBJECTID] ad esempio per la vista ASSOCIATIONS_CONTACTS_TO_DEALS, sarà CONTACT_OBJECTID

Numero

L'ID oggetto dell'oggetto sorgente.

[TOOBJECTTYPE_OBJECTID] ad esempio per la vista ASSOCIATIONS_CONTACTS_TO_DEALS, sarà DEAL_OBJECTID

Numero

L'ID oggetto dell'oggetto di destinazione.

INGESTEDAT

Timestamp

La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera tutte le offerte associate a un contatto specifico.

Interrogazione:


SELECT
contact_objectId, deal_objectId

FROM associazioni_contatti_a_deal

DOVE contactId = 6626541373

Restituzione:

OGGETTO_CONTATTO

DEAL_OBJECTID

6626541373

233620335

6626541373

90253678

Esempio 2

Recupera tutti i contatti con sede nel fuso orario di Bogotà e le loro offerte.


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'

NOME_CONTATTO

NOME_CONTATTO

EMAIL DI CONTATTO

TIPO_DIFFUSO

IMPORTO_DEL_DETTAGLIO

Davide

Magalhães

dmagalhaes@example.com

newbusiness

74848

Fernanda

Rodrigues

fmoreira@example.com

newbusiness

253530

Esempio 3

Recupera tutti i contatti e la somma totale delle transazioni chiuse per ogni contatto.


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

Restituzione:

IMPORTO TOTALE CHIUSO

EMAIL DI CONTATTO

98474793

johndoe@riverview.com

849488

sallymae@longford.com

definizioni_di_associazione

Questo oggetto database contiene informazioni su tutti i tipi di associazione disponibili tra gli oggetti HubSpot, con una riga per tipo di associazione. È possibile unire questo oggetto database con l'oggetto database associazioni per ottenere informazioni sulle associazioni specifiche del record.

Possono esistere più tipi di associazioni tra gli stessi oggetti. Il tipo di associazione principale, che è quello visualizzato in HubSpot quando i record sono associati, utilizza l'associazione in cui ISMAINASSOCIATIONDEFINITION è true.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
COMBINEDASSOCIATIONTYPEID Varchar L'identificatore univoco della definizione di associazione.
CATEGORY Varchar L'origine del tipo di associazione. Una delle seguenti opzioni: HUBSPOT_DEFINED, USER_DEFINED, INTEGRATOR_DEFINED
ID Numero L'identificatore della definizione di associazione all'interno della sua categoria.
FROMOBJECTTYPEID Varchar L'ID dell'oggetto che è l'origine della definizione di associazione.
TOOBJECTTYPEID Varchar L'ID dell'oggetto che è la destinazione della definizione di associazione.
NAME Varchar Il nome della definizione di associazione.
LABEL Varchar L'etichetta della definizione di associazione.
ISMAINASSOCIATIONDEFINITION Booleano Se la definizione di associazione è il tipo principale. Se è vero, la definizione è quella che HubSpot visualizza sui record associati.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake. Per saperne di più sui tipi di dati delle colonne.

Esempio 1

Recuperare i tipi di associazioni disponibili nel proprio account.

Interrogazione:


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


Restituzione:

TIPO DI ASSOCIAZIONE COMBINATA FROMOBJECTTYPEID ID TOOBJECTTYPEID NOME
0-1 0-1 0-2 CONTATTO_A_AZIENDA
0-2 0-2 0-1 AZIENDA_DA_CONTATTARE
0-3 0-3 0-1 ACCORDO_A_CONTATTO
0-4 0-1 0-3 CONTATTO_PER_L'AFFARE
0-5 0-3 0-2 ACCORDO_A_AZIENDA
... ... ... ...

Esempio 2

Recupera i tipi di associazione disponibili tra le transazioni e le aziende.

Interrogazione:


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

ORDER BY category, id


Restituzione:

TIPO DI ASSOCIAZIONE COMBINATA FROMOBJECTTYPEID ID TOOBJECTTYPEID NOME
0-5 0-3 0-2 ACCORDO_A_AZIENDA
0-271 0-3 0-2 ACCORDO_A_A_AZIENDA_PRIMARIA
0-341 0-3 0-2 ACCORDO_A_COMAPNY_NON_ETICHETTATO

associazioni

Questo oggetto del database contiene informazioni sulle associazioni tra record specifici. Ogni riga rappresenta un'associazione tra un oggetto e un altro oggetto. Le righe possono essere presenti in questo oggetto database anche se i record di riferimento sono stati cancellati. È possibile verificare l'esistenza di record mediante un'associazione con la tabella degli oggetti.

Questo oggetto di database può essere utile se l'account ha una grande quantità di dati, con conseguente lentezza delle viste associations_x_to_y.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
COMBINEDASSOCIATIONTYPEID Varchar L'identificatore univoco della definizione di associazione.
FROMOBJECTID Numero L'ID dell'oggetto sorgente.
TOOBJECTID Numero L'ID dell'oggetto di destinazione.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake. Per saperne di più sui tipi di dati delle colonne.

Esempio 1

Recupera tutte le offerte e i contatti associati.

Interrogazione:


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


Restituzione:

TIPO DI ASSOCIAZIONE COMBINATA FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335
0-5 6616436082 3866015468
0-5 6690805943 7132752747
... ... ...

Esempio 2

Recupera tutti i ticket associati a un contatto specifico (ID contatto: 3005).

Interrogazione:


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


Restituzione:

TIPO DI ASSOCIAZIONE COMBINATA FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335

Esempio 3

Recupera tutte le offerte associate a un contatto specifico (ID contatto: 4464). Invece di codificare in modo rigido combinedAssociationTypeId, questo esempio si unisce a association_definitions.

Interrogazione:


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;


Restituzione:

TIPO DI ASSOCIAZIONE COMBINATA FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335

Domande del proprietario

proprietari

Questo oggetto del database contiene informazioni sugli utenti dell'account HubSpot. Gli utenti possono essere impostati come proprietari di record e conterranno sia un ID utente che un ID proprietario, a seconda del contesto. Entrambi gli ID possono essere utilizzati per identificare lo stesso utente.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
OWNERID Numero L'ID proprietario dell'utente.
USERID Numero ID utente dell'utente. Gli utenti con NULL in questa colonna sono stati eliminati.
EMAIL Varchar L'indirizzo e-mail dell'utente.
FIRSTNAME Varchar Nome dell'utente.
LASTNAME Varchar Il cognome dell'utente.
ARCHIVED Booleano Se l'utente è stato cancellato.
CREATEDAT Timestamp La data e l'ora di creazione dell'utente in HubSpot. Per ulteriori informazioni, vedere i tipi di dati delle colonne.
UPDATEDAT Timestamp La data e l'ora dell'ultimo aggiornamento dell'utente in HubSpot. Per ulteriori informazioni, vedere i tipi di dati delle colonne.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera tutti gli utenti. Il filtro WHERE archived = false rimuove gli utenti eliminati dai dati restituiti.

Interrogazione:


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


Restituzione:

PROPRIETÀ ID UTENTE MANDATO NOME COGNOME
29584574 4621126 233620335 Hobbes Barone
30532717 4874784 3866015468 Pablo Walters
30580321 925511 7132752747 Milo Oro
... ... ... ... ...

Esempio 2

Recupera un proprietario specifico in base al suo ID.

Interrogazione:


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


Restituzione:

PROPRIETÀ ID UTENTE MANDATO NOME COGNOME
29584574 4621126 233620335 Hobbes Barone

Esempio 3

Recupera tutti i contatti e i loro proprietari. Questa query unisce i record ai proprietari con object_with_object_properties e la proprietà del contatto 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


Restituzione:

CONTATTO NOME_CONTATTO NOME_CONTATTO CONTATTO_HUBSPOT_PROPRIETARIO_ID NOME_PROPRIETARIO NOME_PROPRIETARIO INDIRIZZO E-MAIL DEL PROPRIETARIO
113834202 Riccardo Greenfield 29584574 Hobbes Barone hobbes.b@business.com
53540801 Ford Karl 30241125 Milo Oro milo.g@business.com
... ... ... ... ... ... ...

Domande del team

squadre

I team di HubSpot consentono di organizzare gli utenti in gruppi per scopi organizzativi e di reporting. È possibile avere un team principale e altri team.

Questo oggetto del database contiene informazioni sui team dell'account HubSpot.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
TEAMID Numero L'ID della squadra.
NOME SQUADRA Varchar Il nome della squadra.
PARENTTEAMIDO Numero L'ID della squadra madre.
BAMBINI-TEAMIDI Array Gli ID delle squadre figlio.
SOCI PROPRIETARI PRIMARI Varchar Gli ID proprietario dei membri primari del team.
MEMBRI SECONDARI Booleano Gli ID proprietari dei membri secondari del team.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recuperare tutte le squadre.

Interrogazione:

SELECT teamId,teamName, primaryOwnerMembers

DAI team

Restituzione:

TEAMID NOME SQUADRA SOCI PROPRIETARI PRIMARI
29584574 Sottogruppo [233620335, 1234553]
30532717 Super squadra [3866015468, 126221873]
3058032 Una squadra [7132752747]

squadra_proprietario

Questo oggetto del database contiene informazioni su quali proprietari corrispondono a quali team nel vostro account HubSpot.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
TEAMID Numero L'ID della squadra.
PROPRIETÀ Numero L'ID proprietario dell'utente.
ISTEMPRIMARIO Booleano Se questa squadra è la squadra principale per questo proprietario.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera tutti i proprietari di una determinata squadra.

Interrogazione:

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

Restituzioni

TEAMID NOME SQUADRA ISTEMPRIMARIO
29584574 233620335 VERO
29584574 1234553 VERO

Interrogazione della pipeline

Di seguito, scoprirete come interrogare idati della pipeline di transazioni e ticket, come le pipeline disponibili nel vostro account e le loro fasi.

È possibile unire questi dati con quelli degli oggetti per ottenere una visione completa delle pipeline. Ad esempio, è possibile interrogare le transazioni e le relative pipeline unendo i dati object_deals_view o object_with_object_properties con i dati delle pipeline.

condutture

Questo oggetto di database contiene informazioni sulle pipeline di trattative e di ticket presenti nell'account. Ogni riga restituita rappresenta una singola pipeline.

Questa tabella può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
PIPELINEID Varchar L'ID della condotta.
OBJECTTYPEID Varchar L'ID dell'oggetto che la pipeline può contenere (ad esempio, offerte o biglietti).
LABEL Varchar Il nome della pipeline in HubSpot.
DISPLAYORDER Numero L'ordine di visualizzazione della pipeline in HubSpot.
ARCHIVED Booleano Se la pipeline è stata cancellata.
CREATEDAT Timestamp Quando è stata creata la pipeline.
UPDATEDAT Timestamp La data e l'ora dell'ultimo aggiornamento dei dati in HubSpot. Per saperne di più sui tipi di dati delle colonne.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera tutte le deal pipeline disponibili, ordinate in base al loro ordine in HubSpot.

Interrogazione:


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


Restituzione:

TIPO DI OGGETTO PIPELINEID ETICHETTA
0-3 1bed503c-37f7-4f51-9d40-7598902673f4 Pipeline di vendita
0-3 12659678 Licenze Pipeline
0-3 75e28846-ad0d-4be2-a027-5e1da6590b98 Nuovi affari
... ... ...

Esempio 2

Recupera gli affari all'interno di una pipeline specifica. Unisce object_with_object_properties e pipeline.

Interrogazione:


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


Restituzione:

ID DEAL NOME DEAL NOME TUBO
605140072 Iscrizione globale a Meowmix Pipeline di vendita
605457408 Marchio Friskies Pipeline di vendita
604362473 Costruire un'app a passi freschi Pipeline di vendita

Esempio 3

Come nell'esempio 2, recuperare le offerte all'interno di una pipeline specifica. Ma, invece di usare objects_deals nei join, usare 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';

Restituzione:

ID DEAL

NOME DEAL

NOME TUBO

605140072

Iscrizione globale a Meowmix

Pipeline di vendita

605457408

Marchio Friskies

Pipeline di vendita

604362473

Costruire un'app a passo fresco

Pipeline di vendita

Stadi della pipeline

Questa vista contiene informazioni sulle singole fasi di una pipeline. Gli stadi si identificano combinando l'ID del tipo di oggetto, l'ID della pipeline e l'ID dello stadio. Quando ci si unisce alle pipeline, si usa l'ID del tipo di oggetto e l'ID della pipeline.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
PIPELINEID Varchar L'ID della condotta.
STAGEID Varchar L'ID del palcoscenico.
LABEL Varchar Il nome dello stage in HubSpot.
DISPLAYORDER Numero L'ordine di visualizzazione della pipeline in HubSpot.
METADATA Variante Una descrizione formattata in JSON della tappa, che indica se è aperta o chiusa.
ARCHIVED Booleano Se la fase della pipeline è stata cancellata.
CREATEDAT Timestamp Quando è stata creata la fase della pipeline.

Esempio 1

Recupera le fasi della pipeline per una pipeline di trattative denominata Pipeline di vendita.

Interrogazione:


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;


Restituzione:

PIPELINEID STAGEID ETICHETTA
941650 941651 Contattato
941650 941652 Appuntamento fissato
941650 941653 Fattura inviata
... ... ...

Esempio 2

Recupera tutti gli accordi e le rispettive fasi della pipeline.

Interrogazione:


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


Restituzione:

ID DEAL NOME DEAL NOME TUBO NOME_PIPELINE_STAGE
605140072 Iscrizione globale a Meowmix Pipeline di vendita Contratto inviato
605457408 Marchio Friskies Pipeline di vendita Appuntamento fissato
604362473 Costruire un'app a passo fresco Pipeline di vendita Contratto firmato
... ... ... ...

Domande sulla proprietà

definizioni_di_proprietà

Questo oggetto del database contiene informazioni sulle proprietà degli oggetti e sugli eventi dell'account HubSpot. Le proprietà degli eventi includono eventi standard, come le aperture e i clic delle e-mail, e proprietà di eventi comportamentali personalizzati. Queste informazioni possono essere utili per definire i valori presenti nei dati object_properties ed events.

È possibile identificare proprietà specifiche combinando l'ID del tipo di oggetto e il nome. È possibile recuperare informazioni simili utilizzando l'API delle proprietà.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
OBJECTYPEID Varchar L'ID dell'oggetto a cui si riferisce l'evento.
NAME Varchar Nome interno della proprietà.
LABEL Varchar L'etichetta della proprietà.
DESCRIPTION Varchar La descrizione della proprietà.
TYPE Varchar Il tipo di proprietà (ad esempio, stringa, numero, data).
FIELDTYPE Varchar Il tipo di campo della proprietà. Definisce la modalità di visualizzazione della proprietà in HubSpot e nei moduli (ad esempio, casella di controllo, selezione).
DISPLAYORDER Numero L'ordine di visualizzazione della proprietà.
GROUPNAME Varchar Il nome del gruppo della proprietà.
OPTIONS Variante Per le proprietà enumerative, una matrice delle opzioni della proprietà, compresi gli attributi di ciascuna opzione (ad esempio, ordine di visualizzazione, etichetta).
CREATEDUSERID Numero L'ID dell'utente che ha creato la proprietà.
REFERENCEDOBJECTTYPE Varchar Il tipo di oggetto a cui fa riferimento la proprietà. Le proprietà Owner restituiranno il valore OWNER.
CALCULATED Booleano Se la proprietà è una proprietà calcolata.
EXTERNALOPTIONS Booleano Se le opzioni della proprietà sono definite in un sistema esterno.
HASUNIQUEVALUE Booleano Se i valori della proprietà sono unici. Può essere impostato solo quando si crea una proprietà tramite l'API.
HIDDEN Booleano Se la proprietà è nascosta in HubSpot.
SHOWCURRENCYSYMBOL Booleano Se il valore di una proprietà numerica è formattato come valuta.
FORMFIELD Booleano Se questa proprietà può essere utilizzata nei moduli.
READONLYDEFINITION Booleano Se la proprietà può essere modificata in HubSpot.
READONLYVALUE Booleano Se il valore della proprietà può essere modificato in HubSpot.
HUBSPOTDEFINED Booleano Se la proprietà è stata creata da HubSpot o da un utente.
ARCHIVED Booleano Se la proprietà è stata eliminata.
CREATEDAT Timestamp La data e l'ora in cui la proprietà è stata creata in HubSpot.
UPDATEDAT Timestamp La data e l'ora dell'ultimo aggiornamento dei dati in HubSpot. Per saperne di più sui tipi di dati delle colonne.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera i nomi e le descrizioni di tutte le proprietà dei contatti.

Interrogazione:


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


Restituzione:

NOME ETICHETTA DESCRIZIONE
inserito_sql_stage Entrata nella fase SQL Inizio conteggio giorni tappa SQL.
nome_evento_di_conversione
Prima conversione Il primo modulo inviato da questo contatto.
indirizzo Indirizzo stradale L'indirizzo del contatto.

Richieste di eventi

Gli eventi comprendono eventi standard di HubSpot ed eventi comportamentali personalizzati. Ogni evento ha un proprio oggetto di database, etichettato come events_eventname.

Nome
EVENTI_AD_INTERAZIONE Dettagli di un annuncio e contatti che hanno interagito con esso facendo clic sull'annuncio o inviando un modulo dopo averlo letto.
EVENTI_AD_METRICHE_IMPORTATE_V0

Dettagli di un annuncio e delle sue metriche di performance.
PAROLA_CHIAVE_CITATA_DEGLI_EVENTI Dettagli sulle parole chiave citate da tutti i partecipanti alle chiamate.
EVENTI_CLICCATI_COLLEGAMENTO_IN_EMAIL_V2

Link cliccati dai contatti nelle e-mail di marketing.
EVENTI_CLICCATI_COLLEGAMENTO_IN_TRACCIA_INBOX_EMAIL_V8 Link cliccati dai contatti nelle e-mail di Conversations Inbox.
EVENTI_COOKIE_BANNER_CLICCATI Contatti che hanno fatto clic sui cookie.
EVENTI_COOKIE_BANNER_VISTI Contatti che hanno visualizzato i cookie.
EVENTI_DOCUMENTO_CONDIVISO_V2 Documenti di vendita condivisi con i contatti tramite un link esterno.
EVENTI_DOCUMENTO_VISTI_V2 Documenti di vendita e contatti che hanno visualizzato aprendo il link esterno.
EVENTI_DOCUMENTO_COMPLETATO_V2 Documenti di vendita e contatti che li hanno chiusi.
EVENTI_HS_SCHEDULED_EMAIL_V2 Le e-mail inviate ai server di posta elettronica di HubSpot per essere spedite.
EVENTI_MTA_CONSEGNATI_EMAIL_V2 Email consegnate con successo ai destinatari dai server email di HubSpot.
EVENTI_MTA_BOUNCED_EMAIL_V2 Tentativi di consegna delle e-mail che sono stati rifiutati dal server e-mail del destinatario.
EVENTI_APERTI_EMAIL_V2 Apertura delle e-mail da parte dei contatti.
EVENTI_RIPORTATI_SPAM_EMAIL_V2 Email contrassegnate come spam dai destinatari.
EVENTI_AGGIORNATI_EMAIL_STATO_DELL'ABBONAMENTO_V2 Modifiche alle iscrizioni alle e-mail da parte dei destinatari.
EVENTI_APERTI_TRACCIATI_INBOX_EMAIL_V8 Apertura delle e-mail della casella di posta elettronica di Conservations Inbox da parte dei contatti.
EVENTI_MB_MEDIA_GIOCATI Attività di riproduzione video per contatti.
EVENTI_V2_CONTATTO_PRENOTAZIONE_RIUNIONE_ATTRAVERSO_SEQUENZA Il contatto ha prenotato un incontro attraverso la sequenza.
EVENTI_V2_CONTATTI_ISCRITTI_IN_SEQUENZA Contatto iscritto dalla sequenza.
EVENTI_V2_CONTATTO_FINITO_SEQUENZA Sequenza terminata.
EVENTI_V2_CONTATTO_RISPOSTA_SEQUENZA_EMAIL Il contatto ha risposto all'e-mail (o all'e-mail in arrivo che ha disiscritto la sequenza) inviata attraverso la sequenza.
EVENTI_V2_CONTATTI_NON_ISCRITTI_DA_SEQUENZA Contatto non iscritto alla sequenza.
EVENTI_V2_CONTATTI_NON_ISCRITTI_MANUALMENTE_DA_SEQUENZA L'utente ha disiscritto manualmente il contatto.
EVENTI_V2_CONTATTO_NON_SOTTOSCRITTO_SEQUENZA_EMAIL Il contatto ha annullato l'iscrizione, disiscrivendo la sequenza.
EVENTI_V2_SEQUENZA_EMAIL_COMUNICATI L'e-mail di sequenza è stata respinta.
EVENTI_V2_SEQUENZA_ERRATA Sequenza errata che causa la disiscrizione.
EVENTI_V2_SEQUENZA_PASSO_ESEGUITO Fase della sequenza eseguita.
PAGINA_EVENTI_VISITATI Visite alle pagine del sito web da parte dei contatti.
EVENTI_<NOME_EVENTO_DI_INTEGRAZIONE>_<IDENTIFICATORE_UNICO> Eventi di integrazione(API Timeline V3)

È possibile identificare gli eventi combinando l'ID del tipo di evento e l'ID. Le colonne che vengono restituite dipendono dall'evento, con una colonna per ogni proprietà dell'evento. Tutti gli eventi restituiscono le seguenti colonne:

Nota bene: HubSpot ha aggiunto due nuove colonne a tutte le tabelle e le viste degli eventi:

  • occurredat
  • occurredatdateint

Queste colonne sostituiranno le colonne occuredat e occuredatdateint il 24 novembre 2022. In tale data, le vecchie colonne non saranno più disponibili e i tentativi di interrogare un oggetto o una vista del database contenente eventi che utilizzano tali colonne falliranno. Per saperne di più sui cambiamenti di rotta per le condivisioni di dati Snowflake.



Nome della colonna Tipo Descrizione
EVENTTYPEID Varchar L'ID del tipo di evento, simile a OBJECTTYPEID.
È possibile interrogare tutti gli ID degli eventi nel proprio account utilizzando la vista object_and_event_type_definitions.
ID Varchar È unico per ogni tipo di evento. Non esistono due record con lo stesso ID all'interno di un determinato tipo di evento.
OBJECTTYPEID Varchar Il tipo di oggetto che ha completato l'evento. Ad esempio, un clic su un link di posta elettronica visualizzerà 0-1 in questa colonna, che rappresenta l'oggetto Contatti.
OBJECTID Numero L'ID del record che ha completato l'evento.
OCCURREDAT Timestamp Quando si è verificato l'evento.

OCCURREDATDATEINT

Numero Un numero che rappresenta la data in cui si è verificato l'evento. Contiene gli stessi dati della colonna OCCURREDAT, ma formattati come numero e utilizzati come parte della chiave cluster della tabella. Nella maggior parte dei casi, è possibile utilizzare il timestamp OCCURREDAT al posto di questo numero.

OCCUREDATDATEINT

Numero

Un numero che rappresenta la data in cui si è verificato l'evento. Contiene gli stessi dati della colonna OCCURREDAT, ma formattati come numero e utilizzati come parte della chiave cluster della tabella. Nella maggior parte dei casi, è possibile utilizzare il timestamp OCCURREDAT al posto di questo numero.

Attenzione: questa colonna sarà deprecata il 24 novembre 2022 e sostituita da OCCURREDATDATEINT.

OCCUREDAT Timestamp

Quando si è verificato l'evento.

Attenzione: questa colonna sarà deprecata il 24 novembre 2022 e sostituita da OCCURREDAT.

INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake. Per saperne di più sui tipi di dati delle colonne.
PROPERTY_* Varchar Singole colonne contenenti le proprietà dell'evento.

Esempio 1

Recupera i 50 eventi di clic più recenti delle e-mail.

Interrogazione:


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;


Restituzione:

EVENTTYPEID TIPO DI OGGETTO OGGETTO OCCORRENTE 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
... ... ... ... ...

Esempio 2

Recupera tutti gli eventi di clic delle e-mail in base ai contatti che hanno fatto clic. Questa query ottiene i dati dei contatti unendoli a object_with_object_properties.

Interrogazione:


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;


Restituzione:

CLICK_TIMESTAMP CLICCA_URL NOME_CONTATTO NOME_CONTATTO
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 Barone
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 Oro
2018-11-08 09:37:41.426 https://www.website.net/contact?utm_source=hs_automation&utm_medium=email&utm_content=55200164 Harlow Villari
... ... ... ...

Richieste_di_tipo_di_oggetto_e_di_evento

definizioni_di_tipo_di_oggetto_e_di_evento

Questo oggetto del database contiene le definizioni di tutti gli oggetti e gli eventi disponibili nell'account HubSpot.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
OBJECTTYPEID Varchar L'ID dell'oggetto che la pipeline può contenere (ad esempio, offerte o biglietti).
FULLYQUALIFIEDNAME Varchar Il nome dell'oggetto o dell'evento.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake. Per saperne di più sui tipi di dati delle colonne.

Esempio 1

Recupera tutti gli oggetti e gli eventi disponibili nel vostro account HubSpot.

Interrogazione:


SELECT objectTypeId, fullyQualifiedName
FROM object_and_event_type_definitions;


Restituzione:

TIPO DI OGGETTO NOME COMPLETAMENTE QUALIFICATO
0-1 CONTATTO
0-8 LINE_ITEM
0-11 CONVERSAZIONE
... ...

Elenchi di query

Di seguito, si spiega come interrogare gli elenchi, ad esempio gli elenchi di contatti e di aziende disponibili e i record inclusi in tali elenchi.

elenchi

Questo oggetto di database contiene informazioni sugli elenchi di contatti e aziende di HubSpot. Restituisce una riga per ogni elenco e le colonne includono i dettagli dell'elenco, come il nome dell'elenco, le dimensioni e il tipo di oggetto dei record che contiene. Non contiene informazioni sui singoli record di ciascun elenco (vedere list_membership).

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
OBJECTTYPEID Varchar Il tipo di record dell'elenco (ad esempio, contatto o azienda).
LISTID Numero L'ID dell'elenco. Si unisce alla colonna LISTID della tabella List-Memberships.
CLASSICLISTID Numero Un ID specifico per gli elenchi di contatti che corrisponde all'ID nell'URL dell'elenco in HubSpot.
NAME Varchar Il nome dell'elenco.
SIZE Numero Il numero di record nell'elenco.
CREATEDBYUSERID Numero L'ID dell'utente che ha creato l'elenco.
CREATEDAT Timestamp Quando l'elenco è stato creato in HubSpot.
UPDATEDBYUSERID Numero L'ID dell'utente che ha aggiornato l'elenco più di recente.
UPDATEDAT Timestamp La data e l'ora dell'ultimo aggiornamento in HubSpot. Per saperne di più sui tipi di dati delle colonne.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera tutti gli elenchi di contatti.

Interrogazione:


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


Restituzione:

LISTA NOME DIMENSIONE
118131 Attività di sensibilizzazione settimanale 103
66156 Iscritti al blog 455
771852 Primi abbonati 2021 37
... ... ...

Esempio 2

Recuperare un elenco di contatti specifico denominato Top subscribers 2021.

Interrogazione:


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


Restituzione:

LISTA NOME DIMENSIONE
771852 Primi abbonati 2021 37

elenco_membri

Questo oggetto database contiene informazioni su quali record sono membri di quali elenchi, con una riga per ogni record dell'elenco. Ad esempio, se si dispone di un elenco di iscritti al blog con 500 contatti, l'oggetto database restituirà 500 righe.

Contiene solo gli ID degli elenchi e gli ID degli oggetti. Per ulteriori informazioni, unirsi all'oggetto del database Elenchi.

Questo oggetto di database può restituire le seguenti colonne:

Nome della colonna Tipo Descrizione
LISTID Varchar L'ID dell'elenco. Si unisce alla colonna HS_LIST_ID della tabella elenchi.
OBJECTID Varchar L'ID del record nell'elenco.
UPDATEDAT Timestamp La data e l'ora dell'ultimo aggiornamento dei dati in HubSpot. Per saperne di più sui tipi di dati delle colonne.
INGESTEDAT Timestamp La data e l'ora in cui i dati sono stati ingeriti per l'ultima volta da Snowflake.

Esempio 1

Recupera gli ID di tutti i contatti nell'elenco Top subscribers 2021.

Interrogazione:


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


Restituzione:

OGGETTO
54325098
96805401
6922028
...

Esempio 2

Recupera i nomi e i cognomi dei contatti presenti nell'elenco Top subscribers 2021.

Interrogazione:


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'


Restituzione:

OGGETTO

NOME

COGNOME

54325098

Hobbes

Barone

96805401

Milo

Oro

6922028

Enrico

Riley

...

...

...

Domande frequenti

Voglio generare dati simili a quelli di un report dall'app di Hubspot, come posso fare?


In generale, si desidera esaminare le colonne presenti nel report con cui si effettua il confronto. Se la visualizzazione del report non è tabellare, la conversione in tabella mostrerà le colonne contenute nel report. Queste colonne sono solitamente proprietà di un tipo di oggetto o di un tipo di evento. Il passo successivo è capire a quale proprietà del tipo di oggetto corrisponde una colonna. È possibile farlo interrogando property_definitions:


SELECT * FROM property_definitions

WHERE label = [column_name]

Potrebbe non esserci sempre una corrispondenza esatta, perché alcuni nomi di proprietà vengono solitamente risolti con un nome più descrittivo nell'applicazione. In casi come questo, può essere utile fare una ricerca confusa usando l'operatore LIKE sulla colonna label (o anche description) in property_definitions.

Dopo aver determinato a quale tipo di oggetto appartiene la colonna, è banale determinare cosa interrogare. Si può semplicemente cercare la vista object_x che corrisponde al tipo.

Come posso collegare questo tipo di dati a un altro, ad esempio come recuperare i moduli per una campagna?


Se avete bisogno di collegare due o più record diversi tra loro, date un'occhiata alle associazioni. Le associazioni rappresentano le relazioni tra gli oggetti in HubSpot CRM. Tutte le diverse associazioni possibili tra due tipi sono elencate in association_definitions. Nell'esempio precedente, per conoscere tutti i moduli a cui è collegata una campagna, è necessario interrogare 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

Come faccio a conoscere lo stato dell'integrazione HubSpot-Snowflake?

Per ricevere aggiornamenti in tempo reale sullo stato delle interruzioni e dei problemi dell'integrazione HubSpot-Snowflake, interrogare la vista data_share_status:

SELECT * FROM hubspot.public.data_share_status
LIMIT 1

I risultati saranno visualizzati come:

STATO MESSAGGIO AGGIORNATOAT
OK NESSUN INCIDENTE NOTO AL MOMENTO 2023-04-10 09:21:20.123

Questa vista fornisce aggiornamenti sullo stato dell'integrazione in ordine cronologico inverso. L'integrazione dei risultati di questa query in un dashboard consente di monitorare le prestazioni dell'integrazione e di individuare eventuali tempi di inattività o interruzioni.