Utilisez HubL pour accéder et afficher des données de CRM dans votre modèle de devis personnalisé. L’objet template_data contient la plupart des données associées au devis. Pour tout ce qui n’y est pas inclus, vous pouvez soit associer la fiche d’informations objet au devis, soit utiliser les fonctions HubL CRM_object.
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 :
Signaler un code incorrect
Copier
Demander à l'IA
{% 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.
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.
Variable
Type
Description
template_data
dict
Un dictionnaire contenant le devis, quote.associated_objects, et les dictionnaires totaux.
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.
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 :
Signaler un code incorrect
Copier
Demander à l'IA
{% 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 %}
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é.
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 :
Signaler un code incorrect
Copier
Demander à l'IA
{% 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. #}
É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_2193031Vous 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 :
Signaler un code incorrect
Copier
Demander à l'IA
{% 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 }}