Consultar datos de HubSpot en Snowflake
Última actualización: mayo 31, 2024
Disponible con cualquiera de las siguientes suscripciones, a no ser que se indique de otro modo:
Operations Hub Enterprise |
Después de conectar Snowflake a tu cuenta de HubSpot, puedes utilizar Data Share de Snowflake para consultar los datos de HubSpot desde tu cuenta de Snowflake.
Retraso de datos y región de su cuenta Snowflake
Tendrá acceso al esquema V2_LIVE, que se actualiza cada 15 minutos, y al esquema V2_DAILY, que se actualiza todos los días.
Por favor, ten en cuenta: que las siguientes vistas del esquema V2_LIVE sólo se actualizan diariamente: association_definitions, owners, pipelines y pipeline_stages.
Configura tu entorno Snowflake
Para consultar tus datos de HubSpot en Snowflake, tendrás que seleccionar el almacén, la base de datos y el esquema que quieres consultar. Puedes establecerlos a nivel de hoja de trabajo para incluirlos automáticamente en tus consultas, o puedes agregarlos manualmente.
Para seleccionar el almacén, la base de datos y el esquema a nivel de hoja de cálculo:
- En la fila superior de la hoja de trabajo, haga clic en la barra de acciones de la hoja de trabajo
- En la ventana emergente:
- Haz clic en el menú desplegable Almacén y selecciona tu almacén.
- Haz clic en el menú desplegable Base de datos y selecciona tu base de datos de HubSpot.
- Haz clic en el menú desplegable Esquema y selecciona el esquema que deseas utilizar:
- V2_DAILY: el esquema diario para consultar datos basados en tablas. Los datos de este esquema se actualizan una vez al día. El uso de este esquema dará lugar a consultas más rápidas, y se recomienda para consultar directamente en Snowflake.
- V2_LIVE: el esquema en vivo basado en Secure Views de los datos de HubSpot. Los datos de este esquema se actualizan hasta cada 15 minutos. Si estás consultando un gran conjunto de datos, las consultas pueden ser lentas. En este caso, se recomienda copiar los datos en tu propia tabla primero con un proceso ETL, y luego consultar esa tabla.
Con tu entorno configurado, puedes hacer consultas a tus datos de HubSpot sin necesidad de agregar tu base de datos o tipo de esquema a las consultas manualmente.
Para añadir manualmente tu base de datos y tipo de esquema a las consultas, añade el nombre de la base de datos seguido del esquema al principio del campo FROM
campo Por ejemplo:
SELECT objectTypeId, property_createddate
FROM hubspot_share_name.V2_LIVE.objects_deals
LIMIT 1
Resumen de datos
Las consultas se construyen utilizando SQL, y se pueden utilizar para recuperar datos de HubSpot tales como:
- Objetos: objetos estándar y personalizados, como contactos, empresas, productos.
- Registros: registros individuales, como un contacto individual o una empresa.
- Asociaciones: todos los tipos de asociación disponibles y los registros asociados actualmente.
- Eventos: datos de eventos tanto para eventos estándar de HubSpot, como aperturas de correos electrónicos, como para eventos de comportamiento personalizados.
- Listas: Listas de contactos y empresasde HubSpot.
- Propietarios: usuarios de tu cuenta de HubSpot, en relación con los registros de los que son propietarios.
- Pipelines: pipelines de negocios y tickets, incluyendo las etapas del pipeline.
- Propiedades: propiedades y sus valores en los registros CRM, incluido el historial de propiedades.
Más información sobre el Modelo de datos del CRM de HubSpot.
Tenga en cuenta: A medida que vayamos evolucionando el intercambio de datos, iremos introduciendo cambios, algunos de ellos de última hora. Es muy recomendable suscribirse al registro de cambios para desarrolladores de HubSpot. Estos cambios se publicarán siempre en el registro de cambios antes de cualquier actualización.
Limitación y ordenación de los datos devueltos
Al elaborar consultas, puedes controlar cuántos datos se devuelven, junto con el orden en que se devuelven incluyendo LIMIT
y ORDER BY
en tu consulta. Por ejemplo, para consultar todos los contactos con sus propiedades, pero devolver sólo tres resultados y ordenarlos por el ID del contacto, podrías construir tu consulta de la siguiente manera:
SELECT objectTypeId, updatedAt, ingestedAt
FROM objects_deals
ORDER BY objectId
LIMIT 10;
Tipos de datos de columnas
Cuando se consultan datos en Snowflake, las columnas que se devuelven dependen de los datos que se están consultando. Puedes ver las columnas disponibles para una tabla o vista determinada en Snowflake seleccionando la vista en la barra lateral izquierda.
Tenga en cuenta quepara el resto de este documento, utilizamos el término objeto de base de datos cuando el contexto se aplica tanto a las tablas como a las vistas.
Para devolver una columna concreta, incluye esa columna en el campo SELECT
de tu consulta. Por ejemplo, la siguiente consulta sólo devolverá los OBJECTID
y UpdatedAt
columnas:
SELECTobjectId, updatedAt
FROM objects_contacts
A continuación se presentan las definiciones generales de las columnas que puede devolver una consulta. Para otras definiciones no incluidas a continuación, consulta las definiciones de vistas individuales en el artículo anterior.
- OBJECTTYPEID: un valor VARCHAR que representa el tipo de un objeto. Por ejemplo, 0-1 representa el objeto contactos, 0-2 representa el objeto empresas, y 2-1232 podría representar un objeto personalizado en tu cuenta. En las listas, se refiere al tipo de lista (por ejemplo, contacto o empresa). Puedes consultar todos los ID de objetos y eventos de tu cuenta utilizando la vista object_and_event_type_definitions.
- OBJECTID: un número BIGINT que representa un único registro de un determinado tipo de objeto en tu cuenta de HubSpot. Para identificar un registro, es necesario utilizar tanto el ID del tipo de objeto como el ID del objeto.
- INGESTEDAT: la marca de tiempo de cuándo se añadió una fila de datos a Snowflake, representada por un valor TIMESTAMP_NTZ. No está relacionado con la marca de tiempo lógica de una operación de creación o actualización en HubSpot.
- Debido al procesamiento interno de HubSpot, la marca de tiempo de ingesta de una fila puede actualizarse incluso si ninguna otra columna de la fila ha cambiado.
- Cuando se construyen procesos ETL que copian datos modificados recientemente, se recomienda basar las consultas en la marca de tiempo de ingesta. Además, si tu flujo copia los datos diariamente, se recomienda copiar los datos de los dos días anteriores para tener en cuenta los retrasos.
- CREATEDAT y UPDATEDAT: la marca de tiempo lógica de cuándo se crearon o actualizaron los datos en HubSpot, representada por un valor TIMESTAMP_NTZ . Estas marcas de tiempo coincidirán con las marcas de tiempo en HubSpot. Por ejemplo, la hora mostrada en HubSpot para la fecha de creación de un registro será la misma que la marca de tiempo en la columna CREATEDAT en Snowflake. Estas no están directamente relacionadas con la marca de tiempo de ingestión, y no se recomienda basar los procesos ETL en estas propiedades.
- COMBINEDASSOCIATIONTYPE: valor VARCHAR que identifica unívocamente una definición de asociación.
Transformación de tipos de datos
A veces, se devuelven datos de una consulta con columnas VARCHAR cuando sería deseable que fueran de otro tipo. En casos como éste, se recomienda convertir el tipo de datos VARCHAR a los tipos deseados utilizando las funciones de Snowflake. Por ejemplo, las propiedades de un registro de objeto se almacenan como tipos de datos VARCHAR en la mayoría de los objetos de la base de datos, pero a veces contienen valores numéricos y de fecha. Se pueden utilizar funciones como:
try_to_number, try_to_timestamp_ntz para convertir estos datos VARCHAR a sus tipos NUMBER y DATETIME respectivamente:
SELECT objectid, value AS amount_str, try_to_number(value) AS amountFROM object_properties
WHERE objecttypeid='0-3' AND name='amount'
LIMIT 1
Consultas de objetos
A continuación, aprende a consultar datos de objetos y registros específicos de HubSpot, junto con los datos que se devuelven.
Los datos de los objetos de diferentes tipos están organizados y disponibles de dos maneras:
- Individual: Cada tipo de objeto se almacena en su propia vista y contiene sólo registros del mismo tipo de objeto, por ejemplo, objects_contacts contiene sólo registros de contactos. Esto elimina la necesidad de especificar un objecttypeid durante la consulta. Estas vistas son más fáciles de consultar ya que no es necesario conocer los ObjectTypeIds. También devuelven los datos en un formato más utilizable, en el que cada fila corresponde a un objeto y a la versión actual de sus propiedades. Mientras no experimente consultas lentas, es aconsejable utilizar estas vistas para recuperar los datos de los objetos. Vea más en las vistas de Objects_X más abajo.
- Combinado: Todos los registros de todos los tipos de objetos se combinan en un objeto de la base de datos. Por lo tanto, al realizar la consulta, es necesario especificar un filtro como "WHERE objectTypeId='0-1'. Por ejemplo, puede utilizar los siguientes objecttypeids al consultar:
Nombre del objeto | objectTypeId |
Contactos | 0-1 |
Empresas | 0-2 |
Elementos de pedido | 0-8 |
A losobjetos personalizados se les asignará un ID en el momento de su creación, y se identificarán como 2-unique_ID. Por ejemplo, 2-12345. Más información sobre object_and_event_type_definitions.
Estos objetos de la base de datos suelen ser adecuados si se desea un mejor rendimiento de las consultas que el que se puede obtener con las vistas objects_x. Ver más detalles en object_with_object_properties, object_properties, objects y object_properties_history más abajo.
objetos_x vistas
En este objeto de la base de datos, cada tipo de objeto disponible, incluidos los objetos personalizados, tiene su propia vista específica, y cada vista contiene sólo los registros de los objetos de ese tipo de objeto específico. Estas vistas se nombran siguiendo el formato OBJECTS_<object type name> donde <object type name> es la etiqueta de la forma plural deltipo de objeto.(Tenga en cuenta que si el tipo de objeto no tiene forma plural, entonces <object type name> será simplemente la etiqueta de la forma singular del nombre del tipo de objeto concatenada con "S").
Las consultas a esta vista devuelven una fila para cada registro dentro de un objeto con cada propiedad del objeto disponible como una columna separada.
A continuación encontrará la lista completa de los tipos de objetos disponibles en HubSpot (es decir, no personalizados), una breve descripción de los datos que representan y sus correspondientes vistas:
Tipo de objeto HubSpot |
objectTypeId |
Descripción |
0-1 |
Información sobre las personas que interactúan con su empresa |
|
0-2 |
Información sobre empresas u organizaciones individuales |
|
0-3 |
Detalles sobre las oportunidades de ingresos con un contacto o empresa. |
|
0-4 |
Almacena datos de acciones de CRM, incluidas notas, tareas, correos electrónicos, reuniones y llamadas. |
|
0-5 |
Representar las solicitudes de ayuda o apoyo de los clientes. |
|
0-14 |
Se utiliza para compartir la información sobre los precios con los posibles compradores. |
|
0-15 |
Detalles para los envíos individuales de un formulario de HubSpot. |
|
0-8 |
Representan un subconjunto de productos vendidos en una operación. Cuando un producto está adjunto a un negocio, se convierte en elemento de línea. |
|
0-11 |
Detalles de los mensajes entrantes de múltiples canales. |
|
Entre 0 y 25 |
Detalles de sus páginas de destino |
|
0-27 |
Almacena información sobre las listas de tareas pendientes |
|
0-28 |
Se utiliza para recopilar información sobre sus visitantes y contactos |
|
0-29 |
Detalles sobre los correos electrónicos del Marketing Hub |
|
AD_ACCOUNT |
0-30 |
Almacena información sobre sus cuentas de publicidad en Linkedin, Facebook y Google |
0-31 |
Detalles sobre sus campañas publicitarias. Una campaña publicitaria puede contener uno o varios anuncios |
|
AD_GROUP |
0-32 |
Agrupación lógica de anuncios dentro de una campaña publicitaria |
ANUNCIO |
0-33 |
Detalles sobre los anuncios individuales |
0-35 |
Información sobre los activos y contenidos de marketing relacionados, para que pueda medir fácilmente la eficacia de sus esfuerzos colectivos de marketing. |
|
PÁGINA DEL SITIO |
0-38 |
Datos sobre las páginas individuales de sus sitios web |
0-39 |
Datos sobre las entradas del blog |
|
OBJETO LISTA |
0-45 |
Información sobre agrupaciones de registros de objetos en función de sus propiedades o actividades |
0-48 |
Llamadas realizadas por otros registros del CRM, por ejemplo, contactos |
|
FACTURA |
0-53 |
Gestionar y sincronizar las facturas con los sistemas contables externos |
0-57 |
Información sobre los activos de medios importados en Hubspot |
|
0-58 |
Una secuencia es una serie de plantillas de correo electrónico dirigidas y programadas para nutrir a los contactos a lo largo del tiempo |
|
0-72 |
Los repartos de tratos se utilizan para compartir el crédito de los tratos entre varios usuarios |
|
0-83 |
Los documentos de ventas construyen una biblioteca de contenidos para que todo su equipo cargue y comparta documentos con sus contactos. |
|
0-19 |
Almacena la información enviada a una encuesta de opinión. |
|
0-69 |
Las suscripciones contienen detalles de los pagos recurrentes |
|
0-101 |
Contiene datos sobre los fondos recaudados de los clientes |
Cada objeto de la base de datos devolverá las siguientes columnas:
Nombre de la columna |
Tipo |
Descripción |
OBJECTTYPEID |
Varchar |
El ID del tipo de objeto (por ejemplo, contactos es 0-1). |
OBJECTID |
Number |
El ID del registro (por ejemplo, un registro de contacto con un ID de 123752). |
UPDATEDAT |
Timestamp |
La fecha y hora en que este objeto fue actualizado por última vez en HubSpot. |
INGESTEDAT |
Timestamp |
La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
PROPERTY_* |
Varchar |
Columnas individuales que contienen la última versión de las propiedades del objeto.Para cada propiedad del objeto que tenga un tipo de fecha o número (como se especifica en property_definitions), habrá dos columnas:
|
Ejemplo 1
Recuperar el nombre, el apellido y la etapa del ciclo de vida de todos los contactos.
Consulta:
SELECT objectId, property_firstname AS firstname, property_lastname AS lastname,property_lifecyclestage AS lifecyclestageFROM objects_contact
Devuelve:
OBJECTID |
FIRSTNAME |
LASTNAME |
LIFECYCLESTAGE |
54325098 |
Hobbes |
Barón |
lead |
96805401 |
Milo |
Gold |
lead |
6922028 |
Henry |
Riley |
lead |
Ejemplo 2
Recuperar el nombre de la operación y la etapa de hasta tres operaciones.
Consulta:
SELECT objectId, property_dealName, property_dealStage,
property_amount AS dealAmountFROM objects_deals
LIMIT 3
Devuelve:
OBJECTID |
NOMBRE_DE_LA_PROPIEDAD |
PROPIEDAD_DEALSTAGE |
IMPORTE DE LA PROPIEDAD |
38960439 |
Nombre de la operación 1 |
closedwon |
34199 |
321740651 |
Prueba de acuerdo 123 |
14845019 |
8383663 |
98392101 |
Marquesina desplegable |
closedwon |
9309007 |
Ejemplo 3
Obtenga el nombre de la operación y la fase de las tres primeras operaciones por importe.
Consulta:
Dado que los datos de la cantidad del acuerdo están disponibles como un tipo de datos numérico, pueden ser utilizados para ordenar sin necesidad de hacer una conversión o casting.
SELECT objectId, property_dealName, property_dealStage,
property_amount AS dealAmountFROM objects_deals
ORDER BY property_amount DESC
LIMIT 3
Devuelve:
OBJECTID |
NOMBRE_DE_LA_PROPIEDAD |
PROPIEDAD_DEALSTAGE |
IMPORTE DE LA PROPIEDAD |
98392101 |
Marquesina desplegable |
closedwon |
9309007 |
321740651 |
Prueba de acuerdo 123 |
14845019 |
8383663 |
38960439 |
Nombre de la operación 1 |
closedwon |
34199 |
object_with_object_properties
Este objeto de la base de datos contiene datos de sus registros de HubSpot. Las consultas a este objeto de la base de datos devuelven una fila por cada registro dentro de un tipo de objeto (por ejemplo, todos los registros de contactos en el tipo de objeto contactos). Todas las propiedades se almacenan en la columna Propiedades, que es una columna Snowflake Variant / JSON.
Esta vista puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
OBJECTTYPEID |
Varchar | El ID del tipo de objeto (por ejemplo, contactos es 0-1 ). |
OBJECTID |
Number | El ID del registro (por ejemplo, un registro de contacto con un ID de 123752 ). |
PROPERTIES |
Variant | Los valores de la propiedad del registro. |
UPDATEDAT |
Timestamp | La fecha y hora en que el registro fue actualizado por última vez en HubSpot. Más información sobre tipos de datos de columnas. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Tenga en cuenta: El 25 de enero de 2022, la columna, timestamp en la tabla y vista object_with_object_properties, que representa la fecha y hora en que el registro del objeto se actualizó por última vez en HubSpot, se actualizará en. Esto es para alinearse con la forma en que los datos de fecha y hora se representan en el resto de la cuota de datos.
Como se trata de un cambio de última hora, la nueva columna, updatedat se ha añadido a la tabla y la vista. Durante los próximos 90 días, estas dos nuevas columnas coexistirán con timestamp, las columnas a las que pretenden sustituir. Esto le da la oportunidad de cambiar al uso de las nuevas columnas.
Después de 90 días, el 25 de enero de 2022, la columna timestamp será eliminada de la tabla y de la vista. Después de esta fecha, cualquier intento de consultar la tabla o vista object_with_object_properties utilizando columnas de fecha y hora fallará.
Ejemplo 1
Recuperar todos los contactos y sus propiedades.
Consulta:
SELECT objectTypeId, objectId, properties
FROM object_with_object_properties
WHERE objectTypeId = '0-1'
Devuelve:
OBJECTTYPEID | OBJECTID | PROPERTIES |
0-1 | 38960439 | {"createdate": "1504656970152"...} |
0-1 | 321740651 | { "fecha de creación": "1590183081949"...} |
0-1 | 98392101 | { "fecha de creación": "1533566477279"...} |
... | ... | ... |
Ejemplo 2
Recupera el nombre del negocio y la fase de hasta tres negocios.
Consulta:
SELECTobjectId,
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;
Devuelve:
OBJECTID | DEALNAME | DEALSTAGE | DEALAMOUNT |
38960439 | Nombre del negocio 1 | closedlost | 7488939 |
321740651 | Nombre del negocio 1 | closedwon | 9292029 |
98392101 | Nombre del negocio 1 | closedlost | 62626528 |
objetos
Este objeto de base de datos es un subconjunto de los datos del objeto de base de datos object_with_object_properties. Cada fila devuelve el ID del objeto para cada registro. Este objeto de la base de datos sólo devuelve los registros existentes. Cuando se elimina un registro en HubSpot, se eliminará de este objeto de la base de datos. Este objeto de la base de datos es un subconjunto de los datos de la tabla object_with_object_properties. Cada fila devuelve el ID del objeto para cada registro. Esta vista sólo devuelve registros existentes. Cuando se elimina un registro en HubSpot, se eliminará de esta vista.
Este objeto de base de datos puede ser útil si su cuenta tiene una gran cantidad de datos, lo que hace que las vistas object_with_object_properties y objects_x tengan un rendimiento lento. El uso de este objeto de base de datos con el objeto de base de datos object_properties permite replicar los datos de object_with_object_properties, manteniendo el control sobre qué propiedades se devuelven.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
OBJECTTYPEID |
Varchar | El ID del tipo de objeto (por ejemplo, contactos es 0-1 ). |
OBJECTID |
Number | El ID del registro (por ejemplo, un registro de contacto con un ID de 123752 ). |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. Más información sobre tipos de datos de columnas. |
Ejemplo 1
Recuperar todos los registros de contactos.
Consulta:
SELECT objectTypeId, objectId
FROM objects
WHERE objectTypeId = '0-1'
Devuelve:
OBJECTTYPEID | OBJECTID |
0-1 | 36721864 |
0-1 | 103580363 |
0-1 | 56047670 |
... | ... |
object_properties
Este objeto de base de datos es un subconjunto del objeto de base de datos object_with_object_properties. Cada fila contiene el valor actual de la propiedad establecida en un registro determinado. Por ejemplo, un contacto tendrá una fila para su propiedad Nombre y otra para su propiedad Apellido. Si un registro no tiene un valor para una propiedad, la fila aparecerá con una cadena vacía o no aparecerá.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
OBJECTTYPEID |
Varchar | El ID del tipo de objeto (por ejemplo, contactos es 0-1 ). |
OBJECTID |
Number | El ID del registro (por ejemplo, un registro de contacto con un ID de 123752 ). |
NAME |
Varchar | El nombre de la propiedad. |
VALUE |
Timestamp | El valor de la propiedad. |
UPDATEDAT |
Timestamp | La fecha y hora en que el registro fue actualizado por última vez en HubSpot. Más información sobre tipos de datos de columnas. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recupera las propiedades de nombre, apellido y ciudad de todos los contactos.
Consulta:
SELECT objectTypeId, objectId, name, value
FROM object_properties
WHERE objectTypeId = '0-1'
AND name IN ('firstname', 'lastname', 'city')
ORDER BY objectId;
Devuelve:
OBJECTTYPEID | OBJECTID | NAME | VALUE |
0-1 | 10401 | firstname | Brian |
0-1 | 10401 | city | Dublín |
0-1 | 10401 | lastname | Gallagher |
0-1 | 23451 | firstname | Fernando |
0-1 | 23451 | lastname | Fierro |
0-1 | 25751 | firstname | Charles |
... | ... | ... | ... |
Ejemplo 2
Recupera el nombre, el apellido y la etapa del ciclo de vida de todos los contactos y combínalos en una fila por contacto. Este ejemplo utiliza la sintaxis SQL PIVOT.
Consulta:
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);
Devuelve:
OBJECTTYPEID | OBJECTID | FIRSTNAME | LASTNAME | LIFECYCLESTAGE |
0-1 | 54325098 | Hobbes | Barón | lead |
0-1 | 96805401 | Milo | Gold | lead |
0-1 | 6922028 | Henry | Riley | lead |
... | ... | ... | ... | ... |
object_properties_history
Este objeto de la base de datos contiene los valores históricos de las propiedades. Para los contactos, contiene los 45 valores más recientes. Para todos los demás objetos, contiene los 20 valores más recientes. Muestra una fila para cada valor histórico de la propiedad. El valor actual de una propiedad está determinado por la marca de tiempo UPDATEDAT más reciente en el historial de la propiedad.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
OBJECTTYPEID |
Varchar | El ID del tipo de objeto (por ejemplo, contactos es 0-1 ). |
OBJECTID |
Number | El ID del registro (por ejemplo, un registro de contacto con un ID de 123752 ). |
NAME |
Varchar | El nombre de la propiedad. |
VALUE |
Timestamp | El valor de la propiedad. |
UPDATEDAT |
Timestamp | La fecha y hora en que los datos fueron actualizados por última vez en HubSpot. Más información sobre tipos de datos de columnas. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recuperar el historial de una sola propiedad para un solo contacto.
Consulta:
SELECT objectId, name, value, updatedAt
FROM object_properties_history
WHERE objectTypeId = '0-1'
AND objectId = 136493192
AND name = 'hs_predictivescoringtier'
ORDER BY UPDATEDAT DESC;
Devuelve:
OBJECTID | NAME | VALUE | UPDATEDAT |
136493192 |
hs_predictivescoringtier |
nivel_1 |
2022-06-22 22:45:05.931 |
136493192 |
hs_predictivescoringtier |
nivel_2 |
2021-09-18 08:20:56.622 |
136493192 |
hs_predictivescoringtier |
nivel_3 |
2019-11-31 18:20:22.851 |
... |
... |
... |
... |
Ejemplo 2
Recupera el nombre actual de todos los contactos que han tenido alguna vez una etapa del ciclo de vida de Suscriptor.
Consulta:
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
WHERE
object_properties_history.objectTypeId = '0-1'
AND object_properties_history.name = 'lifecyclestage'
AND object_properties_history.value = 'subscriber'
);
Devuelve:
OBJECTID | FIRSTNAME | LASTNAME |
54325098 | Hobbes | Barón |
96805401 | Milo | Gold |
6922028 | Henry | Riley |
... | ... | ... |
Consultas sobre asociación
Al igual que los datos de los objetos, los datos de las asociaciones se organizan de dos maneras:
- Individual: Cada tipo de asociación se almacena en su propia vista y contiene sólo registros de ese tipo. Por ejemplo, associations_contacts_to_deals contiene sólo registros de asociación entre objetos de contacto y de negocio. Esto elimina la necesidad de especificar un tipo de asociación durante la consulta. Estas vistas son bastante fáciles de consultar ya que no requieren estar familiarizado con el modelo de datos de CRM para poder utilizarlas. También devuelven una descripción enriquecida del registro de asociación entre dos objetos que puede utilizarse fácilmente en las uniones con las vistas objects_x. Mientras no se produzcan consultas lentas, es aconsejable utilizar estas vistas para recuperar los datos de la asociación. Vea más en las vistas de associations_x_to_y más abajo.
- Combinado: Todos los registros de todos los tipos de asociación se combinan en un objeto de la base de datos. Por lo tanto, al realizar la consulta, es necesario especificar un filtro como "WHERE combinedassociationtypeid='0-32' ". Ver más en asociaciones y asociación_definiciones más abajo.
vistas de asociaciones_x_a_y
Cada tipo de asociación tiene su propia vista, etiquetada como associations_<association type name>, por ejemplo, associations_contacts_to_deals. Cada vista es un subconjunto de los datos del objeto de la base de datos de asociaciones y sólo contiene registros de un determinado combinedassociationtypeid.
Cada objeto de la base de datos devolverá las siguientes columnas:
Nombre de la columna |
Tipo |
Descripción |
COMBINEDASSOCIATIONTYPEID |
Varchar |
El identificador único de la definición de la asociación. |
ASOCIACIÓNCATEGORÍA |
Varchar |
La fuente del tipo de asociación. Uno de: HUBSPOT_DEFINED, USER_DEFINED, INTEGRATOR_DEFINED |
ASSOCIATIONTYPEID |
Varchar |
Un identificador único de una definición de asociación dentro de una categoría de asociación específica, es decir, no habrá dos definiciones en una categoría de asociación que tengan el mismo associationtypeid. |
FROMOBJECTTYPEID |
Varchar |
El objecttypeid que es la fuente de la definición de la asociación. |
FROMOBJECTTYPE |
Varchar |
El nombre del tipo de objeto que es la fuente de la definición de la asociación. |
TOOBJECTTYPEID |
Varchar |
El objecttypeid que es el destino de la definición de la asociación. |
TOOBJECTTYPE |
Varchar |
El nombre del tipo de objeto que es el destino de la definición de asociación. |
NAME |
Varchar |
El nombre de la definición de la asociación. |
LABEL |
Varchar |
Descripción de la definición de la asociación. |
ISMAINASSOCIATIONDEFINITION |
Boolean |
Si la definición de la asociación es el tipo principal. Cuando es verdadero, la definición es la que HubSpot muestra en los registros asociados |
[FROMOBJECTTYPE_OBJECTID] por ejemplo, para la vista ASSOCIATIONS_CONTACTS_TO_DEALS, será CONTACT_OBJECTID |
Number |
El ID del objeto fuente. |
[TOOBJECTTYPE_OBJECTID] por ejemplo, para la vista ASSOCIATIONS_CONTACTS_TO_DEALS, será DEAL_OBJECTID |
Number |
El ID del objeto de destino. |
INGESTEDAT |
Timestamp |
La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recuperar todos los negocios asociados a un contacto concreto.
Consulta:
SELECT
contact_objectId, deal_objectId
FROM associations_contacts_to_deals
WHERE contactId = 6626541373
Devuelve:
OBJETO_CONTACTO |
DEAL_OBJECTID |
6626541373 |
233620335 |
6626541373 |
90253678 |
Ejemplo 2
Recuperar todos los contactos basados en la zona horaria de Bogotá y sus ofertas.
SELECT contactos.propiedad_nombre nombre contacto_nombre,
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 |
CORREO ELECTRÓNICO DE CONTACTO |
TIPO DE OFERTA |
DEAL_AMOUNT |
David |
Magalhães |
dmagalhaes@example.com |
nuevo negocio |
74848 |
Fernanda |
Rodrigues |
fmoreira@example.com |
nuevo negocio |
253530 |
Ejemplo 3
Recuperar todos los contactos y la suma total del importe de las operaciones cerradas para cada contacto.
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
Devuelve:
IMPORTE_CERRADO_TOTAL |
CORREO ELECTRÓNICO DE CONTACTO |
98474793 |
johndoe@riverview.com |
849488 |
sallymae@longford.com |
association_definitions
Este objeto de la base de datos contiene información sobre todos los tipos de asociación disponibles entre los objetos de HubSpot, con una fila por tipo de asociación. Puede unir este objeto de base de datos con el objeto de base de datos de asociaciones para obtener información de asociación específica de los registros.
Puede haber varios tipos de asociaciones entre los mismos objetos. El tipo de asociación principal, que es el que se muestra en HubSpot cuando se asocian los registros, utiliza la asociación donde ISMAINASSOCIATIONDEFINITION
es true
.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
COMBINEDASSOCIATIONTYPEID |
Varchar | El identificador único de la definición de la asociación. |
CATEGORY |
Varchar | La fuente del tipo de asociación. Una de: HUBSPOT_DEFINED , USER_DEFINED , INTEGRATOR_DEFINED |
ID |
Number | El identificador de la definición de la asociación dentro de su categoría. |
FROMOBJECTTYPEID |
Varchar | El ID del objeto que es la fuente de la definición de la asociación. |
TOOBJECTTYPEID |
Varchar | El ID del objeto que es el destino de la definición de la asociación. |
NAME |
Varchar | El nombre de la definición de la asociación. |
LABEL |
Varchar | La etiqueta de la definición de la asociación. |
ISMAINASSOCIATIONDEFINITION |
Boolean | Si la definición de la asociación es el tipo principal. Cuando es verdadero, la definición es la que HubSpot muestra en los registros asociados. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. Más información sobre tipos de datos de columnas. |
Ejemplo 1
Recuperar los tipos de asociaciones disponibles en tu cuenta.
Consulta:
SELECT combinedAssociationTypeId, fromObjectTypeId, toObjectTypeId, name
FROM association_definitions
ORDER BY category, id
Devuelve:
COMBINEDASSOCIATIONTYPE | FROMOBJECTTYPEID | TOOBJECTTYPEID | NAME |
0-1 | 0-1 | 0-2 | CONTACT_TO_COMPANY |
0-2 | 0-2 | 0-1 | COMPANY_TO_CONTACT |
0-3 | 0-3 | 0-1 | DEAL_TO_CONTACT |
0-4 | 0-1 | 0-3 | CONTACT_TO_DEAL |
0-5 | 0-3 | 0-2 | DEAL_TO_COMPANY |
... | ... | ... | ... |
Ejemplo 2
Recuperar los tipos de asociación disponibles entre negocios y empresas.
Consulta:
SELECT
combinedAssociationTypeId, fromObjectTypeId, toObjectTypeId, name
FROM association_definitions
WHERE fromObjectTypeId = '0-3' AND toObjectTypeId = '0-2'
AND isMainAssociationDefinition = trueORDER BY category, id
Devuelve:
COMBINEDASSOCIATIONTYPE | FROMOBJECTTYPEID | TOOBJECTTYPEID | NAME |
0-5 | 0-3 | 0-2 | DEAL_TO_COMPANY |
0-271 | 0-3 | 0-2 | DEAL_TO_PRIMARY_COMPANY |
0-341 | 0-3 | 0-2 | DEAL_TO_COMAPNY_UNLABELED |
asociaciones
Este objeto de la base de datos contiene información sobre las asociaciones entre registros específicos. Cada fila representa una asociación de un objeto a otro. Las filas pueden estar presentes en este objeto de base de datos aunque los registros referenciados hayan sido eliminados. Puedes comprobar si existen registros uniéndose a la tabla de objetos.
Este objeto de base de datos puede ser útil si su cuenta tiene una gran cantidad de datos, lo que hace que las vistas associations_x_to_y tengan un rendimiento lento.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
COMBINEDASSOCIATIONTYPEID |
Varchar | El identificador único de la definición de la asociación. |
FROMOBJECTID |
Number | El ID del objeto fuente. |
TOOBJECTID |
Number | El ID del objeto de destino. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. Más información sobre tipos de datos de columnas. |
Ejemplo 1
Recuperar todos los negocios y contactos asociados.
Consulta:
SELECT combinedAssociationTypeId, fromObjectId, toObjectId
FROM associations
WHERE combinedAssociationTypeId = '0-5'
Devuelve:
COMBINEDASSOCIATIONTYPEID | FROMOBJECTID | TOOBJECTID |
0-5 | 6626541373 | 233620335 |
0-5 | 6616436082 | 3866015468 |
0-5 | 6690805943 | 7132752747 |
... | ... | ... |
Ejemplo 2
Recuperar todos los tickets asociados a un contacto específico (ID de contacto: 3005).
Consulta:
SELECT combinedAssociationTypeId, fromObjectId, toObjectId
FROM associations
WHERE associationCategory = 'HUBSPOT_DEFINED'
AND combinedAssociationTypeId = '0-15'
AND fromObjectId = 3005;
Devuelve:
COMBINEDASSOCIATIONTYPE | FROMOBJECTID | TOOBJECTID |
0-5 | 6626541373 | 233620335 |
Ejemplo 3
Recuperar todos los negocios asociados a un contacto específico (ID de contacto: 4464). En lugar de codificar combinedAssociationTypeId, este ejemplo se une con association_definitions.
Consulta:
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;
Devuelve:
COMBINEDASSOCIATIONTYPEID | FROMOBJECTID | TOOBJECTID |
0-5 | 6626541373 | 233620335 |
Consultas del propietario
propietarios
Este objeto de la base de datos contiene información sobre los usuarios de tu cuenta de HubSpot. Los usuarios pueden establecerse como propietarios de registros, y contendrán tanto un ID de usuario como un ID de propietario, dependiendo de su contexto. Ambas identificaciones pueden ser utilizadas para identificar al mismo usuario.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
OWNERID |
Number | El ID del propietario del usuario. |
USERID |
Number | La identificación del usuario. Los usuarios con NULL en esta columna han sido eliminados. |
EMAIL |
Varchar | La dirección de correo electrónico del usuario. |
FIRSTNAME |
Varchar | El nombre del usuario. |
LASTNAME |
Varchar | El apellido del usuario. |
ARCHIVED |
Boolean | Si el usuario ha sido eliminado. |
CREATEDAT |
Timestamp | La fecha y hora en que el usuario fue creado en HubSpot. Consulta los tipos de datos de columnas para obtener más información. |
UPDATEDAT |
Timestamp | La fecha y hora en que el usuario fue actualizado por última vez en HubSpot. Consulta los tipos de datos de columnas para obtener más información. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recuperar todos los usuarios. El filtro WHERE archived = false
elimina los usuarios eliminados de los datos devueltos.
Consulta:
SELECT ownerId, userId, email, firstname, lastname
FROM owners
WHERE archived = false
Devuelve:
OWNERID | USERID | FIRSTNAME | LASTNAME | |
29584574 | 4621126 | 233620335 | Hobbes | Barón |
30532717 | 4874784 | 3866015468 | Pablo | Walters |
30580321 | 925511 | 7132752747 | Milo | Gold |
... | ... | ... | ... | ... |
Ejemplo 2
Recuperar un propietario específico por su ID de propietario.
Consulta:
SELECT ownerId, userId, email, firstname, lastname
FROM owners
WHERE ownerId = 29584574;
Devuelve:
OWNERID | USERID | FIRSTNAME | LASTNAME | |
29584574 | 4621126 | 233620335 | Hobbes | Barón |
Ejemplo 3
Recuperar todos los contactos y sus propietarios. Esta consulta une los registros a los propietarios con object_with_object_properties y la propiedad de contacto 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
Devuelve:
CONTACTID | CONTACT_FIRSTNAME | CONTACT_LASTNAME | CONTACT_HUBSPOT_OWNER_ID | OWNER_FIRSTNAME | OWNER_LASTNAME | OWNER_EMAIL |
113834202 | Richard | Greenfield | 29584574 | Hobbes | Barón | hobbes.b@business.com |
53540801 | Ford | Karl | 30241125 | Milo | Gold | milo.g@business.com |
... | ... | ... | ... | ... | ... | ... |
Consultas del equipo
equipos
Los equipos en HubSpot te permiten organizar a tus usuarios en grupos para fines de organización y creación de informes. Puedes tener un equipo principal y equipos adicionales.
Este objeto de la base de datos contiene información sobre los equipos de tu cuenta de HubSpot.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
TEAMID | Number | El ID del equipo. |
TEAMNAME | Varchar | El nombre del equipo. |
PARENTTEAMIDA | Number | El ID del equipo principal. |
CHILDTEAMIDS | Matriz | Los ID de los equipos secundarios. |
PRIMARYOWNERMEMBERS | Varchar | Los ID de propietario de los miembros principales del equipo. |
SECONDARYOWNERMEMBERS | Boolean | Los ID de propietario de los miembros secundarios del equipo. |
INGESTEDAT | Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recupera todos los equipos.
Consulta:
SELECT teamId,teamName, primaryOwnerMembers
FROM teams
Devuelve:
TEAMID | TEAMNAME | PRIMARYOWNERMEMBERS |
29584574 | Subequipo | [233620335, 1234553] |
30532717 | Súper equipo | [3866015468, 126221873] |
3058032 | Un equipo | [7132752747] |
owner_team
Este objeto de la base de datos contiene información sobre qué propietarios corresponden a qué equipos en tu cuenta de HubSpot.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
TEAMID | Number | El ID del equipo. |
OWNERID | Number | El ID del propietario del usuario. |
ISTEAMPRIMARY | Boolean | Si este equipo es el principal para este propietario. |
INGESTEDAT | Timestamp | La fecha y hora en que los datos fueron ingestados por última vez por Snowflake. |
Ejemplo 1
Recupera todos los propietarios de un equipo determinado.
Consulta:
SELECT teamId, ownerId, isTeamPrimary
FROM teams
WHERE teamId = 29584574
Devuelve
TEAMID | TEAMNAME | ISTEAMPRIMARY |
29584574 | 233620335 | TRUE |
29584574 | 1234553 | TRUE |
Consultas sobre pipelines
A continuación, aprende a consultar los datos de pipelines de negocios y tickets, como las pipelines disponibles en tu cuenta y sus etapas.
Puedes unir estos datos con los datos de los objetos para obtener una visión completa de tus pipelines. Por ejemplo, puede consultar las operaciones y sus canalizaciones uniendo los datos de objects_deals_view o de object_with_object_properties con los datos de las canalizaciones.
pipelines
Este objeto de la base de datos contiene información sobre los pipelines de tratos y tickets de su cuenta. Cada fila devuelta representa un solo pipeline.
Esta tabla puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
PIPELINEID |
Varchar | El ID del pipelines. |
OBJECTTYPEID |
Varchar | El ID del objeto que puede contener el pipeline (por ejemplo, negocios o tickets). |
LABEL |
Varchar | El nombre del pipeline en HubSpot. |
DISPLAYORDER |
Number | El orden en el que se muestra el pipeline en HubSpot. |
ARCHIVED |
Boolean | Si se eliminó el pipeline |
CREATEDAT |
Timestamp | Cuando se creó el pipeline. |
UPDATEDAT |
Timestamp | La fecha y hora en que los datos fueron actualizados por última vez en HubSpot. Más información sobre tipos de datos de columnas. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recuperar todos los pipelines de negocios disponibles, ordenados por su orden en HubSpot.
Consulta:
SELECT objectTypeId, pipelineId, label
FROM pipelines
WHERE objectTypeId = '0-3'
AND not archived
ORDER BY displayorder;
Devuelve:
OBJECTTYPEID | PIPELINEID | LABEL |
0-3 | 1bed503c-37f7-4f51-9d40-7598902673f4 | Pipeline de ventas |
0-3 | 12659678 | Pipeline de licencias |
0-3 | 75e28846-ad0d-4be2-a027-5e1da6590b98 | Nueva empresa |
... | ... | ... |
Ejemplo 2
Recuperar los negocios dentro de un pipeline específico. Une object_with_object_properties y pipelines.
Consulta:
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';
Devuelve:
DEAL_ID | DEAL_NAME | PIPELINE_NAME |
605140072 | Registro global de Meowmix | Pipeline de ventas |
605457408 | Friskies Rebrand | Pipeline de ventas |
604362473 | Creación de la aplicación Fresh Step | Pipeline de ventas |
Ejemplo 3
Igual que en el ejemplo 2, recuperar las operaciones dentro de una línea de producción específica. Pero, en lugar de utilizar objetos_acuerdos en las uniones, utiliza objeto_con_propiedades_del_objeto.
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';
Devuelve:
DEAL_ID |
DEAL_NAME |
PIPELINE_NAME |
605140072 |
Registro global de Meowmix |
Pipeline de ventas |
605457408 |
Friskies Rebrand |
Pipeline de ventas |
604362473 |
Creación de la aplicación Fresh Step |
Pipeline de ventas |
pipeline_stages
Esta vista contiene información sobre las etapas individuales de un pipeline. Identifica las etapas combinando el ID del tipo de objeto, el ID de pipeline y el ID de la etapa. Al unirse con pipelines, utiliza el ID del tipo de objeto y el ID de pipeline.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
PIPELINEID |
Varchar | El ID del pipelines. |
STAGEID |
Varchar | La identificación del escenario. |
LABEL |
Varchar | El nombre de la etapa en HubSpot. |
DISPLAYORDER |
Number | El orden en el que se muestra el pipeline en HubSpot. |
METADATA |
Variant | Una descripción con formato JSON de la etapa, incluyendo si está abierta o cerrada |
ARCHIVED |
Boolean | Si se ha eliminado la etapa de la tubería. |
CREATEDAT |
Timestamp | Cuando se creó la etapa de la tubería. |
Ejemplo 1
Recuperar las etapas de un pipeline denominado Pipeline de ventas.
Consulta:
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;
Devuelve:
PIPELINEID | STAGEID | LABEL |
941650 | 941651 | Contactado |
941650 | 941652 | Cita programada |
941650 | 941653 | Factura enviada |
... | ... | ... |
Ejemplo 2
Recuperar todos los negocios y sus respectivas etapas de pipeline.
Consulta:
SELECTdeals.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';
Devuelve:
DEAL_ID | DEAL_NAME | PIPELINE_NAME | PIPELINE_STAGE_NAME |
605140072 | Registro global de Meowmix | Pipeline de ventas | Contrato enviado |
605457408 | Friskies Rebrand | Pipeline de ventas | Cita programada |
604362473 | Creación de la aplicación Fresh Step | Pipeline de ventas | Contrato firmado |
... | ... | ... | ... |
Consultas sobre la propiedad
property_definitions
Este objeto de la base de datos contiene información sobre las propiedades de los objetos y las propiedades de los eventos de tu cuenta de HubSpot. Las propiedades de los eventos incluyen eventos estándar, como aperturas y clics de correos electrónicos, y propiedades de eventos de comportamiento personalizados. Esta información puede ser útil para definir los valores que se encuentran en los datos de object_properties y events.
Puedes identificar propiedades específicas combinando tu ID de tipo de objeto y tu nombre. Puedes recuperar información similar utilizando la API de propiedades.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
OBJECTYPEID |
Varchar | El ID del objeto al que se refiere el evento. |
NAME |
Varchar | El nombre interno de la propiedad |
LABEL |
Varchar | La etiqueta de la propiedad. |
DESCRIPTION |
Varchar | La descripción de la propiedad. |
TYPE |
Varchar | El tipo de la propiedad (por ejemplo, cadena, número, fecha). |
FIELDTYPE |
Varchar | El tipo de campo de la propiedad. Define cómo se muestra la propiedad en HubSpot y en los formularios (por ejemplo, casilla de comprobación, selección). |
DISPLAYORDER |
Number | El orden de presentación de la propiedad. |
GROUPNAME |
Varchar | El nombre del grupo de la propiedad. |
OPTIONS |
Variant | Para las propiedades de enumeración, una matriz de las opciones de la propiedad, incluyendo los atributos de cada opción (por ejemplo, orden de presentación, etiqueta). |
CREATEDUSERID |
Number | El ID del usuario que creó la propiedad. |
REFERENCEDOBJECTTYPE |
Varchar | El tipo de objeto al que hace referencia la propiedad. Las propiedades del propietario devolverán un valor de PROPIETARIO. |
CALCULATED |
Boolean | Si la propiedad es una propiedad calculada . |
EXTERNALOPTIONS |
Boolean | Si las opciones de la propiedad están definidas en un sistema externo. |
HASUNIQUEVALUE |
Boolean | Si los valores de la propiedad son únicos. Sólo se puede establecer cuando se crea una propiedad a través de la API. |
HIDDEN |
Boolean | Si la propiedad está oculta en HubSpot. |
SHOWCURRENCYSYMBOL |
Boolean | Si el valor de una propiedad numérica se formatea como moneda. |
FORMFIELD |
Boolean | Si esta propiedad se puede utilizar en los formularios. |
READONLYDEFINITION |
Boolean | Si la propiedad se puede editar en HubSpot. |
READONLYVALUE |
Boolean | Si el valor de la propiedad se puede editar en HubSpot. |
HUBSPOTDEFINED |
Boolean | Si la propiedad fue creada por HubSpot, frente a la creada por un usuario. |
ARCHIVED |
Boolean | Si la propiedad ha sido eliminada. |
CREATEDAT |
Timestamp | La fecha y hora en que la propiedad fue creada en HubSpot. |
UPDATEDAT |
Timestamp | La fecha y hora en que los datos fueron actualizados por última vez en HubSpot. Más información sobre tipos de datos de columnas. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recuperar los nombres y descripciones de todas las propiedades de contactos.
Consulta:
SELECT name, label, description
FROM property_definitions
WHERE objectTypeId = '0-1'
Devuelve:
NAME | LABEL | DESCRIPTION |
entered_sql_stage | Entró en la etapa SQL | Iniciar recuento de días de la etapa SQL. |
first_conversion_event_name
|
Primera conversión | El primer formulario que este contacto envió |
dirección | Dirección | La dirección del contacto. |
Consultas sobre eventos
Los eventos incluyen eventos estándar de HubSpot y eventos de comportamiento personalizados. Cada acontecimiento tiene su propio objeto de base de datos, etiquetado como events_eventname
.
Nombre | |
EVENTS_AD_INTERACTION | Detalles de un anuncio y de los contactos que han interactuado con él haciendo clic en el anuncio o enviando un formulario después de participar en él. |
EVENTS_AD_METRICS_IMPORTED_V0 |
Detalles de un anuncio y sus métricas de rendimiento. |
EVENTS_CALL_MENTIONED_KEYWORD | Detalles de las palabras clave mencionadas por cualquier participante en las convocatorias. |
EVENTS_CLICKED_LINK_IN_EMAIL_V2 |
Enlaces en los que los contactos hacen clic en los correos electrónicos de marketing. |
EVENTS_CLICKED_LINK_IN_TRACKED_INBOX_EMAIL_V8 | Enlaces pulsados en los correos electrónicos de la bandeja de entrada de las conversaciones por los contactos. |
EVENTS_COOKIE_BANNER_CLICKED | Contactos que han hecho clic en las cookies. |
EVENTS_COOKIE_BANNER_VIEWED | Contactos que vieron cookies. |
EVENTS_DOCUMENT_SHARED_V2 | Documentos de venta compartidos con los contactos a través de un enlace externo. |
EVENTS_DOCUMENT_VIEWED_V2 | Documentos de venta y contactos que han visto al abrir el enlace externo. |
EVENTS_DOCUMENT_COMPLETED_V2 | Documentos de venta y contactos que los han cerrado. |
EVENTS_HS_SCHEDULED_EMAIL_V2 | Correos electrónicos enviados a los servidores de correo electrónico de HubSpot para ser enviados. |
EVENTS_MTA_DELIVERED_EMAIL_V2 | Correos electrónicos entregados con éxito a los destinatarios por los servidores de correo electrónico de HubSpot. |
EVENTS_MTA_BOUNCED_EMAIL_V2 | Intentos de entrega de correo electrónico que fueron rechazados por el servidor de correo electrónico del destinatario. |
EVENTS_OPENED_EMAIL_V2 | Aperturas de correo electrónico por contactos. |
EVENTS_REPORTED_SPAM_EMAIL_V2 | Correos electrónicos marcados como spam por los destinatarios. |
EVENTS_UPDATED_EMAIL_SUBSCRIPTION_STATUS_V2 | Cambios en las suscripciones de correo electrónico por parte de los destinatarios. |
EVENTS_OPENED_TRACKED_INBOX_EMAIL_V8 | Conservación de la Bandeja de entrada del correo electrónico se abre por los contactos. |
EVENTS_MB_MEDIA_PLAYED | Actividad de reproducción de vídeo por contactos. |
EVENTS_V2_CONTACT_BOOKED_MEETING_THROUGH_SEQUENCE | El contacto reservó una reunión a través de la secuencia. |
EVENTS_V2_CONTACT_ENROLLED_IN_SEQUENCE | Contacto inscrito a partir de la secuencia. |
EVENTS_V2_CONTACT_FINISHED_SEQUENCE | Secuencia terminada. |
EVENTS_V2_CONTACT_REPLIED_EMAIL | El contacto ha respondido al correo electrónico (o al correo electrónico entrante que ha anulado la secuencia) enviado a través de la secuencia. |
EVENTS_V2_CONTACT_UNENROLLED_FROM_SEQUENCE | Contacto no inscrito en la secuencia. |
EVENTS_V2_CONTACT_UNENROLLED_MANUALLY_FROM_SEQUENCE | El usuario ha anulado manualmente el contacto. |
EVENTS_V2_CONTACT_UNSUBSCRIBED_EMAIL | El contacto se ha dado de baja, anulando la secuencia. |
EVENTS_V2_SEQUENCE_EMAIL_BOUNCED | El correo electrónico de la secuencia ha sido devuelto. |
EVENTS_V2_SEQUENCE_ERRORED | Secuencia errónea que provoca la desinscripción. |
EVENTS_V2_SEQUENCE_STEP_EXECUTED | Paso de secuencia ejecutado. |
PÁGINA_DE_EVENTOS_VISITADOS | Visitas a la página web por contactos. |
EVENTOS_<INTEGRATION_EVENT_NAME>_<UNIQUE_IDENTIFIER> | Eventos de integración (Timeline V3 API) |
Puedes identificar los eventos combinando su ID de tipo de evento y su ID. Las columnas que se devuelven dependen del evento, con una columna para cada propiedad del evento. Todos los eventos devolverán las siguientes columnas:
Tenga en cuenta: HubSpot ha añadido dos nuevas columnas a todas las tablas y vistas de eventos:
occurredat
occurredatdateint
Estas columnas sustituirán a las columnas occuredat
y occuredatdateint
el 24 de noviembre de 2022. En esa fecha, las columnas antiguas dejarán de estar disponibles, y los intentos de consultar un objeto de la base de datos o una vista que contenga eventos utilizando esas columnas fallarán. Obtenga más información sobre los cambios de última hora para los datos compartidos de Snowflake.
Nombre de la columna | Tipo | Descripción |
EVENTTYPEID |
Varchar | El ID del tipo de evento, similar a OBJECTTYPEID Puede consultar todos los ID de tipo de evento en su cuenta utilizando la vista object_and_event_type_definitions. |
ID |
Varchar | Esto es único por tipo de evento. No habrá dos registros que tengan el mismo ID dentro de un tipo de evento determinado. |
OBJECTTYPEID |
Varchar | El tipo de objeto que completó el evento. Por ejemplo, un clic en un enlace de correo electrónico se mostraría 0-1 en esta columna, que representa el objeto contactos. |
OBJECTID |
Number | El ID del registro que completó el evento. |
OCCURREDAT |
Timestamp | Cuando ocurrió el evento. |
|
Number | Un número que representa cuándo ocurrió el evento. Contiene los mismos datos que la columna OCCURREDAT pero formateada como un número y utilizada como parte de la clave de grupo de la tabla. En la mayoría de los casos, puedes utilizar el OCCURREDAT marca de tiempo en lugar de este número. |
|
Number | Un número que representa cuándo ocurrió el evento. Contiene los mismos datos que la columna Nota: esta columna quedará obsoleta el 24 de noviembre de 2022 y se sustituirá por |
OCCUREDAT |
Timestamp | Cuando ocurrió el evento. Nota: esta columna quedará obsoleta el 24 de noviembre de 2022 y se sustituirá por |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. Más información sobre tipos de datos de columnas. |
PROPERTY_* |
Varchar | Columnas individuales que contienen las propiedades del evento. |
Ejemplo 1
Recuperar los 50 eventos de clic más recientes del correo electrónico.
Consulta:
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;
Devuelve:
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 |
... | ... | ... | ... | ... |
Ejemplo 2
Recuperar todos los eventos de clic de correo electrónico por los contactos que hicieron clic. Esta consulta obtiene los datos de contacto uniéndolos con object_with_object_properties.
Consulta:
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;
Devuelve:
CLICK_TIMESTAMP | CLICK_URL | CONTACT_FIRSTNAME | CONTACT_LASTNAME |
2019-01-04 22:35:41.264 | https://help.website.com/es/articles/tutorial/how-to-use-email-tool?utm_source=hs_automation&utm_medium=email&utm_content=68042217 | Hobbes | Barón |
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 | Gold |
2018-11-08 09:37:41.426 | https://www.website.net/contact?utm_source=hs_automation&utm_medium=email&utm_content=55200164 | Harlow | Villari |
... | ... | ... | ... |
Consultas de tipo objeto y evento
object_and_event_type_definitions
Este objeto de la base de datos contiene definiciones para todos los objetos y eventos disponibles en su cuenta de HubSpot.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
OBJECTTYPEID |
Varchar | El ID del objeto que puede contener el pipeline (por ejemplo, negocios o tickets). |
FULLYQUALIFIEDNAME |
Varchar | El nombre del objeto o evento. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. Más información sobre tipos de datos de columnas. |
Ejemplo 1
Recuperar todos los objetos y eventos disponibles en tu cuenta de HubSpot.
Consulta:
SELECT objectTypeId, fullyQualifiedName
FROM object_and_event_type_definitions;
Devuelve:
OBJECTTYPEID | FULLYQUALIFIEDNAME |
0-1 | CONTACT |
0-8 | LINE_ITEM |
0-11 | CONVERSATION |
... | ... |
Listas de consultas
A continuación, aprende a consultar tus listas, como las listas de contactos y empresas disponibles y los registros incluidos en esas listas.
listas
Este objeto de la base de datos contiene información sobre las listas de contactos y empresas de HubSpot. Devuelve una fila por lista, y las columnas incluyen detalles de la lista como el nombre de la lista, el tamaño y el tipo de objeto de los registros que contiene. No contiene información sobre los registros individuales dentro de cada lista (consulta list_membership).
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
OBJECTTYPEID |
Varchar | El tipo de registros de la lista (por ejemplo, contacto o empresa). |
LISTID |
Number | El ID de la lista. Se une a la columna LISTID de la tabla de miembros de la lista. |
CLASSICLISTID |
Number | Un ID específico de las listas de contactos que coincide con el ID de la URL de la lista en HubSpot. |
NAME |
Varchar | El nombre de la lista. |
SIZE |
Number | El número de registros de la lista. |
CREATEDBYUSERID |
Number | El ID del usuario que creó la lista. |
CREATEDAT |
Timestamp | Cuando la lista fue creada en HubSpot. |
UPDATEDBYUSERID |
Number | El ID del usuario que ha actualizado la lista más recientemente. |
UPDATEDAT |
Timestamp | La fecha y hora en que la fecha fue actualizada por última vez en HubSpot. Más información sobre tipos de datos de columnas. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recuperar todas las listas de contactos.
Consulta:
SELECT listId, name, size
FROM lists
WHERE objectTypeId = '0-1';
Devuelve:
LISTID | NAME | TAMAÑO |
118131 | Alcance semanal | 103 |
66156 | Suscriptores de blog | 455 |
771852 | Principales suscriptores 2021 | 37 |
... | ... | ... |
Ejemplo 2
Recuperar una lista de contactos específica llamada Principales suscriptores 2021.
Consulta:
SELECT listId, name, size
FROM lists
WHERE objectTypeId = '0-1'
ANDlistName = 'Top subscribers 2021';
Devuelve:
LISTID | NAME | TAMAÑO |
771852 | Principales suscriptores 2021 | 37 |
list_membership
Este objeto de la base de datos contiene información sobre qué registros son miembros de qué listas, con una fila por cada registro de la lista. Por ejemplo, si tiene una lista de suscriptores de un blog con 500 contactos, el objeto de base de datos devolverá 500 filas.
Sólo contiene los ID de listas y los ID de objetos. Para más información, únase al objeto de base de datos de las listas.
Este objeto de base de datos puede devolver las siguientes columnas:
Nombre de la columna | Tipo | Descripción |
LISTID |
Varchar | El ID de la lista. Se une a la columna HS_LIST_ID de la tabla de listas. |
OBJECTID |
Varchar | El ID del registro en la lista. |
UPDATEDAT |
Timestamp | La fecha y hora en que los datos fueron actualizados por última vez en HubSpot. Más información sobre tipos de datos de columnas. |
INGESTEDAT |
Timestamp | La fecha y la hora en que los datos fueron ingeridos por última vez por Snowflake. |
Ejemplo 1
Recuperar los ID de todos los contactos de la lista Principales suscriptores 2021.
Consulta:
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';
Devuelve:
OBJECTID |
54325098 |
96805401 |
6922028 |
... |
Ejemplo 2
Recuperar los nombres y apellidos de los detalles de los contactos de la lista de los principales abonados 2021.
Consulta:
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'
Devuelve:
OBJECTID |
FIRST NAME |
LAST NAME |
54325098 |
Hobbes |
Barón |
96805401 |
Milo |
Gold |
6922028 |
Henry |
Riley |
... |
... |
... |
Preguntas frecuentes
Quiero generar datos similares a un informe de la aplicación de Hubspot, ¿cómo lo hago?
Por lo general, es conveniente observar las columnas presentes en el informe con el que se está comparando. Si la visualización del informe no es tabular, al convertirlo en una tabla se mostrarán las columnas que contiene el informe. Estas columnas suelen ser propiedades de un tipo de objeto o de un tipo de evento. El siguiente paso es averiguar la propiedad de tipo de objeto a la que corresponde una columna. Puede hacerlo consultando property_definitions:
SELECT * FROM property_definitions
WHERE label = [column_name]
Puede que no siempre haya una coincidencia exacta porque algunos nombres de propiedades suelen resolverse con un nombre más descriptivo en la aplicación. En casos como este, hacer una búsqueda difusa usando el operador LIKE en la columna label(o incluso la descripción) en property_definitions puede ayudar.
Después de determinar a qué tipo de objeto pertenece la columna, es trivial determinar qué consultar. Basta con buscar la vista object_x que corresponde al tipo.
¿Cómo puedo vincular este tipo de datos a otro, por ejemplo, cómo recuperar formularios para una campaña?
Si necesitas vincular dos o más registros diferentes entre sí, echa un vistazo a las asociaciones. Las asociaciones representan las relaciones entre objetos en el CRM de HubSpot. Todas las asociaciones posibles entre dos tipos se enumeran en association_definitions. En el ejemplo anterior, para conocer todos los formularios a los que está vinculada una campaña, es necesario consultar 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
¿Cómo puedo conocer el estado de la integración HubSpot-Snowflake?
Para recibir actualizaciones de estado en tiempo real sobre interrupciones y problemas de la integración HubSpot-Snowflake, consulta la vista data_share_status:
SELECT * FROM hubspot.public.data_share_status
LIMIT 1
Los resultados se mostrarán como:
ESTADO | MENSAJE | UPDATEDAT |
OK | NINGÚN INCIDENTE CONOCIDO POR EL MOMENTO | 2023-04-10 09:21:20.123 |
Esta vista proporciona actualizaciones sobre el estado de la integración en orden cronológico inverso. Integrar los resultados de esta consulta en un panel de control te ayudará a seguir el rendimiento de la integración y a detectar cualquier tiempo de inactividad o interrupción.