Variables de plantilla de cotización

Last updated:

Las plantillas de cotización personalizadas pueden acceder a los datos de cotización y a algunos objetos asociados directamente desde las plantillas. Los datos disponibles dependen de los datos que tengas en tu CRM, así como de los datos agregados a la propia cotización.

Mientras desarrollas una plantilla de cotización, puedes usar datos simulados proporcionados por HubSpot para completar la plantilla, lo que puede ayudar a obtener una vista previa de esta. En la carpeta @hubspot, navega a la carpeta cms-quotes-theme. En la carpeta de templates, consulta las plantillas bold.html o minimal.html. Estas plantillas contienen el siguiente bloque de código en la parte superior:

{% from "../imports/mock_data.html" import SAMPLE_TEMPLATE_DATA as mock_data %} {% from "../imports/module_defaults.html" import MODULE_DEFAULTS as module_defaults %} {% set QUOTE = template_data.quote || mock_data.quote %} {% set CURRENCY = QUOTE.hs_currency || "USD" %} {% set LOCALE = QUOTE.hs_locale || "en-US" %} {% set ASSOCIATED_OBJECTS = QUOTE.associated_objects %} {% set LINE_ITEMS = ASSOCIATED_OBJECTS.line_items %} {% set ADDITIONAL_FEES = ASSOCIATED_OBJECTS.additional_fees %} {% set TOTALS = ASSOCIATED_OBJECTS.totals || ASSOCIATED_OBJECTS.totals %} {% set QUOTE_TOTAL = TOTALS.total %} {% set SUB_TOTALS = TOTALS.subtotals %} {% set DEAL = ASSOCIATED_OBJECTS.deal %}

Los datos simulados se importan primero desde el archivo mock_data.html y luego se establecen en la variable QUOTE para usar los datos que se encuentran en template_data si están disponibles. La variable QUOTE también se usa para rellenar las otras variables en esta lista, como ASSOCIATED_OBJECTS, para hacer que el acceso a esos datos sea menos verbal. Sin embargo, puedes estructurar tus datos de manera diferente, según tus preferencias.

En el código anterior, notarás que template_data también se usa para establecer la variable QUOTE principal. template_data es un objeto que contiene todos los datos reales para la cotización y el negocio en la página. Si no se encuentra ese objeto en la plantilla, HubSpot carga los datos desde mock_data.html.

Objeto Template_data

A la gran mayoría de los datos se puede acceder directamente a través del objeto template_data. Puedes usar null en tu plantilla para ver el objeto completo proporcionado. 

parámetros de objeto de datos de plantilla
VariableTypeDescription
template_data
dict

Un diccionario que contiene la cotización, quote.associated_objects y totaliza los diccionarios.

Variables de cotización

La información específica de esta cotización individual.

parámetros de objeto de datos de plantilla
VariableTypeDescription
template_data.quote
dict

Diccionario que contiene todos los datos para la cotización en sí.

template_data.quote.associated_objects.deal.hs_object_id
Integer

ID del negocio

template_data.quote.hubspot_owner_id
Integer

ID del propietario del negocio

template_data.quote.hs_all_owner_ids
integer or array of integers

ID de propietarios de negocios

template_data.quote.hs_created_by_user_id
Integer

Usuario que creó la cotización.

template_data.quote.hs_lastmodifieddate
datetime

Fecha en que se modificó por última vez la cotización. En formato de época.

template_data.quote.hubspot_owner_assigneddate
datetime

Fecha en que se asignó un propietario a la cotización. En formato epoch.

template_data.quote.hs_createdate
datetime

Fecha y hora en que se creó la cotización. En formato epoch.

template_data.quote.hs_expiration_date
datetime

Fecha en que vence. En formato epoch.

template_data.quote.hs_title
String

Título de la cotización

template_data.quote.hs_template_type
String

"CUSTOMIZABLE_QUOTE_TEMPLATE"

template_data.quote.hs_slug
String

Slug de URL para la página web de la cotización.

template_data.quote.hs_proposal_template_path
String

Ruta del sistema de archivos del desarrollador a la plantilla. (incluye extensión de archivo)

template_data.quote.hs_quote_amount
String

Cantidad de dinero

template_data.quote.hs_currency
String

Moneda en la que se encuentra el importe de la cotización en código de moneda ISO 4217 de 3 caracteres.
"USD"

template_data.quote.hs_language
String

Código de idioma
"es"

template_data.quote.hs_locale
String

Código de configuración regional
"es-es"

template_data.quote.hs_terms
String

Texto de términos proporcionado por el creador de cotizaciones

template_data.quote.hs_sender_firstname
String

Nombre de la persona que envía la cotización.

template_data.quote.hs_sender_company_name
String

Nombre de la empresa de la persona que envía la cotización

template_data.quote.hs_sender_company_image_url
String

Logotipo de la empresa para la persona que envía la cotización.

template_data.quote.hs_status
String

Estado de la cotización.
"APPROVAL_NOT_NEEDED"

template_data.quote.hs_primary_color
string/hex color code

"#425b76"

template_data.quote.hs_quote_number
String

Número de identificación de cotización único.

template_data.quote.hs_payment_enabled
boolean

Se utiliza para probar si se deben mostrar los campos de pago.

template_data.quote.hs_esign_enabled
boolean

Se usa para probar si se deben mostrar los campos de firma electrónica.

¿No puedes encontrar una variable que estás buscando?
Hay más variables a las que puedes acceder dentro de template_data. Usa |pprint para verlas. Además, algunas variables en las asociaciones de cotización solo pueden estar disponibles en función de la cotización/negocio. 

Estaremos repasando esta documentación para mostrar y explicar más datos a los que tienes acceso. Aparte de una bonita impresión, puedes ver el archivo de datos simulado dentro del cms-quote-theme, para ver lo que está disponible y la estructura en la que viene.

Objetos asociados

En una plantilla de cotización, puedes acceder a los datos de los registros asociados de una cotización, como operaciones o empresas, usando associated_objects.

Por ejemplo, puedes agregar el logotipo del registro de empresa asociada del destinatario de la cotización a una cotización usando el siguiente código:

{% set company_avatar_url = template_data.quote.associated_objects.company.hs_avatar_filemanager_key %} {% if company_avatar_url %} <img src="{{ template_data.quote.associated_objects.company.hs_avatar_filemanager_key }}" width="400" alt="{{ template_data.quote.associated_objects.company.name }}"> {% else %} <!-- company does not have an assigned image--> {% endif %}

Nota: solo aparecerán logotipos establecidos manualmente. Los logotipos detectados automáticamente no aparecerán para evitar que aparezcan logotipos no intencionales en la plantilla de cotización.

El código anterior establece en primer lugar una variable que busca el logotipo de la empresa asociada a la cotización. Luego, usando una sentencia if, la plantilla muestra ese logotipo, si está disponible. Si no se ha establecido manualmente ningún logotipo para la empresa, no se muestra ninguno.

Objetos personalizados

Los datos de objetos personalizados se pueden mostrar o usar dentro de una cotización de un par de maneras diferentes. Debido a que la estructura de cada objeto personalizado puede variar, deberás obtener propiedades específicas en función de cómo hayas estructurado tu objeto personalizado.

La cotización template_data por opción predeterminada tiene objetos asociados personalizados en ella. Por ejemplo, se incluyen objetos personalizados asociados con negocios.

Para acceder a ellos, puedes usar el siguiente código:

{% set quote_associated_custom_objects = template_data.quote.associated_objects.deal.associated_objects.custom_objects %} {{ quote_associated_custom_objects|pprint }} {# |pprint is useful for understanding the structure of the data, you can leave it off when outputting values for display. #}

Nota: debido a que los objetos personalizados son únicos para cada cuenta, los datos simulados no incluyen un objeto personalizado de ejemplo. Esto significa que en la vista previa de la plantilla en el administrador de diseño puede ver un error o los datos del objeto personalizado simplemente no se muestran. En cambio, deberás obtener una vista previa de la plantilla con tus datos reales de CRM, lo que puedes hacer creando una cotización a partir de la plantilla.

Puedes entonces acceder a cada tipo de objeto personalizado agregando su ID de tipo de objeto personalizado con formato de guiones bajos. Por ejemplo:

template_data.quote.associated_objects.deal.associated_objects.custom_objects._2_2193031

También puedes buscar un objeto personalizado usando las funciones crm_associations() y crm_objects()

Por ejemplo, si quisieras buscar un objeto personalizado asociado con un negocio, podrías pasar datos de template_data:

{% set quote_associated_object = crm_associations(template_data.quote.associated_objects.deal.hs_object_id, "USER_DEFINED", 152) %} {# 152 is an example of an association type id, you would need to use the appropriate id for your use-case. #} {{ quote_associated_object }}

Recursos relacionados


¿Te resultó útil este artículo?
Con este formulario puedes enviar tu opinión sobre nuestros documentos para desarrolladores. Si tienes comentarios sobre el producto de HubSpot, puedes enviarlos al Foro de ideas.