Propiedades
Usa propiedades para almacenar información en registros de CRM. HubSpot proporciona un conjunto de propiedades predeterminadas para cada objeto CRM y también puedes crear y administrar sus propias propiedades personalizadas en HubSpot o mediante la API de propiedades.
Al crear propiedades, es importante tener en cuenta cómo diseñar tus datos. En muchos casos, la creación de propiedades personalizadas para los objetos estándar de HubSpot es el curso de acción correcto. Sin embargo, puede haber ocasiones en las que debas crear un objeto personalizado independiente con su propio conjunto de propiedades.
Los objetos de CRM se definen por un tipo principal y un conjunto de propiedades. Cada tipo tiene un conjunto único de propiedades estándar, representadas por un mapa de pares nombre-valor.
Más información sobre las propiedades predeterminadas para diferentes objetos:
Los grupos de propiedades se utilizan para agrupar propiedades relacionadas. Cualquier propiedad agrupada aparecerá junto entre sí en los registros de HubSpot. Si tu integración crea cualquier propiedad personalizada de objeto, un grupo de propiedades personalizadas hará que sea fácil identificar esos datos.
Cuando se crean o actualizan propiedades, se requieren valores de type
y fieldType
. El valor type
determina el tipo de propiedad, es decir, una cadena o un número. La propiedad fieldType
determina cómo aparecerá la propiedad en HubSpot o en un formulario, es decir, como un campo de texto sin formato, un menú desplegable o un selector de fechas.
En la siguiente tabla, obtén información sobre propiedad disponible type
y los valores de fieldType
correspondientes.
type |
Descripción | Valores fieldType válidos |
---|---|---|
bool |
Un campo que contiene opciones binarias (por ejemplo, Sí o No , Verdadero o Falso ). |
booleancheckbox , calculation_equation |
enumeration |
Una cadena que representa un conjunto de opciones, con opciones separadas por un punto y coma | booleancheckbox , checkbox , radio , select , calculation_equation |
date |
Un valor con formato ISO 8601 que representa un día, mes y año específicos. Los valores deben representarse en tiempo UTC y pueden formatearse como cadenas ISO 8601 o marcas de tiempo EPOCH en milisegundos (es decir, UTC de medianoche). | date |
dateTime |
Un valor con que representa un día, mes y hora específicos del día. La aplicación HubSpot no mostrará la hora del día. Los valores deben representarse en tiempo UTC y pueden formatearse como cadenas ISO 8601 o marcas de tiempo UNIX en milisegundos. | date |
string |
Una cadena de texto sin formato, limitada a 65.536 caracteres. | file , text , textarea , calculation_equation , html , phonenumber |
number |
Un valor de número que contiene dígitos numéricos y, como máximo, un decimal. | number , calculation_equation |
Los valores válidos para fieldType
incluyen:
Fieldtype | Description |
---|---|
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. Descubre cómo agregar un valor a las propiedades de casilla de comprobación única. |
calculation_equation
| Una ecuación personalizada que puede calcular valores basados en otros valores de propiedad y/o asociaciones. Más información sobre cómo definir propiedades de cálculo. |
casilla de comprobación
| Una lista de casillas de comprobación que permitirán al usuario seleccionar varias opciones de un conjunto de opciones permitidas para la propiedad. Aprende a dar formato a los valores al actualizar varias propiedades de casilla de comprobación. |
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. |
html
| Una cadena, renderizada como html desinfectado, que permite el uso de un editor de texto enriquecido para la propiedad. |
number
| Una cadena de numerales o números escritos en notación decimal o científica. |
phonenumber
| Una cadena de texto sin formato, que se muestra como un número de teléfono formateado. |
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 selección. |
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. |
Cuando se crea un registro en HubSpot, se genera automáticamente un ID de registro (hs_object_id
) único que debe ser tratado como una cadena de texto. Estos ID solo son únicos dentro de ese objeto, por lo que puede haber un contacto y una empresa con el mismo ID. Para los contactos y las empresas, hay identificadores únicos adicionales, incluida la dirección de correo electrónico de un contacto (email
) y el nombre de dominio de una empresa (domain
).
En algunos casos, es posible que quieras crear tu propia propiedad de identificador único para que no puedas introducir el mismo valor para varios registros. Puedes tener hasta diez propiedades de ID únicas por objeto. Para crear una propiedad que requiera valores únicos a través de la API:
- Haz una solicitud
POST
a/crm/v3/properties/{objectType}
. - En el cuerpo de la solicitud, para el campo
hasUniqueValue
, establece el valor comotrue
.
Una vez que hayas creado tu propiedad de ID único, puedes usarlo en una llamada a la API para recuperar registros específicos. La URL de la solicitud podría verse de la siguiente manera: GET
https://api.hubapi.com/crm/v3/objects/deals/abc?idProperty=system_a_unique. Esto devolverá el negocio con el valor de abc
en el campo system_a_unique
.
Luego puedes usar este valor de propiedad de identificador único para identificar y actualizar registros específicos de la misma manera que podrías usar hs_object_id
, email
(contactos) o domain
(empresas).
Las propiedades de cálculo definen un valor de propiedad basado en otras propiedades dentro del mismo registro de objeto. Se definen utilizando una fórmula, que puede incluir operaciones como min, max, count, sum o average. Puedes usar la API de propiedades para leer o crear propiedades de cálculo en tu cuenta de HubSpot, usando un tipo de campo calculation_equation
y un tipo de number
, bool
, string
o enumeration
.
Puedes definir la fórmula de cálculo de la propiedad con el campo calculationFormula
.
Usando calculationFormula
, puedes escribir tu fórmula con operadores aritméticos, operadores de comparación, operadores lógicos, sentencias condicionales y otras funciones.
Sintaxis literal
- Cadena literal: las cadenas constantes se pueden representar con comillas simples (
'constant'
) o comillas dobles ("constant"
). - Número literal: los números constantes pueden ser cualquier número real y pueden incluir notación de puntos.
1005
y1.5589
son números constantes válidos. - Literal booleano: los booleanos constantes pueden ser
true
ofalse
.
Sintaxis de propiedad
- Variables de propiedad de cadena: para que una cadena de identificador se interprete como una propiedad de cadena, debe estar envuelta en la función
string
. Por ejemplo,string(var1)
se interpretará como el valor de la propiedad string var1. - Variables de propiedad de número: todos los identificadores se interpretarán como variables de propiedad de número. Por ejemplo,
var1 se
interpretará como el valor de la propiedad de número var1. - Variables de propiedad booleana: para que un identificador se interprete como una propiedad bool, debe estar envuelto en la función
bool
. Por ejemplo, el identificadorbool(var1)
se interpretará como el valor de la propiedad booleana var1.
Nota: el lenguaje utilizado distingue entre mayúsculas y minúsculas para todos los tipos, excepto las cadenas. Por ejemplo, si A ThEn B
es exactamente igual que si a, entonces b
pero 'a' no
es igual que 'A'
. Se utilizarán espacios, pestañas y nuevas líneas para la tokenización, pero se ignorarán.
Operadores
Los operadores se pueden usar con valores literales y de propiedad. Para los operadores aritméticos, puedes usar notación de prefijo para multiplicar, y se pueden usar paréntesis para especificar el orden de las operaciones.
Operador | Descripción | Examples |
---|---|---|
+
| Add numbers or strings. |
|
-
| Subtract numbers. | property1 + 100 - property2 |
*
| Multiply numbers. | 10property1 = 10 * property1 |
/
| Divide numbers. | property1 * (100 - property2/(50 - property3)) |
<
| Checks if a value is less than another. Supported by number properties or constants. | a < 100 |
>
| Checks if a value is greater than another. Supported by number properties or constants. | a > 50 |
<=
| Checks if a value is less than or equal to another. Supported by number properties or constants. | a <= b |
>=
| Checks if a value is greater than or equal to another. Supported by number properties or constants. |
|
=
| Checks if a value is equal to another. Supported by both numbers and strings. | (a + b - 100c * 150.652) = 150-230b |
Equivale a
| Checks if a value is equal to another. Supported by both numbers and strings. | a + b - 100.2c * 150 equals 150 - 230 |
!=
| Checks if a value is not equal to another. Supported by both numbers and strings. | string(property1) != 'test_string' |
or
| Checks if either or two values are true. | a > b or b <= c |
and
| Checks if both values are true. | bool(a) and bool(c) |
not
| Checks if none of the values are true. | not (bool(a) and bool(c)) |
Funciones
Las siguientes son funciones compatibles:
Función | Descripción | Examples |
---|---|---|
max
| Will have between 2 and 100 input numbers, and will return the maximum number out of all the inputs. | max(a, b, c, 100) o max(a, b) |
min
| Will have between 2 and 100 input numbers, and will return the minimum number of out all the inputs. |
|
is_present
| Evaluates whether an expression can be evaluated. |
|
contains
| Has two strings as inputs and will return true if the first input contains the second. |
|
concatenate
| Joins a list of strings. The list of inputs can go from 2 up to 100. |
|
También hay dos funciones de análisis:
number_to_string
: intenta convertir la expresión del número de entrada en una cadena.string_to_number
: intenta convertir la expresión de la cadena de entrada en un número.
Por ejemplo, "Number of cars: " + num_cars
es una propiedad válida porque no puedes agregar una cadena con un número, pero "Number of cars: " + number_to_string(num_cars)
sí lo es.
Declaraciones condicionales
También puedes escribir tu fórmula con sentencias condicionales usando if
, elseif
, endif
y else
.
Por ejemplo, una sentencia condicional podría parecerse a: if boolean_expression then statement [elseif expression then statement]* [else statement | endif]
donde los corchetes [a]
representan que a es opcional, a|b
representa que a o b funcionarán, y *
significa 0 o más. endif
se puede usar para terminar una sentencia condicional prematuramente, asegurando que el analizador sintáctico pueda identificar a qué if
pertenece el siguiente elseif
.
Fórmulas de ejemplo
Los siguientes son ejemplos que puedes usar para ayudar a definir tus propias fórmulas de cálculo:
Un ejemplo más avanzado con condicionales:
Una vez que hayas definido las propiedades, puedes actualizar sus valores para tus registros a través de las API de objetos.A continuación, descubre cómo formatear valores para tipos de campo de propiedad específicos y cómo borrar valores de propiedad.
Al actualizar los valores para las propiedades de tipo de casilla de comprobación de un registro, formatea los valores de las siguientes maneras:
- Propiedad de casilla de verificación booleana: para que se muestre como Sí, o marcado en HubSpot, el valor debe ser
verdadero
. Para que aparezca como No o sin marcar en HubSpot, tu valor debe serfalso
. - Propiedad de casilla de comprobación de selección múltiple: para agregar o adjuntar valores a una propiedad de varias casillas de comprobación, agrega un punto y coma antes del primer valor e incluye un punto y coma entre cada valor. Si la propiedad tiene un valor existente, el punto y coma inicial agregará los valores en lugar de sobrescribir el valor. Por ejemplo, un contacto tiene el valor
DECISION_MAKER
existente para la propiedadhs_buying_role
. Para agregar valores adicionales sin reemplazar el valor existente, tu solicitud se vería como lo siguiente:
Al asignar usuarios a registros de CRM a través de la API, tu valor debe ser el ID
de propietario del usuario, que puedes encontrar en la configuración de tu propiedad o a través de la API de propietarios. Por ejemplo, para asignar un usuario como propietario de un contacto, envía una solicitud PATCH
a crm/v3/objects/contacts/{contactId}
, con el cuerpo { "properties":{ "hubspot_owner_id": "41629779"}}
.
Puedes borrar un valor de propiedad de objeto a través de la API configurando el valor de propiedad en una cadena vacía.
Por ejemplo, para borrar el firstname
de un objeto de contacto, envía una solicitud PATCH
a https://api.hubapi.com/crm/v3/objects/contacts/{contactId}
con el cuerpo { "properties": { "firstname": ""} }
.
Gracias por tus comentarios, son muy importantes para nosotros.