Objetos personalizados
-
Marketing Hub
- Enterprise
-
Sales Hub
- Enterprise
-
Service Hub
- Enterprise
-
Content Hub
- Enterprise
-
Operations Hub
- Enterprise
En cada cuenta de HubSpot, están los objetos estándar de CRM: contactos, empresas, negocios y tickets. Para representar y organizar los datos de tu CRM en función de las necesidades de tu negocio, también puedes crear objetos personalizados. Puedes crear un objeto personalizado en HubSpot o usar la API de objetos personalizados para definir objetos personalizados, propiedades y asociaciones a otros objetos de CRM.
A continuación, aprende a crear y administrar objetos personalizados a través de la API, y ve un tutorial de cómo crear un objeto personalizado de ejemplo.
Para obtener más información sobre la creación de objetos personalizados, consulta las siguientes publicaciones en el blog para desarrolladores de HubSpot:
Nota: los objetos personalizados son específicos de cada cuenta y, dependiendo de tu suscripción, hay límites en el número de objetos personalizados que puedes crear. En el Catálogo de productos y servicios de HubSpot encontrarás más información sobre tus límites.
Puedes crear, leer y actualizar objetos personalizados utilizando uno de los siguientes métodos de autenticación:
Nota: desde el 30 de noviembre de 2022, las claves de API de HubSpot están obsoletas y ya no son compatibles. El uso continuado de las claves de API de HubSpot es un riesgo de seguridad para tu cuenta y tus datos. Durante esta fase de obsolescencia, HubSpot puede desactivar tu clave en cualquier momento.
En su lugar, debes autentificarte usando un token de acceso de una aplicación privada u OAuth. Más información sobre este cambio y cómo migrar una integración de claves de API para usar una aplicación privada en su lugar.
Para crear un objeto personalizado, primero deberás definir el esquema del objeto. El esquema incluye el nombre del objeto, las propiedades y las asociaciones con otros objetos de CRM. Puedes encontrar los detalles completos de la solicitud de esquema en la pestaña Esquema de objeto en la parte superior de este artículo. También puedes ver una solicitud de ejemplo en el tutorial de ejemplo a continuación.
Para crear el esquema de objeto personalizado, haz una solicitud POST
a crm/v3/schemas
. En el cuerpo de la solicitud, incluye definiciones para el esquema de objetos, incluidos su nombre, propiedades y asociaciones.
Al asignarle un nombre a tu objeto personalizado, ten en cuenta lo siguiente:
- Una vez que creas un objeto, su nombre y etiqueta no se pueden cambiar.
- El nombre solo puede contener letras, números y guiones bajos.
- El primer carácter del nombre debe ser una letra.
- Las etiquetas largas pueden estar cortadas en ciertas partes del producto.
A continuación, lee acerca de las definiciones requeridas para las propiedades y asociaciones del objeto.
Las propiedades que definas en el cuerpo de la solicitud se utilizarán para almacenar información en registros de objetos personalizados individuales.
Nota: puedes tener hasta 10 propiedades de valor únicas para cada objeto personalizado en tu cuenta de HubSpot.
Usarás tus propiedades definidas para completar los siguientes campos basados en propiedades:
- requiredProperties: las propiedades que se requieren al crear un nuevo registro de objeto personalizado.
- searchableProperties: las propiedades que se indexan para buscar en HubSpot.
- primaryDisplayProperty: la propiedad utilizada para asignar nombre a registros de objetos personalizados individuales.
- secondaryDisplayProperties: las propiedades que aparecen en los registros individuales bajo primaryDisplayProperty.
- La primera propiedad que se indica en
secondaryDisplayProperties
también se agregará como un cuarto filtro en la página de índice de objetos si es uno de los siguientes tipos de propiedad:string
number
enumeration
boolean
datetime
- Para eliminar una propiedad de visualización de la interfaz de usuario, primero deberás eliminar la propiedad y luego volver a crearla.
- La primera propiedad que se indica en
Por opción predeterminada, cuando se crean propiedades a través de la solicitud de esquema, el tipo
de propiedad se establece en cadena
y el fieldType
se establece en texto
. A continuación se muestran los valores que puedes usar para crear diferentes tipos de propiedades.
type |
Descripción | Valores fieldType válidos |
---|---|---|
enumeration |
Una cadena que representa un conjunto de opciones separadas por un punto y coma | booleancheckbox , checkbox , radio , select |
date |
Un Valor con formato ISO 8601 que representa un día, mes y año específicos. | date |
dateTime |
Un Valor con formato ISO 8601 que representa un día, mes y hora específicos del día. La aplicación HubSpot no mostrará la hora del día. | date |
string |
Una cadena de texto sin formato, limitada a 65.536 caracteres. | file , text , textarea |
number |
Un valor de número que contiene dígitos numéricos y, como máximo, un decimal. | number |
fieldType |
Descripción |
---|---|
booleancheckbox |
Una entrada que permitirá a los usuarios seleccionar Sí o No. Cuando se usa en un formulario, se mostrará como una única casilla de comprobación. |
checkbox |
Una lista de casillas de comprobación que permitirán al usuario seleccionar varias opciones de un conjunto de opciones permitidas para la propiedad. |
date |
Un valor de fecha, que se muestra como selector de fechas. |
file |
Permite que un archivo se cargue en un formulario. Almacenar y mostrar como un enlace de URL al archivo. |
number |
Una cadena de numerales o números escritos en notación decimal o científica. |
radio |
Una entrada que permitirá a los usuarios seleccionar una de un conjunto de opciones permitidas para la propiedad. Cuando se usa en un formulario, se mostrará como un conjunto de botones de radio. |
select |
Una entrada desplegable que permitirá a los usuarios seleccionar una de un conjunto de opciones permitidas para la propiedad. |
text |
Una cadena de texto sin formato, que se muestra en una entrada de texto de una sola línea. |
textarea |
Una cadena de texto sin formato, que se muestra como entrada de texto de varias líneas. |
Asociaciones
HubSpot asociará automáticamente un objeto personalizado con los correos electrónicos, reuniones, notas, tareas, llamadas y objetos de conversaciones. Además, puedes asociar tu objeto personalizado con otros objetos de HubSpot estándar u otros objetos personalizados.
Al crear asociaciones a través de la solicitud de creación de esquema, identifica objetos estándar usando su nombre y objetos personalizados usando su valor
objectTypeId. Por ejemplo:
Para recuperar todos los objetos personalizados, haz una solicitud GET
a/crm/v3/schemas
.
Para recuperar un objeto personalizado específico, realiza una solicitud GET
a uno de los siguientes puntos de terminación:
/crm/v3/schemas/{objectTypeId}
/crm/v3/schemas/p_{object_name}
/crm/v3/schemas/{fullyQualifiedName}
. Puedes encontrar un objetofullyQualifiedName
en su esquema, que se deriva dep{portal_id}_{object_name}
. Puedes encontrar el ID del portal de tu cuenta utilizando la API de información de la cuenta.
Por ejemplo, para una cuenta con un ID de 1234
y un objeto llamado lender
, la URL de solicitud podría parecerse a cualquiera de los siguientes elementos:
https://api.hubapi.com/crm/v3/schemas/2-3465404
https://api.hubapi.com/crm/v3/schemas/p_lender
https://api.hubapi.com/crm/v3/schemas/p1234_lende
También puedes recuperar los registros de un objeto personalizado.
- Para recuperar un registro específico por su valor de ID de registro, haz una solicitud
GET
acrm/v3/objects/{objectType}/{recordId}
.
En este punto de terminación, puedes incluir los siguientes parámetros de consulta en la URL de la solicitud:
Parameter | Description |
---|---|
propiedades
| Una lista separada por comas de las propiedades que se devolverán en la respuesta. Si el registro de objeto personalizado solicitado no tiene un valor para una propiedad, no aparecerá en la respuesta. |
propertiesWithHistory
| Una lista separada por comas de las propiedades actuales e históricas que se devolverán en la respuesta. Si el registro de objeto personalizado solicitado no tiene un valor para una propiedad, no aparecerá en la respuesta. |
asociaciones
| Una lista separada por comas de los objetos de los cuales recuperar los ID asociados. No se devolverán en la respuesta las asociaciones especificadas que no existan. Más información sobre la API de asociaciones. |
- Para recuperar varios registros, haz una solicitud
POST
acrm/v3/objects/{objectType}/batch/read
. El punto de terminación por lote no puede recuperar asociaciones. Obtener más información sobre cómo leer asociaciones por lotes con la API de asociaciones.
En tu solicitud, puedes recuperar registros por su ID de registro (hs_object_id
) o por una propiedad de identificador único personalizada. Por opción predeterminada, los valores de id
en la solicitud se refieren al ID de registro, por lo que no se requiere el parámetro idProperty
al recuperar por ID de registro. Para usar una propiedad de valor único personalizada, debes incluir el parámetro idProperty
.
Por ejemplo, para recuperar un lote de registros de objetos personalizados, tu solicitud podría tener uno de los siguientes aspectos:
Para actualizar el esquema de un objeto, realiza una solicitud PATCH
en https://api.hubapi.com/crm/v3/schemas/{objectTypeId}
.
Una vez que tu objeto personalizado esté definido:
- El nombre y las etiquetas del objeto (singular y plural) no se pueden cambiar.
- Las propiedades
requiredProperties
,searchableProperties
,primaryDisplayProperty
ysecondaryDisplayProperties
se pueden cambiar actualizando el esquema del objeto. Para establecer una nueva propiedad como requerida, de búsqueda o de visualización, debes crear la propiedad antes de actualizar el esquema. - Puedes crear y editar propiedades de objetos personalizados en HubSpot o a través de la API de propiedades.
Actualizar asociaciones
Para agregar otras asociaciones de objetos a tu objeto personalizado, haz una solicitud POST
a/crm/v3/schemas/{objectTypeId}/associations
.
Solo puedes asociar tu objeto personalizado con objetos de HubSpot estándar (por ejemplo, contacto, empresa, negocio o ticket) u otros objetos personalizados. En el campo
toObjectTypeId, identifica los objetos personalizados por su valor objectTypeId
y los objetos estándar por su nombre. Por ejemplo, puedes hacer lo siguiente:
Solo puedes eliminar un objeto personalizado después de eliminar todas las instancias de objetos de ese tipo. Para eliminar un objeto personalizado, haz una solicitud DELETE
en/crm/v3/schemas/{objectType}
.
Si necesitas crear un nuevo objeto personalizado con el mismo nombre que el objeto eliminado, debes eliminar el esquema haciendo una solicitud DELETE
a /crm/v3/schemas/{objectType}?archived=true
. Solo puedes eliminar un tipo de objeto personalizado después de eliminar todas las instancias de objeto de ese tipo, asociaciones y propiedades de objeto personalizadas.
Lo siguiente es un tutorial para crear un objeto personalizado de ejemplo. Para obtener detalles completos de las solicitudes que se muestran, consulta la pestaña Definición de objeto en la parte superior del artículo.
Este tutorial cubre:
- La creación de un esquema de objeto personalizado.
- La creación de un registro de objeto personalizado.
- La asociación de un registro de objeto personalizado con un contacto de HubSpot.
- La creación de una nueva definición de asociación entre el objeto personalizado y el ticket de HubSpot.
- La creación de una nueva definición de propiedad.
- La actualización del esquema de objetos (es decir,
secondaryDisplayProperties
) con la nueva propiedad.
Objetivo: un concesionario de automóviles llamado CarSpot quiere almacenar su inventario en HubSpot usando un objeto personalizado. Para hacer seguimiento de la propiedad del vehículo y las compras, asociarán los autos con registros de contactos. A lo largo del camino, también harán seguimiento del mantenimiento del vehículo utilizando tickets de HubSpot y propiedades personalizadas.
Creación del esquema de objeto
CarSpot necesita crear un esquema de objeto que pueda representar los siguientes atributos como propiedades:
- Condición (nueva o usada): enumeración
- Fecha de recepción en el concesionario: fecha
- Fecha: número
- Marca: cadena
- Modelo: cadena
- VIN: cadena (valor único)
- Color: cadena
- Kilometraje: número
- Precio: número
- Notas: cadena
También agregarán una descripción para proporcionar contexto sobre cómo utilizar el objeto y definirán una asociación entre su objeto personalizado y el objeto de contactos estándar para que puedan conectar autos a compradores potenciales.
Con su modelo de datos finalizado, crearán el esquema de objeto haciendo una solicitud POST
a /crm/v3/schemas
con el siguiente cuerpo de solicitud:all
Después de crear el esquema del objeto, CarSpot se asegura de anotar el campo {objectTypeId}
del nuevo objeto, ya que lo usará para obtener y actualizar el objeto más adelante. También pueden usar el valor {fullyQualifiedName}
, si lo prefieren.
Creación de un registro de objeto personalizado
Con el objeto personalizado creado, CarSpot ahora puede crear registros en el objeto para cada auto en su inventario.
Crearán su primer auto haciendo una solicitud POST
a/crm/v3/objects/2-3465404 con
el siguiente cuerpo de solicitud:
La respuesta para esta llamada de API se vería similar a:Copy all
Con el registro creado, pueden utilizar el valor de identificación
para asociar más tarde el auto con un contacto existente.
Si luego quisieran recuperar este registro junto con propiedades específicas, podrían hacer una solicitud GET
a https://api.hubapi.com/crm/v3/objects/2-3465404/181308?portalId=1234567&properties=year&properties=make&properties=model
Asociación del registro de objeto personalizado a otro registro
Puedes usar el ID del nuevo registro de automóvil (181308
) y el ID de otro registro para asociar un registro de objeto personalizado con un registro de otro objeto.
Para crear una asociación, haz una solicitud PUT
a /crm/v3/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}/{associationType}
. Si la relación de objeto ya está definida, para determinar el valor associationType
, haz una solicitud GET
a crm/v3/schemas/{objectType}
.
Por ejemplo, con el ID de contacto 51
y el tipo de asociación 75
, CarSpot puede asociar el registro del automóvil con un contacto. Usando los ID anteriores, la URL de solicitud se construirá de la siguiente manera:
https://api.hubspot.com/crm/v3/objects/2-3465404/181308/associations/contacts/51/75
Definición de una nueva asociación
CarSpot ahora quiere comenzar a hacer seguimiento de los servicios postventa para sus automóviles. Para ello, usaremos tickets de HubSpot para registrar cualquier mantenimiento realizado.
Para permitir asociaciones entre automóviles y tickets, crearán una nueva asociación haciendo una solicitud POST
a /crm/v3/schemas/2-3465404/associations
con el siguiente cuerpo de solicitud:
La respuesta para esta llamada de API se vería similar a:Copy all
Al crear una nueva asociación entre dos objetos personalizados, especifica los objetos personalizados por su objectTypeId en el campo toObjectTypeId. En el caso de los objetos estándar, puedes identificarlos por su nombre o utilizar los siguientes valores:
- Contacto: 0-1
- Empresa: 0-2
- Negocio: 0-3
- Ticket: 0-5
Definición de una nueva propiedad
A medida que continúan rastreando el mantenimiento, CarSpot ve una oportunidad para agrupar los servicios de mantenimiento en paquetes. Para hacer seguimiento de estos paquetes de mantenimiento en los registros individuales del vehículo, crearán una nueva propiedad de enumeración que contiene los paquetes disponibles.
Para definir una nueva propiedad, realizarán una solicitud POST
a /crm/v3/properties/2-3465404 con
el siguiente cuerpo de solicitud:
La respuesta para esta llamada de API se vería similar a:Copy all
Ahora que se creó la propiedad, quieren que aparezca en la barra lateral de cada registro de automóvil para que la información esté fácilmente disponible para sus representantes de ventas y técnicos. Para ello, agregarán la propiedad a secondaryDisplayProperties
haciendo una solicitud PATCH
a /crm/v3/schemas/2-3465404
con el siguiente cuerpo de solicitud:
La respuesta para esta llamada de API se vería similar a:Copy all
Ahora, cuando un técnico abre un registro de contacto que tiene un automóvil asociado, la propiedad se mostrará en la tarjeta de objeto personalizada en la barra lateral:
A medida que CarSpot continúe usando HubSpot, es probable que encuentren formas de refinar y expandir este objeto personalizado y más usando la API de HubSpot. Incluso podrían decidir crear páginas dinámicas usando sus datos de objetos personalizados.
Gracias por tus comentarios, son muy importantes para nosotros.