Skip to main content
A continuación, encontrarás información de referencia para utilizar los eventos de la aplicación, incluidos esquemas de tipos de eventos, plantillas de representación de cronologías de eventos, campos de ocurrencia de eventos y mucho más.

Estructura del proyecto

En el contexto de un proyecto, pondrás las definiciones de los tipos de eventos en un directorio app-events dentro de app/. El directorio app-events debe contener un archivo de definición del esquema JSON para cada tipo de evento (*-hsmeta.json).
Para incluir definiciones de tipo de evento en un proyecto se requiere lo siguiente:
  • Tu aplicación debe utilizar la autenticación de OAuth y estar configurada para su distribución en el mercado de aplicaciones. Además, la aplicación debe incluir timeline en su requiredScopes. Más información sobre la configuración de aplicaciones.
  • Tu proyecto debe desplegarse correctamente antes de que puedas incluir un componente de eventos de aplicación.

Esquema del tipo de evento

Abajo se indican las opciones de configuración disponibles para los esquemas de tipo de evento (*-hsmeta.json). Ten en cuenta que algunos de los atributos que aparecen no se pueden cambiar una vez creado el tipo de evento.
Cada aplicación está limitada a 750 tipos de eventos.

Los campos marcados con * son obligatorios.

Propiedades de eventos

Cuando definas el esquema de sucesos, utiliza la matriz properties para definir los campos a los que enviarás los datos de eventos. Cada tipo de evento puede tener hasta 500 propiedades.

Los campos marcados con * son obligatorios.

Sellado de propiedades

En algunos casos, puede que quieras modificar los valores de las propiedades del registro del CRM basándote en los datos de ocurrencia del evento de la aplicación. Por ejemplo, puede que quieras actualizar el nombre y apellidos de un contacto con los nuevos valores establecidos por la ocurrencia (por ejemplo, envío de formularios). Para actualizar las propiedades de los registros del CRM mediante ocurrencias de eventos, puedes vincular una propiedad de evento a una propiedad de CRM dentro del esquema del tipo de evento. En los campos de definición de una determinada propiedad de evento, incluye el campo objectPropertyName y especifica la propiedad del CRM a enlazar. Una vez vinculada una propiedad, HubSpot siempre actualizará el valor de la propiedad en el registro del CRM utilizando el valor de la aparición más reciente basado en el campo timestamp. Por ejemplo, el siguiente esquema de tipo de evento vincula la propiedad de evento customerName con una propiedad de contacto personalizada denominada custom_property_name. Cuando los datos de ocurrencia del evento incluyan un valor para customerName, se actualizará custom_property_name para el registro del CRM asociado.

Plantillas de renderizado

Los esquemas de tipo de evento pueden incluir los campos headerTemplate y detailTemplate para configurar cómo se muestran los eventos en las cronologías de los registros del CRM.
  • headerTemplate: una descripción de una línea del acontecimiento en la parte superior de la tarjeta de actividad (hasta 1.000 caracteres).
  • detailTemplate: los detalles del evento en el cuerpo de la tarjeta de actividad (hasta 10.000 caracteres).
Las plantillas de renderizado se escriben utilizando plantillas Markdown con Handlebars. Estas plantillas pueden representar los datos de ocurrencias eventos de la siguiente manera:
  • En ambas plantillas, puedes acceder a cualquier dato de property pasado por la ocurrencia del evento utilizando la sintaxis {{propertyName}}.
  • En detailTemplate, puedes acceder adicionalmente a los valores extraData pasados por la ocurrencia del evento utilizando la sintaxis {{extraData.fieldName}}. Puedes acceder a cualquier nivel de atributo en extraData mediante la notación con puntos, como {{extraData.person1.preferredName}}.
El objeto extraData solo puede contener JSON válido. Si el JSON está malformado, la ocurrencia será rechazada y recibirás una respuesta de error.
Por ejemplo, las plantillas siguientes utilizan los datos de las propiedades customerName y loginLocation, junto con el campo surveyData de extraData enviado a través de la ocurrencia del evento. Captura de pantalla que muestra el aspecto de la plantilla de representación del ejemplo siguiente en la cronología de contactos.
Como las plantillas se construyen con Markdown y Handlebars, puedes aprovechar los ayudantes de Handlebars para que el contenido sea más dinámico. Por ejemplo, la detailTemplate incluye el #if ayudante para renderizar condicionalmente el contenido en función de si los datos de ocurrencia del evento incluyen el campo surveyData en extraData.
  • Si extraData contiene surveyData, muestra las respuestas de las encuestas posteriores al inicio de sesión.
  • Si no había ningún surveyData en la ocurrencia del evento, muestra No additional information..
Captura de pantalla que muestra cómo se vería el código de ejemplo en la cronología de contactos.

Usar iframes

Cuando los datos de ocurrencia del evento contengan el campo timelineIFrame, la tarjeta de actividad de cronología incluirá un hipervínculo en el que los usuarios podrán hacer clic para abrir el contenido vinculado en un iframe. Captura de pantalla de un enlace incluido en una ficha de actividad de cronología gracias al campo timelineIFrame

Ocurrencias del evento

Para enviar ocurrencias de evento de un tipo de evento determinado, haz una petición a POST a los puntos finales que se indican a continuación. La API de eventos de la aplicación incluye endpoints para enviar ocurrencias de eventos individuales y lotes de ocurrencias de eventos múltiples. Para ambos endpoints, los datos de ocurrencia del evento tendrán que validarse con respecto a un esquema de tipo de evento existente, que especificarás con eventTypeName en el cuerpo de la solicitud.
Para enviar una ocurrencia de evento única, haz una solicitud de POST a /integrators/timeline/v4/events.En el cuerpo de la solicitud, incluye los datos de la ocurrencia del evento, respetando el esquema definido para el tipo de suceso.
En el cuerpo de la solicitud, incluye datos basados en el esquema de tipo de evento definido. El cuerpo de la solicitud debe incluir la dirección eventTypeName, que puedes recuperar a través de la API.

Los campos marcados con * son obligatorios.

Si alguna ocurrencia no se valida, las ocurrencias validadas con éxito seguirán aceptándose y persistiendo. El mensaje de error de la respuesta te proporcionará información sobre lo que tendrás que arreglar. Captura de pantalla de un ejemplo de mensaje de error que puedes recibir al enviar datos de sucesos

Asociación de registros del CRM

Cada suceso debe estar asociado a un registro del CRM, con el tipo de objeto del CRM definido por el esquema de tipo de evento. La API de eventos de la aplicación incluye múltiples campos para asociar los datos de ocurrencia de eventos con los registros del CRM. Para todos los objetos del CRM compatibles, se recomienda utilizar el campo objectId. Sin embargo, hay algunas situaciones en las que puede que quieras utilizar los otros campos.
  • utk/email: si no conoces el ID del contacto, utiliza el campo utk y/o email para identificarlo. Proporcionar estos dos identificadores también te permite crear y actualizar contactos. Por ejemplo:
    • Si utk coincide con un contacto existente pero email no coincide, HubSpot actualizará el contacto con la nueva dirección de correo electrónico.
    • Si no se proporciona objectId, el evento se asociará a un contacto existente que coincida con utk/email, o HubSpot creará un nuevo contacto si no se encuentra ninguna coincidencia.
    • Ten en cuenta que utk por sí solo no puede crear nuevos contactos. Siempre debes incluir email con utk para garantizar una asociación adecuada.
  • domain: para la asociación de empresas, debes proporcionar la dirección objectId, pero también puedes incluir domain para actualizar la propiedad domain de esa empresa.
Última modificación el 10 de febrero de 2026