Les devis sont utilisés pour partager des informations tarifaires avec des prospects. Les points de terminaison des devis vous permettent de récupérer ces données et de les synchroniser entre HubSpot et d’autres systèmes.
POST
à /crm/v3/objects/quotes
. Vous devez ensuite effectuer un appel distinct pour associer le devis à d’autres objets, tels que le modèle de devis, les lignes de produit ou une transaction.
Paramètre | Type | Description |
---|---|---|
hs_title | Chaîne | Le nom du devis. |
hs_expiration_date | Chaîne | La date d’expiration du devis. |
GET
à crm/v3/properties/quotes
. Découvrez-en davantage sur l’API des propriétés.
La réponse comprendra un id
, que vous utiliserez pour continuer à configurer le devis. Vous pouvez mettre à jour les propriétés du devis à tout moment en effectuant une requête PATCH
à /crm/v3/objects/quotes/{quoteId}
.
hubspot_owner_id
n’est pas possible car il s’agit d’une propriété calculée et toutes les valeurs seront remplacées. Lors de l’utilisation des devis, la propriété fonctionne comme suit :
hubspot_owner_id
reflétera la propriété hs_associated_deal_owner_id
(hs_associated_deal_owner_id
est une propriété calculée).hubspot_owner_id
reflétera la propriété hs_quote_owner_id
.hs_esign_enabled
dans votre corps de requête avec la valeur true
. Notez que vous ne pourrez pas ajouter de contresignataires via l’API. Ceux-ci devront donc être ajoutés dans HubSpot avant de publier le devis. Vous ne pouvez pas non plus publier de devis avec la signature électronique activée si vous avez dépassé votre limite mensuelle de signatures électroniques.
hs_payment_enabled
dans votre corps de la requête avec la valeur true
. En fonction de votre prestataire de services de paiement et des modes de paiement acceptés, vous devrez également définir hs_payment_type
et hs_allowed_payment_methods
.
Paramètre | Type | Description |
---|---|---|
hs_payment_enabled | Booléen | : lorsque la valeur est défini sur true , l’option permet au devis de collecter le paiement en utilisant les paiements ou le traitement des paiements Stripe. La valeur par défaut est false . |
hs_payment_type | Énumération | : permet de déterminer le prestataire de services de paiement à utiliser. La valeur peut être soit HUBSPOT ou BYO_STRIPE . |
hs_allowed_payment_methods | Énumération | : les modes de paiement à utiliser (par exemple, carte de crédit). |
hs_collect_billing_address | Booléen | : lorsque la valeur est définie sur true , permet à l’acheteur de saisir son adresse de facturation lors du paiement. |
hs_collect_shipping_address | Booléen | : lorsque la valeur est définie sur true , permet à l’acheteur de saisir son adresse de livraison lors du paiement. |
hs_payment_status
et hs_payment_date
:
hs_payment_status
sur PENDING
.hs_payment_status
sur PROCESSING
.hs_payment_status
sur PAID
.hs_payment_date
à la date et à l’heure de confirmation du paiement.Type d’objet | Obligatoire | Description |
---|---|---|
Lignes de produit | Oui | : les biens et/ou services vendus via le devis. Vous pouvez créer des lignes de produits à partir de produits de votre bibliothèque de produits ou créer des lignes de produits autonomes personnalisées. |
Modèle de devis | Oui | : le modèle qui crée le devis et fournit certains de ses paramètres de configuration, tels que la langue. Chaque devis peut être associé à un modèle. |
Transaction | Oui | : la fiche d’informations de transaction pour le suivi des revenus et du cycle de vie des ventes. Un devis hérite des valeurs de la transaction associée, y compris le propriétaire et la devise. Chaque devis peut être associé à une transaction. |
Contact | Non | : les acheteurs spécifiques auxquels vous vous adressez dans le devis. |
Entreprise | Non | : une entreprise spécifique à laquelle vous vous adressez dans le devis. Chaque devis peut être associé à une entreprise. |
Remises, frais et taxes | Non | : l’ensemble des remises, frais et taxes à appliquer au moment du paiement. Pour déterminer le montant total du devis, HubSpot applique d’abord des remises, puis des frais, puis des taxes. Vous pouvez utiliser le champ hs_sort_order pour réorganiser des objets du même type. Peut être défini sur des valeurs fixes ou des pourcentages en définissant hs_type sur FIXED ou PERCENT . |
GET
au point de terminaison de l’objet concerné, qui suivra le même schéma pour chaque objet CRM. Dans chaque requête, vous pouvez également inclure un paramètre de requête properties
pour renvoyer des propriétés spécifiques, si nécessaire. Vous trouverez ci-dessous des exemples de requêtes GET
pour chaque type d’objet.
200
avec des détails pour chaque type d’objet récupéré. Vous utiliserez cette valeur dans le champ id
pour définir des associations à l’étape suivante.
PUT
à l’aide de la structure d’URL ci-dessous :
/crm/v4/objects/quotes/{fromObjectId}/associations/default/{toObjectType}/{toObjectId}
Paramètre | Description |
---|---|
fromObjectId | L’ID du devis. |
toObjectType | Le type d’objet associé. Par exemple : line_items , deals et quote_template . |
toObjectId | L’ID de l’objet auquel vous associez le devis. |
PUT
pour chaque type d’objet.
123456
, les requêtes d’association du devis peuvent inclure les éléments suivants :
55555
, 66666
) :
/crm/v4/objects/quotes/123456/associations/default/line_items/55555
/crm/v4/objects/quotes/123456/associations/default/line_items/66666
987654
) : /crm/v4/objects/quotes/123456/associations/default/quote_template/987654
345345
) : /crm/v4/objects/quotes/123456/associations/default/deals/345345
200
ainsi que des détails sur l’association. Les appels ci-dessus associeront les objets dans les deux directions, chaque direction ayant son propre ID. Par exemple, si vous associez le devis à un modèle de devis, la réponse décrira l’association des deux côtés. Dans l’exemple de réponse ci-dessous, 286
est l’ID du type d’association de devis à modèle de devis, et 285
est l’ID du type d’association de modèle de devis à devis.
CUSTOMIZABLE_QUOTE_TEMPLATE
peut être utilisé.PUT
à l’URL suivante :
/crm/v4/objects/quote/{quoteId}/associations/contact/{contactId}
Dans le corps de la requête, vous devrez spécifier associationCategory
et associationTypeId
, comme indiqué ci-dessous :
associations
afin qu’ils correspondent aux données existantes dans votre CRM. Consultez la section Récupération des identifiants pour les associations pour plus d’informations.POST
/crm/v3/objects/quote
Paramètre | Type | Description |
---|---|---|
properties | Objet | Valeurs des propriétés pour définir les détails du devis. Les propriétés requises sont hs_title et hs_expiration_date :
|
associations | Tableau | Les autres fiches d’informations du CRM et les autres objets associés au devis. Pour qu’un devis puisse être publié, une transaction et un modèle de devis doivent lui être associés. Les lignes de produits associées à un devis doivent être distinctes des lignes de produits associées à la transaction du devis (vous devez créer des copies des lignes de produits). Pour définir chaque association, incluez un objet distinct dans ce tableau avec les champs suivants :
|
PATCH
à /crm/v3/objects/quote/{quoteId}
.
L’état d’un devis est basé sur le champ hs_status
. Certains états de devis permettent aux utilisateurs de modifier, de publier et d’utiliser le devis dans les workflows d’approbation des devis. Vous trouverez ci-dessous les états de devis disponibles.
hs_status
, le devis aura le statut Minimal. Le devis apparaîtra sur la page index de l’outil Devis, mais ne pourra pas être modifié directement. Les devis à cet état peuvent toujours être utilisés dans l’automatisation, tels que l’outil Séquences, et sont également disponibles pour l’analyse dans l’outil Rapports.DRAFT
: permet de modifier le devis dans HubSpot. Cet état peut être utile lorsque le devis n’est pas entièrement configuré ou si vous préférez autoriser les commerciaux à terminer le processus de configuration du devis dans HubSpot.APPROVAL_NOT_NEEDED
: publie le devis à une URL publiquement accessible (hs_quote_link
) sans nécessiter d’être approuvé.PENDING_APPROVAL
: indique que le devis est en attente d’approbation avant de pouvoir être publié.APPROVED
: le devis a été approuvé et est maintenant publié à une URL publiquement accessible (hs_quote_link
).REJECTED
: indique que le devis a été configuré, mais qu’il n’a pas été approuvé pour publication et qu’il doit être modifié avant de pouvoir être soumis à nouveau pour approbation.hs_template_type
du devis sur CUSTOMIZABLE_QUOTE_TEMPLATE
après avoir mis à jour l’état du devis. Ce type de modèle est pris en charge par l’API v3, tandis que les types de modèles suivants sont des modèles hérités qui ne sont plus pris en charge :QUOTE
PROPOSAL
hs_quote_amount
: calculé sur la base des lignes de produits, taxes, remises et frais associés.hs_domain
: défini à partir du modèle de devis associé.hs_slug
: généré aléatoirement si pas fourni explicitement.hs_quote_total_preference
: défini en fonction des paramètres de votre compte. Si vous n’avez pas configuré ce paramètre, la valeur du champ total_first_payment s’affiche par défaut.hs_timezone
: par défaut, le fuseau horaire de votre compte HubSpot.hs_locale
: défini à partir du modèle de devis associé.hs_quote_number
: défini en fonction de la date et de l’heure actuelles, à moins qu’une date ne soit fournie.hs_language
: défini à partir du modèle de devis associé.hs_currency
: défini en fonction de la transaction associée. Si vous n’avez pas associé une transaction à la proposition, celle-ci sera réglée par défaut sur la devise par défaut de votre compte HubSpot.hs_pdf_download_link
: rempli avec une URL d’un PDF pour le devis.hs_locked
: permet de définir sur la valeur true
. Pour modifier des propriétés après avoir publié un devis, vous devez tout d’abord mettre à jour le hs_status
du devis pour le ramener sur DRAFT
, PENDING_APPROVAL
ou REJECTED
.hs_quote_link
: l’URL du devis accessible au public. Il s’agit d’une propriété en lecture seule qui ne peut pas être définie via l’API après publication.hs_esign_num_signers_required
: si vous avez activé les signatures électroniques, affiche le nombre de signatures requises.hs_payment_status
: statut de la collecte des paiements, si vous avez activé les paiements. Lors de la publication avec les paiements activés, cette propriété sera définie sur EN ATTENTE. Une fois que l’acheteur a effectué le paiement via le devis, le statut sera automatiquement mis à jour en conséquence. En savoir plus sur l’activation des paiements.GET
à /crm/v3/objects/quotes/{quoteID}
.GET
à /crm/v3/objects/quotes
.Paramètre | Description |
---|---|
properties | Une liste séparée par des virgules des propriétés à renvoyer dans la réponse. Si le contact du devis demandé n’a pas de valeur pour une propriété, il n’apparaîtra pas dans la réponse. |
propertiesWithHistory | Une liste séparée par des virgules des propriétés actuelles et historiques à renvoyer dans la réponse. Si le devis demandé n’a pas de valeur pour une propriété, il n’apparaîtra pas dans la réponse. |
associations | Une liste séparée par des virgules des objets pour lesquels récupérer les ID associés. Les associations spécifiées qui n’existent pas ne seront pas renvoyées dans la réponse. Découvrez-en davantage sur l’API des associations. |
POST
à crm/v3/objects/quotes/batch/read
et incluez les ID dans le corps de la requête. Vous pouvez également inclure un tableau de properties
pour indiquer les propriétés à renvoyer. Le point de terminaison du lot ne peut pas récupérer les associations. Découvrez comment lire par lots les associations avec l’API des associations.
crm.objects.quotes.write
, crm.objects.quotes.read
, crm.objects.line_items.write
, crm.objects.line_items.read
, crm.objects.owners.read
, crm.objects.contacts.write
, crm.objects.contacts.read
, crm.objects.deals.write
, crm.objects.deals.read
, crm.objects.companies.write
, crm.objects.companies.read
crm.schemas.quote.read
, crm.schemas.line_items.read
, crm.schemas.contacts.read
, crm.schemas.deals.read
, crm.schemas.companies.read