Variables du modèle de devis

Last updated:

Les modèles de devis personnalisés peuvent accéder aux données de devis et à certains objets associés directement depuis les modèles. Les données disponibles dépendent de celles que vous avez dans votre CRM, ainsi que de celles qui ont été ajoutées au devis lui-même.

Lors de l'élaboration d'un modèle de devis, vous pouvez utiliser les données de simulation fournies par HubSpot pour remplir le modèle, ce qui peut aider à prévisualiser le modèle. Dans le dossier @hubspot, accédez au dossier cms-quotes-theme. Dans le dossier templates, affichez les modèles basic.html, modern.html ou original.html. Le haut de ces modèles contient le bloc de code suivant :

{% 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 %}

Les données simulées sont d'abord importées à partir du fichier mock_data.html, puis sont définies sur la variable QUOTE pour utiliser les données trouvées dans template_data, le cas échéant. La variable QUOTE est également utilisée pour remplir les autres variables de cette liste, telles que ASSOCIATED_OBJECTS, afin de rendre l'accès à ces données moins verbeux. Toutefois, vous pouvez structurer vos données différemment, en fonction de vos préférences.

Dans le code ci-dessus, vous remarquerez que template_data est également utilisé pour définir la principale variable QUOTE. L'objet template_data contient toutes les données réelles pour le devis et la transaction dans la page. Si cet objet n'est pas trouvé dans le modèle, HubSpot charge les données à partir de mock_data.html.

Template_data object

La grande majorité des données sont directement accessibles via l'objet template_data. Vous pouvez utiliser {{ template_data|pprint }} dans votre modèle pour afficher l'intégralité de l'objet fourni. 

Paramètres d'objet template_data
VariableTypeDescription
template_data
dict

Un dictionnaire contenant le devis, quote.associated_objects, et les dictionnaires totaux.

Variables de devis

Les informations spécifiques à ce devis en particulier.

Paramètres d'objet template_data
VariableTypeDescription
template_data.quote
dict

Dictionnaire contenant toutes les données du devis lui-même.

template_data.quote.associated_objects.deal.hs_object_id
Integer

ID de transaction

template_data.quote.hubspot_owner_id
Integer

ID du propriétaire de transaction

template_data.quote.hs_all_owner_ids
integer or array of integers

ID des propriétaires de transaction

template_data.quote.hs_created_by_user_id
Integer

Utilisateur qui a créé le devis.

template_data.quote.hs_lastmodifieddate
datetime

Date de la dernière modification du devis. Au format epoch.

template_data.quote.hubspot_owner_assigneddate
datetime

Date à laquelle le devis a été attribué à un propriétaire. Au format epoch.

template_data.quote.hs_createdate
datetime

Date et heure auxquelles le devis a été créé. Au format epoch.

template_data.quote.hs_expiration_date
datetime

Date d'expiration du devis. Au format epoch.

template_data.quote.hs_title
String

Titre du devis

template_data.quote.hs_template_type
String

"CUSTOMIZABLE_QUOTE_TEMPLATE"

template_data.quote.hs_slug
String

Slug d'URL pour la page web de devis.

template_data.quote.hs_proposal_template_path
String

Chemin du système de fichiers développeur vers le modèle (inclut l'extension de fichier).

template_data.quote.hs_quote_amount
String

Montant monétaire

template_data.quote.hs_currency
String

Devise dans laquelle le montant du devis est exprimé, en code de devise ISO 4217 à 3 caractères.
"USD"

template_data.quote.hs_language
String

Code de langue
"fr"

template_data.quote.hs_locale
String

Code cadre
"fr-fr"

template_data.quote.hs_terms
String

Texte des conditions fourni par le créateur du devis

template_data.quote.hs_sender_firstname
String

Prénom de la personne qui envoie le devis.

template_data.quote.hs_sender_company_name
String

Nom de la société de la personne qui a envoyé le devis.

template_data.quote.hs_sender_company_image_url
String

Logo de l'entreprise de la personne qui envoie le devis.

template_data.quote.hs_status
String

État du devis.
"APPROVAL_NOT_NEEDED"

template_data.quote.hs_primary_color
string/hex color code

"#425b76"

template_data.quote.hs_quote_number
String

Numéro d'identification unique du devis.

template_data.quote.hs_payment_enabled
boolean

À utiliser pour tester si les champs de paiement doivent être affichés.

template_data.quote.hs_esign_enabled
boolean

À utiliser pour tester si des champs d'e-signature doivent être affichés.

Vous ne trouvez pas la variable que vous cherchez ?
Vous pouvez accéder à d'autres variables dans template_data. Utilisez |pprint pour les voir. En outre, certaines variables dans les associations de devis peuvent n'être disponibles qu'en fonction du devis/de la transaction. 

Nous allons compléter cette documentation pour présenter et expliquer davantage les données auxquelles vous avez accès. En dehors de l'impression élégante, vous pouvez consulter le fichier de données simulées dans le cms-quote-theme, pour voir ce qui est disponible et la structure dans laquelle il se trouve.

Objets associés

Dans un modèle de devis, vous pouvez accéder aux données des enregistrements associés à un devis, tels que des transactions ou des entreprises, en utilisant associated_objects.

Par exemple, vous pouvez ajouter à un devis le logo de l'entreprise associée au destinataire du devis en utilisant le code suivant :

{% 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 %}

Remarque : Seuls les logos définis manuellement apparaîtront. Les logos détectés automatiquement n'apparaîtront pas, pour éviter que les logos involontaires n'apparaissent sur le modèle de devis.

Le code ci-dessus définit d'abord une variable qui recherche le logo de l'entreprise associée au devis. Ensuite, à l'aide d'une instruction if, le modèle affiche ce logo, le cas échéant. Si aucun logo n'a été défini manuellement pour l'entreprise, aucun logo n'est affiché.

Objets personnalisés

Les données d'objet personnalisés peuvent être affichées ou utilisées dans un devis de différentes manières. Étant donné que la structure de chaque objet personnalisé peut varier, vous devez obtenir des propriétés spécifiques selon la façon dont vous avez structuré votre objet personnalisé.

L'objet template_data du devis par défaut contient des objets associés personnalisés. Par exemple, des objets personnalisés associés aux transactions sont inclus.

Pour y accéder, vous pouvez utiliser le code suivant :

{% 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. #}

Remarque : Étant donné que les objets personnalisés sont propres à chaque compte, les données simulées n'incluent pas d'exemple d'objet personnalisé. Cela signifie que dans l'aperçu du modèle dans le gestionnaire de conception, vous pouvez voir une erreur ou les données d'objet personnalisés ne s'affichent tout simplement pas. Vous devrez donc prévisualiser le modèle avec vos données CRM réelles, ce que vous pouvez faire en créant un devis à partir du modèle.

Vous pouvez ensuite accéder à chaque type d'objet personnalisé en ajoutant son ID de type d'objet personnalisé formaté avec des tirets bas. Par exemple :

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

Vous pouvez également rechercher un objet personnalisé en utilisant les fonctions crm_associations() et crm_objects()

Par exemple, si vous souhaitez rechercher un objet personnalisé associé à une transaction, vous pouvez transmettre les données 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 }}

Autres ressources


Cet article vous a-t-il été utile ?
Ce formulaire est destiné à recueillir les avis sur la documentation pour les développeurs. Si vous souhaitez faire part de votre avis sur les produits HubSpot, veuillez le partager sur le forum des idéesde la communauté.