Tarification de Sales CRM : POST /api/sn_csm_pricing/{api_version}/pricingengine/computePrice
Permet aux appelants de calculer le prix des produits spécifiés dans la charge utile de la demande. Les paramètres de tarification inclus dans la charge utile déterminent et contrôlent le flux d’exécution du moteur de tarification, par exemple, s’il faut appliquer des validations, des ajustements ou des reprises.
Format d'URL
URL avec version : /api/sn_csm_pricing/{api_version}/pricingengine/computePrice
URL par défaut :
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| Néant |
| Nom | Description |
|---|---|
| Néant |
| Nom | Description |
|---|---|
| header | Requis. Contient des détails au niveau de la transaction, des éléments de ligne, la devise, la liste de prix et la date de transaction. Type de données : objet |
| header.source_system | Requis. Système à l’origine de la demande. Type de données : chaîne Exemple : |
| header.requesting_record_id | Requis. Identificateur unique de cette demande. Type de données : chaîne Exemple : |
| en-tête.devise | Requis. Code de devise pour la tarification. Prend en charge uniquement les devises ServiceNow. Type de données : chaîne Exemple : |
| header.transaction_date | Requis. Date et heure de la transaction. Format : Format : valeur glide_date_time, telle que Type de données : date/heure Exemple : |
| en-tête.liste de prix | Requis. L’ID de liste de prix par défaut à utiliser pour la transaction. Type de données : chaîne Exemple : |
| header.lineItems | Requis. Tableau d’objets de ligne détaillant les produits, les quantités et les informations de prix. |
| header.lineItems[] .line_id | Requis. Identificateur unique de cet élément de ligne. Type de données : chaîne Exemple : |
| header.lineItems[].pricelist | Requis. ID de liste de prix pour cet élément de ligne. Type de données : chaîne Exemple : |
| header.lineItems[] .product_offering | Requis. ID de l’offre de produits pour cet élément de ligne. Type de données : chaîne Exemple : |
| en-tête.élémentslignes[].périodicité | Identifie la fréquence. Les valeurs possibles sont mensuelles, annuelles ou nulles/non définies.Type de données : chaîne Exemple : |
| header.lineItems[].quantité | Requis. Quantité du produit. Type de données : chaîne Exemple : |
| header.lineItems[] .unit_of_measure | Requis. ID de l’unité de mesure. Type de données : chaîne Exemple : |
| header.lineItems[] .transaction_date | Requis. Date de la transaction spécifique à cet élément de ligne. Format : valeur glide_date_time Type de données : date/heure Exemple : |
| header.lineItems[] .account_tier | Niveau de compte facultatif (par exemple, « or ») pour la logique de tarification. Si account_tier est une variable de contexte utilisée dans les matrices de règles. Type de données : chaîne |
| header.lineItems[].selected | Indique si l’élément de ligne est sélectionné dans un scénario de configurateur. Applicable uniquement aux lignes enfants du groupe. Type de données : booléennes Exemple : |
| header.lineItems[] .top_product_offer | Identificateur du produit de niveau supérieur dans un ensemble de configuration. Type de données : chaîne Exemple : |
| header.lineItems[] .parent_product_offer | Identificateur du produit parent dans un élément de ligne de groupe. Type de données : chaîne Exemple : |
| paramètres | Requis. Contient les paramètres et les options du moteur de tarification. Type de données : objet |
| settings.pricing_elements | Requis. Liste d’éléments séparés par des virgules à renvoyer. Type de données : chaîne Exemple : |
| settings.disable_validation | Indique s’il faut désactiver les contrôles de validation sur la demande. Type de données : booléennes Exemple : |
| settings.config_lines_expanded | Indique si toutes les lignes du lot sont envoyées sur la demande. En ce moment, pour le configurateur, nous nous attendons à ce que toutes les lignes soient envoyées pour chaque appel de tarification provenant du configurateur. Type de données : booléennes Exemple : |
| Paramètres.Périmètre | Périmètre de la tarification. Type de données : chaîne Exemple : |
| settings.config_top_line_identifier | ID de ligne du produit de niveau supérieur dans la configuration. Type de données : chaîne Exemple : |
| settings.use_external_code | Indique si le système effectue une recherche de code externe. Type de données : booléennes Exemple : |
En-têtes
Les en-têtes de demande et de réponse suivants s’appliquent uniquement à cette action HTTP ou s’appliquent à cette action d’une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Néant |
Codes d'état
Les codes d’état suivants s’appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été traitée avec succès. |
Paramètres du corps de la réponse (JSON ou XML)
| Nom | Description |
|---|---|
| en-tête.devise | Code de devise utilisé dans la réponse de tarification. Similaire à celui envoyé dans la demande. Type de données : chaîne Exemple : |
| en-tête.livre de coûts | Identificateur du livre de coûts utilisé pour la tarification. Type de données : chaîne (Sys_id) |
| header.lineItems | Contient les détails de tarification pour chaque élément de ligne. Type de données : tableau<Object> |
| header.lineItems[] .line_id | Identificateur de l’élément de ligne. Type de données : chaîne Exemple : |
| header.lineItems[].status | État du calcul du prix de l’élément de ligne. Options valides :
Type de données : chaîne Exemple : |
| header.lineItems[] .base_price | Prix de base avant ajustements. Type de données : objet |
| header.lineItems[] .list_price | Prix catalogue qui est le prix de base et les ajustements d’attribut inclus. Type de données : objet |
| header.lineItems[].pricelist | Référence de la liste de prix. Type de données : chaîne (Sys_id) |
| header.lineItems[].quantité | Quantité envoyée dans le cadre de la demande. Type de données : chaîne Exemple : |
| header.lineItems[] .price_list_line | Référence de la ligne de liste des prix. Type de données : chaîne (Sys_id) Exemple : |
| header.lineItems[] .product_offering | Référence de l’offre de produits. Type de données : chaîne (Sys_id) Exemple : |
| header.lineItems[] .one_time_price | Prix unique pour le produit, prix net unitaire * quantité. Type de données : objet |
| header.lineItems[] .monthly_recurring_price | Prix récurrent mensuel pour le produit, toutes les quantités comprises. Type de données : objet |
| header.lineItems[] .annual_recurring_price | Prix récurrent annuel du produit, toutes quantités comprises. Type de données : objet |
| header.lineItems[] .unit_net_price | Prix net unitaire après ajustements automatiques. Type de données : objet |
| header.lineItems[] .cumulative_net_price | [Prix ponctuel + (prix récurrent mensuel * terme)] + (si ligne parente) somme de tous les CNP pour les lignes enfants immédiates et petites-enfants Type de données : objet |
| header.lineItems[] .cumulative_one_time_price | Pour l’enfant : prix ponctuel pour l’élément de ligne. Pour l’élément de ligne parent : prix ponctuel pour l’élément de ligne + prix ponctuel pour tous les éléments de ligne enfant et petit-enfant. Type de données : objet |
| header.lineItems[] .cumulative_monthly_recurring_price | Si méthode de tarification = récurrent. Prix récurrent mensuel pour la ligne + (si ligne parente) somme de tous les prix récurrents mensuels des lignes enfants. Type de données : objet |
| header.lineItems[] .cumulative_annual_recurring_price | Si méthode de tarification = récurrent. Prix récurrent mensuel cumulé * 12. Type de données : objet |
| header.lineItems[] .unit_adjustment | Ajustement des prix appliqué par unité. Type de données : objet |
| header.lineItems[] .term_month | Durée du terme en mois. Type de données : objet |
| header.lineItems[].cost | Coût unitaire du produit. Type de données : objet |
| header.lineItems[] .unit_margin_amount | Montant de la marge bénéficiaire par unité. Type de données : objet |
| header.lineItems[] .unit_margin_percentage | Pourcentage de marge bénéficiaire par unité. Type de données : objet |
| header.lineItems[] .one_time_cost | Coût ponctuel pour le produit, toutes les quantités comprises. Type de données : objet |
| header.lineItems[] .monthly_recurring_cost | Coût récurrent mensuel pour le produit, toutes les quantités comprises. Type de données : objet |
| header.lineItems[] .cumulative_one_time_cost | Pour l’enfant : coût ponctuel pour l’élément de ligne. Pour l’élément de ligne parent : coût ponctuel pour l’élément de ligne + coût ponctuel pour tous les éléments de ligne enfant et petit-enfant. Type de données : objet |
| header.lineItems[] .cumulative_monthly_recurring_cost | Si méthode de tarification = récurrent. Coût récurrent mensuel pour la ligne + (si ligne parente) somme de tous les coûts récurrents mensuels des lignes enfants. Type de données : objet |
| header.lineItems[] .cumulative_net_cost | [Coût ponctuel + (Coût récurrent mensuel * Terme)] + (si ligne parente) somme de toutes les lignes CNC pour les lignes enfants immédiates et petites-enfants Type de données : objet |
| header.lineItems[] .cumulative_margin_percentage | Pourcentage de marge globale. Type de données : objet |
| en-tête.statut | État de la demande de tarification globale. Les options valides sont les suivantes :
Type de données : chaîne Exemple : |
| header.total_monthly_recurring_price | Prix récurrent mensuel agrégé. Type de données : objet |
| header.total_annual_recurring_price | Prix récurrent annuel agrégé. Type de données : objet |
| header.total_amount | Montant total de la transaction. Type de données : objet |
| header.total_one_time_price | Prix unique agrégé. Type de données : objet |
| header.total_one_time_cost | Coût ponctuel agrégé. Type de données : objet |
| header.total_monthly_cost | Coût mensuel agrégé. Type de données : objet |
| header.total_cost | Coût total (ponctuel + récurrent). Type de données : objet |
| header.total_one_time_margin | Marge totale provenant de frais non récurrents. Type de données : objet |
| header.total_monthly_margin | Marge totale des frais mensuels. Type de données : objet |
| header.total_margin_amount | Montant total de la marge bénéficiaire. Type de données : objet |
| header.total_one_time_margin_percentage | Pourcentage de marge pour les frais non récurrents. Type de données : objet |
| header.total_monthly_margin_percentage | Pourcentage de marge pour les frais mensuels. Type de données : objet |
| header.total_margin_percentage | Pourcentage de marge globale. Type de données : objet |
| settings.pricing_elements | Éléments inclus dans la réponse de tarification (PRIX, COÛT, NET_PRICE, etc.). Type de données : chaîne |
| settings.pricing_context_id | Identificateur de la session de tarification lorsque le périmètre est configurateur. Type de données : chaîne |
Exemple d’utilisation
- Calcul d’un prix pour un seul produit
- Calculer les prix de plusieurs produits avec des déploiements d’en-tête
- Lancer une session de configuration de produit
- Mettre à jour une configuration de produit (modifier une option de caractéristique)
Calculer le prix d’un seul produit
Cet exemple illustre un calcul de prix de base pour une offre de produit unique. L’API est appelée avec un élément de ligne et la demande spécifie que les valeurs PRIX, COÛT, NET_PRICE, LINE_ROLLUPS HEADER_ROLLUPS et AJUSTEMENTS doivent être calculées et renvoyées. Il s’agit d’une demande fondamentale permettant d’obtenir le prix d’un article individuel sans configurations ni ajustements complexes.
Exemple : demande cURL.
curl "https://instance.servicenow.com/api/sn_csm_pricing/v1/pricingengine/computePrice" \
--request POST \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"header": {
"source_system": "ServiceNow Headless API",
"requesting_record_id": "QT0001101",
"currency": "USD",
"lineItems": [
{
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "db61dd9fd0a63110f8770dbf976be19c",
"periodicity" : "",
"quantity": "1",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2023-12-18 23:37:11",
"line_id": "CONNECTEDC1100"
}
],
"pricelist": "19d29513d0e63110f8770dbf976be122",
"transaction_date": "2023-12-18 23:37:11"
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS",
"disable_validation": true
}
}' \
--user 'username:password'
{
"result": {
"header": {
"currency": "USD",
"lineItems": [
{
"line_id": "CONNECTEDC1100",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"list_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "",
"price_list_line": "3e93e785d07a7910f8770dbf976be1ee",
"product_offering": "db61dd9fd0a63110f8770dbf976be19c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
}
],
"status": "Success",
"total_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_amount_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_margin": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_margin_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
}
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS"
}
}
}
Calculer les prix de plusieurs produits avec des déploiements d’en-tête
Cet exemple montre comment envoyer une liste de plusieurs produits distincts à tarifer en une seule transaction. Une différence clé dans cette demande est l’inclusion de l’envoi de plusieurs produits dans la même demande. Cela indique au moteur de tarification de calculer le prix individuel pour chaque élément de ligne, et de calculer et renvoyer les totaux agrégés pour l’ensemble de la demande.
Exemple : demande cURL.
curl "https://instance.servicenow.com/api/sn_csm_pricing/v1/pricingengine/computePrice" \
--request POST \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"header": {
"source_system": "Test Source System",
"requesting_record_id": "QT0001101",
"currency": "USD",
"lineItems": [
{
"top_product_offer": "db61dd9fd0a63110f8770dbf976be19c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "db61dd9fd0a63110f8770dbf976be19c",
"periodicity" : "",
"quantity": "1",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2023-12-18 23:37:11",
"line_id": "CONNECTEDC1000"
},
{
"top_product_offer": "9b61dd9fd0a63110f8770dbf976be1c6",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "9b61dd9fd0a63110f8770dbf976be1c6",
"periodicity" : "annually",
"quantity": "1",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2023-12-18 23:37:11",
"line_id": "AUTOCOLLIS1001"
},
{
"top_product_offer": "9361dd9fd0a63110f8770dbf976be1c4",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "9361dd9fd0a63110f8770dbf976be1c4",
"periodicity" : "annually",
"quantity": "1",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2023-12-18 23:37:11",
"line_id": "WIFIHOTSPOT1002"
}
],
"pricelist": "19d29513d0e63110f8770dbf976be122",
"transaction_date": "2023-12-18 23:37:11"
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS",
"disable_validation": true
}
}' \
--user 'username:password'
{
"result": {
"header": {
"currency": "USD",
"lineItems": [
{
"line_id": "CONNECTEDC1000",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"list_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "3e93e785d07a7910f8770dbf976be1ee",
"product_offering": "db61dd9fd0a63110f8770dbf976be19c",
"top_product_offer": "db61dd9fd0a63110f8770dbf976be19c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
},
{
"line_id": "AUTOCOLLIS1001",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"list_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "4dc32f85d07a7910f8770dbf976be197",
"product_offering": "9b61dd9fd0a63110f8770dbf976be1c6",
"top_product_offer": "9b61dd9fd0a63110f8770dbf976be1c6",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "20.8333",
"displayValue": "$20.8333"
},
"annual_recurring_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"unit_net_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "20.8333",
"displayValue": "$20.8333"
},
"cumulative_annual_recurring_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "250.0000",
"displayValue": "$250.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_recurring_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
},
{
"line_id": "WIFIHOTSPOT1002",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"list_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "3ff3ef85d07a7910f8770dbf976be1ea",
"product_offering": "9361dd9fd0a63110f8770dbf976be1c4",
"top_product_offer": "9361dd9fd0a63110f8770dbf976be1c4",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "8.3333",
"displayValue": "$8.3333"
},
"annual_recurring_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"unit_net_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "8.3333",
"displayValue": "$8.3333"
},
"cumulative_annual_recurring_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "100.0000",
"displayValue": "$100.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_recurring_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
}
],
"status": "Success",
"total_monthly_recurring_price": {
"value": "29.1666",
"displayValue": "$29.1666"
},
"total_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_annual_recurring_price": {
"value": "350.0000",
"displayValue": "$350.00"
},
"total_annual_recurring_price_v1": {
"value": "350.0000",
"displayValue": "$350.00"
},
"total_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_amount_v1": {
"value": "350.0000",
"displayValue": "$350.00"
},
"total_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_margin": {
"value": "29.1666",
"displayValue": "$29.1666"
},
"total_margin_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
},
"total_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
}
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS"
}
}
}
Lancer une session de configuration de produit
Cet exemple montre comment démarrer une session de configuration de produit avec état. Ceci est utilisé pour les produits complexes qui sont vendus en lot avec plusieurs composants et options sélectionnables par l’utilisateur. En définissant le champ d’application sur « configurateur », nous indiquons au moteur de tarification de créer une session persistante. Le moteur traite toute la hiérarchie des produits, calcule les prix initiaux et renvoie un pricing_context_id unique.
pricing_context_id unique doit être capturé et envoyé dans toutes les demandes ultérieures pour cette configuration (par exemple, lors du changement d’une quantité ou de la sélection d’une option) pour maintenir l’état de la session.Exemple : demande cURL.
curl "https://instance.servicenow.com/api/sn_csm_pricing/v1/pricingengine/computePrice" \
--request POST \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"header": {
"source_system": "ServiceNow Headless API",
"requesting_record_id": "QT0001101",
"currency": "USD",
"lineItems": [
{
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "26d07c3211707110f877366201dea60c",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"periodicity" : "",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "HOMEAUTOMA2000"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "fe5d203e11307110f877366201dea631",
"periodicity" : "",
"quantity": "3",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "DOORSENSOR1001"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "3f6111dfd0a63110f8770dbf976be149",
"periodicity" : "",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"characteristics": [
{
"characteristic": "4f31999fd0a63110f8770dbf976be178",
"characteristic_option": "0b31999fd0a63110f8770dbf976be179"
}
],
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "HOMEAUTOMA1002"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "376111dfd0a63110f8770dbf976be140",
"periodicity" : "monthly",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "BASICMONIT1003"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "e2619d9fd0a63110f8770dbf976be1ec",
"periodicity" : "monthly",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "PREMMONIT2004"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "3b6111dfd0a63110f8770dbf976be147",
"periodicity" : "monthly",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "ULTIMONIT1005"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "1761dd9fd0a63110f8770dbf976be196",
"periodicity" : "",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "INDOORCAM1006"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "6f6111dfd0a63110f8770dbf976be100",
"periodicity" : "",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "OUTCAMERA1007"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "1b20347e11307110f877366201dea67f",
"periodicity" : "",
"quantity": "3",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "WINSENSOR1008"
}
],
"pricelist": "19d29513d0e63110f8770dbf976be122",
"transaction_date": "2023-12-18 23:37:11"
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS",
"disable_validation": true,
"scope": "configurator",
"config_top_line_identifier": "HOMEAUTOMA2000",
"config_lines_expanded": false
}
}' \
--user 'username:password'
Exemple de réponse :
Le résultat suivant montre que l’état de la demande est réussi.
{
"result": {
"header": {
"currency": "USD",
"lineItems": [
{
"line_id": "HOMEAUTOMA2000",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"list_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "d6792b8dd07a7910f8770dbf976be1f8",
"product_offering": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_price": {
"value": "200.0000",
"displayValue": "$200.00"
},
"cumulative_one_time_price": {
"value": "200.0000",
"displayValue": "$200.00"
},
"cumulative_monthly_recurring_price": {
"value": "105.0000",
"displayValue": "$105.00"
},
"cumulative_annual_recurring_price": {
"value": "1260.0000",
"displayValue": "$1,260.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "105.0000",
"displayValue": "$105.00"
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
},
{
"line_id": "DOORSENSOR1001",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "10.0000",
"displayValue": "$10.00"
},
"list_price": {
"value": "10.0000",
"displayValue": "$10.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "3",
"price_list_line": "2ec2a745d07a7910f8770dbf976be159",
"product_offering": "fe5d203e11307110f877366201dea631",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "24.0000",
"displayValue": "$24.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "8.0000",
"displayValue": "$8.00"
},
"cumulative_net_price": {
"value": "24.0000",
"displayValue": "$24.00"
},
"cumulative_one_time_price": {
"value": "24.0000",
"displayValue": "$24.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-2.0000",
"displayValue": "($2.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -2.0,
"displayValue": "($2.00)"
},
"adjustment_amount_total": {
"value": -6.0,
"displayValue": "($6.00)"
},
"adjustment_description": {
"displayValue": "door sensor bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 8.0,
"displayValue": "$8.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -6.0,
"displayValue": "($6.00)"
}
]
},
{
"line_id": "HOMEAUTOMA1002",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"list_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "fe912705d07a7910f8770dbf976be147",
"product_offering": "3f6111dfd0a63110f8770dbf976be149",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "80.0000",
"displayValue": "$80.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "80.0000",
"displayValue": "$80.00"
},
"cumulative_net_price": {
"value": "80.0000",
"displayValue": "$80.00"
},
"cumulative_one_time_price": {
"value": "80.0000",
"displayValue": "$80.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-20.0000",
"displayValue": "($20.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -20.0,
"displayValue": "($20.00)"
},
"adjustment_amount_total": {
"value": -20.0,
"displayValue": "($20.00)"
},
"adjustment_description": {
"displayValue": "home automation hub bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 80.0,
"displayValue": "$80.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -20.0,
"displayValue": "($20.00)"
}
]
},
{
"line_id": "BASICMONIT1003",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "30.0000",
"displayValue": "$30.00"
},
"list_price": {
"value": "30.0000",
"displayValue": "$30.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "bc53e785d07a7910f8770dbf976be1e7",
"product_offering": "376111dfd0a63110f8770dbf976be140",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "25.0000",
"displayValue": "$25.00"
},
"annual_recurring_price": {
"value": "300.0000",
"displayValue": "$300.00"
},
"unit_net_price": {
"value": "25.0000",
"displayValue": "$25.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "25.0000",
"displayValue": "$25.00"
},
"cumulative_annual_recurring_price": {
"value": "300.0000",
"displayValue": "$300.00"
},
"unit_adjustment": {
"value": "-5.0000",
"displayValue": "($5.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": "25.0000",
"displayValue": "$25.00"
},
"total_recurring_price": {
"value": "25.0000",
"displayValue": "$25.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "6e1c03d653dd91105c0eddeeff7b1232",
"displayValue": "MARKDOWN_AMT"
},
"adjustment_value": {
"value": 5.0,
"displayValue": "5"
},
"adjustment_amount": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_amount_total": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_description": {
"displayValue": "basic monitoring bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 25.0,
"displayValue": "$25.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -5.0,
"displayValue": "($5.00)"
}
]
},
{
"line_id": "PREMMONIT2004",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "40.0000",
"displayValue": "$40.00"
},
"list_price": {
"value": "40.0000",
"displayValue": "$40.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "a663a785d07a7910f8770dbf976be115",
"product_offering": "e2619d9fd0a63110f8770dbf976be1ec",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"annual_recurring_price": {
"value": "420.0000",
"displayValue": "$420.00"
},
"unit_net_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"cumulative_annual_recurring_price": {
"value": "420.0000",
"displayValue": "$420.00"
},
"unit_adjustment": {
"value": "-5.0000",
"displayValue": "($5.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": "35.0000",
"displayValue": "$35.00"
},
"total_recurring_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "6e1c03d653dd91105c0eddeeff7b1232",
"displayValue": "MARKDOWN_AMT"
},
"adjustment_value": {
"value": 5.0,
"displayValue": "5"
},
"adjustment_amount": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_amount_total": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_description": {
"displayValue": "premium monitoring bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 35.0,
"displayValue": "$35.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -5.0,
"displayValue": "($5.00)"
}
]
},
{
"line_id": "ULTIMONIT1005",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "50.0000",
"displayValue": "$50.00"
},
"list_price": {
"value": "50.0000",
"displayValue": "$50.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "72736f85d07a7910f8770dbf976be162",
"product_offering": "3b6111dfd0a63110f8770dbf976be147",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "45.0000",
"displayValue": "$45.00"
},
"annual_recurring_price": {
"value": "540.0000",
"displayValue": "$540.00"
},
"unit_net_price": {
"value": "45.0000",
"displayValue": "$45.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "45.0000",
"displayValue": "$45.00"
},
"cumulative_annual_recurring_price": {
"value": "540.0000",
"displayValue": "$540.00"
},
"unit_adjustment": {
"value": "-5.0000",
"displayValue": "($5.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": "45.0000",
"displayValue": "$45.00"
},
"total_recurring_price": {
"value": "45.0000",
"displayValue": "$45.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "6e1c03d653dd91105c0eddeeff7b1232",
"displayValue": "MARKDOWN_AMT"
},
"adjustment_value": {
"value": 5.0,
"displayValue": "5"
},
"adjustment_amount": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_amount_total": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_description": {
"displayValue": "ultimate monitoring bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 45.0,
"displayValue": "$45.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -5.0,
"displayValue": "($5.00)"
}
]
},
{
"line_id": "INDOORCAM1006",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"list_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "81332f45d07a7910f8770dbf976be14e",
"product_offering": "1761dd9fd0a63110f8770dbf976be196",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "28.0000",
"displayValue": "$28.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "28.0000",
"displayValue": "$28.00"
},
"cumulative_net_price": {
"value": "28.0000",
"displayValue": "$28.00"
},
"cumulative_one_time_price": {
"value": "28.0000",
"displayValue": "$28.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-7.0000",
"displayValue": "($7.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -7.0,
"displayValue": "($7.00)"
},
"adjustment_amount_total": {
"value": -7.0,
"displayValue": "($7.00)"
},
"adjustment_description": {
"displayValue": "indoor camera bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 28.0,
"displayValue": "$28.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -7.0,
"displayValue": "($7.00)"
}
]
},
{
"line_id": "OUTCAMERA1007",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "40.0000",
"displayValue": "$40.00"
},
"list_price": {
"value": "40.0000",
"displayValue": "$40.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "9a136f45d07a7910f8770dbf976be1b4",
"product_offering": "6f6111dfd0a63110f8770dbf976be100",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "32.0000",
"displayValue": "$32.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "32.0000",
"displayValue": "$32.00"
},
"cumulative_net_price": {
"value": "32.0000",
"displayValue": "$32.00"
},
"cumulative_one_time_price": {
"value": "32.0000",
"displayValue": "$32.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-8.0000",
"displayValue": "($8.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -8.0,
"displayValue": "($8.00)"
},
"adjustment_amount_total": {
"value": -8.0,
"displayValue": "($8.00)"
},
"adjustment_description": {
"displayValue": "outdoor camera bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 32.0,
"displayValue": "$32.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -8.0,
"displayValue": "($8.00)"
}
]
},
{
"line_id": "WINSENSOR1008",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "15.0000",
"displayValue": "$15.00"
},
"list_price": {
"value": "15.0000",
"displayValue": "$15.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "3",
"price_list_line": "91f26b45d07a7910f8770dbf976be19b",
"product_offering": "1b20347e11307110f877366201dea67f",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "36.0000",
"displayValue": "$36.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "12.0000",
"displayValue": "$12.00"
},
"cumulative_net_price": {
"value": "36.0000",
"displayValue": "$36.00"
},
"cumulative_one_time_price": {
"value": "36.0000",
"displayValue": "$36.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-3.0000",
"displayValue": "($3.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -3.0,
"displayValue": "($3.00)"
},
"adjustment_amount_total": {
"value": -9.0,
"displayValue": "($9.00)"
},
"adjustment_description": {
"displayValue": "window sensor bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 12.0,
"displayValue": "$12.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -9.0,
"displayValue": "($9.00)"
}
]
}
],
"status": "Success",
"total_monthly_recurring_price": {
"value": "105.0000",
"displayValue": "$105.00"
},
"total_monthly_recurring_price_v1": {
"value": "105.0000",
"displayValue": "$105.00"
},
"total_annual_recurring_price": {
"value": "1260.0000",
"displayValue": "$1,260.00"
},
"total_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_amount": {
"value": "200.0000",
"displayValue": "$200.00"
},
"total_amount_v1": {
"value": "305.0000",
"displayValue": "$305.00"
},
"total_one_time_price": {
"value": "200.0000",
"displayValue": "$200.00"
},
"total_one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin": {
"value": "200.0000",
"displayValue": "$200.00"
},
"total_monthly_margin": {
"value": "105.0000",
"displayValue": "$105.00"
},
"total_margin_amount": {
"value": "200.0000",
"displayValue": "$200.00"
},
"total_one_time_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
},
"total_monthly_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
},
"total_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
}
},
"settings": {
"pricing_context_id": "7049E245A667EABB226B16A2190FB92E",
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS"
}
}
}
Mettre à jour une configuration de produit (modifier une option de caractéristique)
Cet exemple montre comment mettre à jour une session de configuration de produit active en modifiant une option sélectionnable par l’utilisateur (caractéristique). Il s’agit d’une action courante dans un configurateur de produit, comme la modification d’une couleur, d’une taille ou d’une fonctionnalité.
Prérequis : vous devez inclure les pricing_context_id renvoyées lors du lancement d’une session de configuration de produit. Cela indique au moteur de tarification quelle session mettre à jour.
Remarque : Le tableau lineItems doit uniquement contenir l’élément spécifique en cours de modification. Il n’est pas nécessaire d’envoyer à nouveau toute la hiérarchie de produits.
Exemple : demande cURL.
curl "https://instance.servicenow.com/api/sn_csm_pricing/v1/pricingengine/computePrice" \
--request POST \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"header": {
"source_system": "ServiceNow Headless API",
"requesting_record_id": "QT0001101",
"currency": "USD",
"lineItems": [
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "3f6111dfd0a63110f8770dbf976be149",
"periodicity": "",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"characteristics": [
{
"characteristic": "4f31999fd0a63110f8770dbf976be178",
"characteristic_option": "8331999fd0a63110f8770dbf976be179"
}
],
"transaction_date": "2025-08-28 22:46:39",
"selected": true,
"line_id": "HOMEAUTOMA1002"
}
],
"pricelist": "19d29513d0e63110f8770dbf976be122",
"transaction_date": "2023-12-18 23:37:11"
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS",
"pricing_context_id": "7049E245A667EABB226B16A2190FB92E",
"disable_validation": true,
"scope": "configurator",
"config_top_line_identifier": "HOMEAUTOMA2000",
"config_lines_expanded": false
}
}' \
--user 'username:password'
{
"result": {
"header": {
"currency": "USD",
"lineItems": [
{
"line_id": "HOMEAUTOMA1002",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"list_price": {
"value": "120.0000",
"displayValue": "$120.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "fe912705d07a7910f8770dbf976be147",
"product_offering": "3f6111dfd0a63110f8770dbf976be149",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "96.0000",
"displayValue": "$96.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "96.0000",
"displayValue": "$96.00"
},
"cumulative_net_price": {
"value": "96.0000",
"displayValue": "$96.00"
},
"cumulative_one_time_price": {
"value": "96.0000",
"displayValue": "$96.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-24.0000",
"displayValue": "($24.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "d88bc79653dd91105c0eddeeff7b12c1",
"displayValue": "MARKUP_AMT"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "$20.00"
},
"adjustment_amount": {
"value": 20.0,
"displayValue": "$20.00"
},
"adjustment_amount_total": {
"value": 20.0,
"displayValue": "$20.00"
},
"adjustment_description": {
"displayValue": "Attribute Adjustments"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": null
},
"adjustment_basis": {
"value": null
},
"price_point": {
"value": "list_price"
},
"pricing_plan_step": {
"value": "8bb61272ffe722101fb14ad013cb149d"
},
"running_price": {
"value": 120.0,
"displayValue": "$120.00"
}
},
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -24.0,
"displayValue": "($24.00)"
},
"adjustment_amount_total": {
"value": -24.0,
"displayValue": "($24.00)"
},
"adjustment_description": {
"displayValue": "home automation hub bundle discount"
},
"adjustment_sequence_id": {
"value": 2.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 96.0,
"displayValue": "$96.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "list_price",
"value": 20.0,
"displayValue": "$20.00"
},
{
"pricePoint": "net_price",
"value": -24.0,
"displayValue": "($24.00)"
}
]
},
{
"line_id": "HOMEAUTOMA2000",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"list_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "d6792b8dd07a7910f8770dbf976be1f8",
"product_offering": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_price": {
"value": "216.0000",
"displayValue": "$216.00"
},
"cumulative_one_time_price": {
"value": "216.0000",
"displayValue": "$216.00"
},
"cumulative_monthly_recurring_price": {
"value": "105.0000",
"displayValue": "$105.00"
},
"cumulative_annual_recurring_price": {
"value": "1260.0000",
"displayValue": "$1,260.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "105.0000",
"displayValue": "$105.00"
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
}
],
"status": "Success",
"total_monthly_recurring_price": {
"value": "105.0000",
"displayValue": "$105.00"
},
"total_monthly_recurring_price_v1": {
"value": "105.0000",
"displayValue": "$105.00"
},
"total_annual_recurring_price": {
"value": "1260.0000",
"displayValue": "$1,260.00"
},
"total_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_amount": {
"value": "216.0000",
"displayValue": "$216.00"
},
"total_amount_v1": {
"value": "321.0000",
"displayValue": "$321.00"
},
"total_one_time_price": {
"value": "216.0000",
"displayValue": "$216.00"
},
"total_one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin": {
"value": "216.0000",
"displayValue": "$216.00"
},
"total_monthly_margin": {
"value": "105.0000",
"displayValue": "$105.00"
},
"total_margin_amount": {
"value": "216.0000",
"displayValue": "$216.00"
},
"total_one_time_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
},
"total_monthly_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
},
"total_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
}
},
"settings": {
"pricing_context_id": "7049E245A667EABB226B16A2190FB92E",
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS"
}
}
}
Mettre à jour une configuration de produit (désélectionner un produit)
Cet exemple montre comment mettre à jour une configuration de produit active en désélectionnant ou en supprimant un produit de l’ensemble. Pour ce faire, envoyez une demande pour l’élément de ligne spécifique avec le marqueur sélectionné défini sur faux.
Tout comme dans le cas d’utilisation précédent, cette demande doit inclure la pricing_context_id correcte pour garantir que le changement est appliqué à la session correcte. Le moteur de tarification recalculera alors tous les prix de l’ensemble du lot avec cet article supprimé, ce qui peut affecter les remises et les déploiements globaux.
Prérequis : vous devez inclure les pricing_context_id renvoyées lors du lancement d’une session de configuration de produit. Cela indique au moteur de tarification quelle session mettre à jour.
Remarque : Le tableau lineItems doit uniquement contenir l’élément spécifique en cours de modification. Il n’est pas nécessaire d’envoyer à nouveau toute la hiérarchie de produits.
Exemple : demande cURL.
curl "https://instance.servicenow.com/api/sn_csm_pricing/v1/pricingengine/computePrice" \
--request POST \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"header": {
"source_system": "ServiceNow Headless API",
"requesting_record_id": "QT0001101",
"currency": "USD",
"lineItems": [
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "3b6111dfd0a63110f8770dbf976be147",
"quantity": "1",
"periodicity": "monthly",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"selected": false,
"line_id": "ULTIMONIT1005"
}
],
"pricelist": "19d29513d0e63110f8770dbf976be122",
"costbook": "a3042cdce405c210f8773750028d6f72",
"transaction_date": "2023-12-18 23:37:11"
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS",
"pricing_context_id": "7049E245A667EABB226B16A2190FB92E",
"disable_validation": true,
"scope": "configurator",
"config_top_line_identifier": "HOMEAUTOMA2000",
"config_lines_expanded": false
}
}' \
--user 'username:password'
{
"result": {
"header": {
"currency": "USD",
"costbook": "a3042cdce405c210f8773750028d6f72",
"lineItems": [
{
"line_id": "ULTIMONIT1005",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "50.0000",
"displayValue": "$50.00"
},
"list_price": {
"value": "50.0000",
"displayValue": "$50.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "72736f85d07a7910f8770dbf976be162",
"product_offering": "3b6111dfd0a63110f8770dbf976be147",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "50.0000",
"displayValue": "$50.00"
},
"annual_recurring_price": {
"value": "600.0000",
"displayValue": "$600.00"
},
"unit_net_price": {
"value": "50.0000",
"displayValue": "$50.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_acv": {
"value": "600.0000",
"displayValue": "$600.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "50.0000",
"displayValue": "$50.00"
},
"cumulative_annual_recurring_price": {
"value": "600.0000",
"displayValue": "$600.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": "50.0000",
"displayValue": "$50.00"
},
"total_recurring_price": {
"value": "50.0000",
"displayValue": "$50.00"
},
"total_new_amount": {
"value": 0,
"displayValue": null
},
"total_upsell_downsell_amount": {
"value": 0,
"displayValue": null
},
"total_renewal_amount": {
"value": 0,
"displayValue": null
},
"pricingAdjustments": [],
"total_adjustment_amount": [],
"cost": {
"value": "25.0000",
"displayValue": "$25.00"
},
"unit_margin_amount": {
"value": "25.0000",
"displayValue": "$25.00"
},
"unit_margin_percentage": {
"value": "50.0000",
"displayValue": "50.0000"
},
"one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_cost": {
"value": "25.0000",
"displayValue": "$25.00"
},
"cumulative_one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_cost": {
"value": "25.0000",
"displayValue": "$25.00"
},
"cumulative_net_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
}
},
{
"line_id": "HOMEAUTOMA2000",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"list_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "d6792b8dd07a7910f8770dbf976be1f8",
"product_offering": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_price": {
"value": "270.0000",
"displayValue": "$270.00"
},
"cumulative_acv": {
"value": "270.0000",
"displayValue": "$270.00"
},
"cumulative_one_time_price": {
"value": "270.0000",
"displayValue": "$270.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_new_amount": {
"value": "270.0000",
"displayValue": "$270.00"
},
"total_upsell_downsell_amount": {
"value": 0,
"displayValue": null
},
"total_renewal_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": [],
"cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_margin_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_margin_percentage": {
"value": "0.0000",
"displayValue": "0.0000"
},
"one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_cost": {
"value": "130.0000",
"displayValue": "$130.00"
},
"cumulative_monthly_recurring_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_cost": {
"value": "130.0000",
"displayValue": "$130.00"
},
"cumulative_margin_percentage": {
"value": "51.8519",
"displayValue": "51.8519"
}
}
],
"status": "Success",
"total_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_amount": {
"value": "270.0000",
"displayValue": "$270.00"
},
"total_acv": {
"value": "270.0000",
"displayValue": "$270.00"
},
"total_amount_v1": {
"value": "270.0000",
"displayValue": "$270.00"
},
"total_one_time_price": {
"value": "270.0000",
"displayValue": "$270.00"
},
"total_one_time_cost": {
"value": "130.0000",
"displayValue": "$130.00"
},
"total_monthly_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_cost": {
"value": "130.0000",
"displayValue": "$130.00"
},
"total_one_time_margin": {
"value": "140.0000",
"displayValue": "$140.00"
},
"total_monthly_margin": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_margin_amount": {
"value": "140.0000",
"displayValue": "$140.00"
},
"total_one_time_margin_percentage": {
"value": "51.8519",
"displayValue": "$51.8519"
},
"total_monthly_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_margin_percentage": {
"value": "51.8519",
"displayValue": "$51.8519"
},
"total_upsell_downsell_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_renewal_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_new_amount": {
"value": "270.0000",
"displayValue": "$270.00"
},
"total_new_amount_acv": {
"value": "270.0000",
"displayValue": "$270.00"
}
},
"settings": {
"pricing_context_id": "7E362E4CEDC0C3F684D346ED7A83D47E",
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS"
}
}
}
Tarification sans état pour une transaction multiligne
Cet exemple montre comment fixer le prix d’une transaction multiligne complète dans un seul appel d’API. La demande comprend un mélange de produits autonomes et un lot de produits.
En incluant HEADER_ROLLUPS dans le pricing_elements, l’API calculera le prix de chaque élément de ligne individuel et renverra également le total général agrégé pour l’ensemble de la transaction dans l’en-tête.
Exemple : « pricing_elements » : « PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENT »
Exemple : demande cURL.
curl "https://instance.servicenow.com/api/sn_csm_pricing/v1/pricingengine/computePrice" \
--request POST \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"header": {
"source_system": "ServiceNow Headless API",
"requesting_record_id": "QT0001101",
"currency": "USD",
"lineItems": [
{
"top_product_offer": "db61dd9fd0a63110f8770dbf976be19c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "db61dd9fd0a63110f8770dbf976be19c",
"periodicity" : "",
"quantity": "1",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2023-12-18 23:37:11",
"line_id": "CONNECTEDC1000"
},
{
"top_product_offer": "9b61dd9fd0a63110f8770dbf976be1c6",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "9b61dd9fd0a63110f8770dbf976be1c6",
"periodicity" : "annually",
"quantity": "1",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2023-12-18 23:37:11",
"line_id": "AUTOCOLLIS1001"
},
{
"top_product_offer": "9361dd9fd0a63110f8770dbf976be1c4",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "9361dd9fd0a63110f8770dbf976be1c4",
"periodicity" : "annually",
"quantity": "1",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2023-12-18 23:37:11",
"line_id": "WIFIHOTSPOT1002"
},
{
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "26d07c3211707110f877366201dea60c",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"periodicity" : "",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"line_id": "HOMEAUTOMA2000"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "fe5d203e11307110f877366201dea631",
"periodicity" : "",
"quantity": "3",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"line_id": "DOORSENSOR1001"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "3f6111dfd0a63110f8770dbf976be149",
"periodicity" : "",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"characteristics": [
{
"characteristic": "4f31999fd0a63110f8770dbf976be178",
"characteristic_option": "0b31999fd0a63110f8770dbf976be179"
}
],
"transaction_date": "2025-08-28 22:46:39",
"line_id": "HOMEAUTOMA1002"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "376111dfd0a63110f8770dbf976be140",
"periodicity" : "monthly",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"line_id": "BASICMONIT1003"
},
{
"parent_product_offer": "26d07c3211707110f8770dbf976be122",
"product_offering": "e2619d9fd0a63110f8770dbf976be1ec",
"periodicity" : "monthly",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"line_id": "PREMMONIT2004"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "1761dd9fd0a63110f8770dbf976be196",
"periodicity" : "",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"line_id": "INDOORCAM1006"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "6f6111dfd0a63110f8770dbf976be100",
"periodicity" : "",
"quantity": "1",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"line_id": "OUTCAMERA1007"
},
{
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"pricelist": "19d29513d0e63110f8770dbf976be122",
"product_offering": "1b20347e11307110f877366201dea67f",
"periodicity" : "",
"quantity": "3",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2025-08-28 22:46:39",
"line_id": "WINSENSOR1008"
}
],
"pricelist": "19d29513d0e63110f8770dbf976be122",
"transaction_date": "2023-12-18 23:37:11"
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS",
"disable_validation": true
}
}' \
--user 'username:password'
{
"result": {
"header": {
"currency": "USD",
"lineItems": [
{
"line_id": "CONNECTEDC1000",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"list_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "3e93e785d07a7910f8770dbf976be1ee",
"product_offering": "db61dd9fd0a63110f8770dbf976be19c",
"top_product_offer": "db61dd9fd0a63110f8770dbf976be19c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
},
{
"line_id": "AUTOCOLLIS1001",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"list_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "4dc32f85d07a7910f8770dbf976be197",
"product_offering": "9b61dd9fd0a63110f8770dbf976be1c6",
"top_product_offer": "9b61dd9fd0a63110f8770dbf976be1c6",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "20.8333",
"displayValue": "$20.8333"
},
"annual_recurring_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"unit_net_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "20.8333",
"displayValue": "$20.8333"
},
"cumulative_annual_recurring_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "250.0000",
"displayValue": "$250.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_recurring_price": {
"value": "250.0000",
"displayValue": "$250.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
},
{
"line_id": "WIFIHOTSPOT1002",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"list_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "3ff3ef85d07a7910f8770dbf976be1ea",
"product_offering": "9361dd9fd0a63110f8770dbf976be1c4",
"top_product_offer": "9361dd9fd0a63110f8770dbf976be1c4",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "8.3333",
"displayValue": "$8.3333"
},
"annual_recurring_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"unit_net_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "8.3333",
"displayValue": "$8.3333"
},
"cumulative_annual_recurring_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "100.0000",
"displayValue": "$100.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_recurring_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
},
{
"line_id": "HOMEAUTOMA2000",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"list_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "d6792b8dd07a7910f8770dbf976be1f8",
"product_offering": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_price": {
"value": "200.0000",
"displayValue": "$200.00"
},
"cumulative_one_time_price": {
"value": "200.0000",
"displayValue": "$200.00"
},
"cumulative_monthly_recurring_price": {
"value": "60.0000",
"displayValue": "$60.00"
},
"cumulative_annual_recurring_price": {
"value": "720.0000",
"displayValue": "$720.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price_v1": {
"value": "60.0000",
"displayValue": "$60.00"
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
},
{
"line_id": "DOORSENSOR1001",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "10.0000",
"displayValue": "$10.00"
},
"list_price": {
"value": "10.0000",
"displayValue": "$10.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "3",
"price_list_line": "2ec2a745d07a7910f8770dbf976be159",
"product_offering": "fe5d203e11307110f877366201dea631",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "24.0000",
"displayValue": "$24.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "8.0000",
"displayValue": "$8.00"
},
"cumulative_net_price": {
"value": "24.0000",
"displayValue": "$24.00"
},
"cumulative_one_time_price": {
"value": "24.0000",
"displayValue": "$24.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-2.0000",
"displayValue": "($2.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -2.0,
"displayValue": "($2.00)"
},
"adjustment_amount_total": {
"value": -6.0,
"displayValue": "($6.00)"
},
"adjustment_description": {
"displayValue": "door sensor bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 8.0,
"displayValue": "$8.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -6.0,
"displayValue": "($6.00)"
}
]
},
{
"line_id": "HOMEAUTOMA1002",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"list_price": {
"value": "100.0000",
"displayValue": "$100.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "fe912705d07a7910f8770dbf976be147",
"product_offering": "3f6111dfd0a63110f8770dbf976be149",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "80.0000",
"displayValue": "$80.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "80.0000",
"displayValue": "$80.00"
},
"cumulative_net_price": {
"value": "80.0000",
"displayValue": "$80.00"
},
"cumulative_one_time_price": {
"value": "80.0000",
"displayValue": "$80.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-20.0000",
"displayValue": "($20.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -20.0,
"displayValue": "($20.00)"
},
"adjustment_amount_total": {
"value": -20.0,
"displayValue": "($20.00)"
},
"adjustment_description": {
"displayValue": "home automation hub bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 80.0,
"displayValue": "$80.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -20.0,
"displayValue": "($20.00)"
}
]
},
{
"line_id": "BASICMONIT1003",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "30.0000",
"displayValue": "$30.00"
},
"list_price": {
"value": "30.0000",
"displayValue": "$30.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "bc53e785d07a7910f8770dbf976be1e7",
"product_offering": "376111dfd0a63110f8770dbf976be140",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "25.0000",
"displayValue": "$25.00"
},
"annual_recurring_price": {
"value": "300.0000",
"displayValue": "$300.00"
},
"unit_net_price": {
"value": "25.0000",
"displayValue": "$25.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "25.0000",
"displayValue": "$25.00"
},
"cumulative_annual_recurring_price": {
"value": "300.0000",
"displayValue": "$300.00"
},
"unit_adjustment": {
"value": "-5.0000",
"displayValue": "($5.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": "25.0000",
"displayValue": "$25.00"
},
"total_recurring_price": {
"value": "25.0000",
"displayValue": "$25.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "6e1c03d653dd91105c0eddeeff7b1232",
"displayValue": "MARKDOWN_AMT"
},
"adjustment_value": {
"value": 5.0,
"displayValue": "5"
},
"adjustment_amount": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_amount_total": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_description": {
"displayValue": "basic monitoring bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 25.0,
"displayValue": "$25.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -5.0,
"displayValue": "($5.00)"
}
]
},
{
"line_id": "PREMMONIT2004",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "40.0000",
"displayValue": "$40.00"
},
"list_price": {
"value": "40.0000",
"displayValue": "$40.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "a663a785d07a7910f8770dbf976be115",
"product_offering": "e2619d9fd0a63110f8770dbf976be1ec",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"annual_recurring_price": {
"value": "420.0000",
"displayValue": "$420.00"
},
"unit_net_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"cumulative_annual_recurring_price": {
"value": "420.0000",
"displayValue": "$420.00"
},
"unit_adjustment": {
"value": "-5.0000",
"displayValue": "($5.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": "35.0000",
"displayValue": "$35.00"
},
"total_recurring_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "6e1c03d653dd91105c0eddeeff7b1232",
"displayValue": "MARKDOWN_AMT"
},
"adjustment_value": {
"value": 5.0,
"displayValue": "5"
},
"adjustment_amount": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_amount_total": {
"value": -5.0,
"displayValue": "($5.00)"
},
"adjustment_description": {
"displayValue": "premium monitoring bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 35.0,
"displayValue": "$35.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -5.0,
"displayValue": "($5.00)"
}
]
},
{
"line_id": "INDOORCAM1006",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"list_price": {
"value": "35.0000",
"displayValue": "$35.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "81332f45d07a7910f8770dbf976be14e",
"product_offering": "1761dd9fd0a63110f8770dbf976be196",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "28.0000",
"displayValue": "$28.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "28.0000",
"displayValue": "$28.00"
},
"cumulative_net_price": {
"value": "28.0000",
"displayValue": "$28.00"
},
"cumulative_one_time_price": {
"value": "28.0000",
"displayValue": "$28.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-7.0000",
"displayValue": "($7.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -7.0,
"displayValue": "($7.00)"
},
"adjustment_amount_total": {
"value": -7.0,
"displayValue": "($7.00)"
},
"adjustment_description": {
"displayValue": "indoor camera bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 28.0,
"displayValue": "$28.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -7.0,
"displayValue": "($7.00)"
}
]
},
{
"line_id": "OUTCAMERA1007",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "40.0000",
"displayValue": "$40.00"
},
"list_price": {
"value": "40.0000",
"displayValue": "$40.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "1",
"price_list_line": "9a136f45d07a7910f8770dbf976be1b4",
"product_offering": "6f6111dfd0a63110f8770dbf976be100",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "32.0000",
"displayValue": "$32.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "32.0000",
"displayValue": "$32.00"
},
"cumulative_net_price": {
"value": "32.0000",
"displayValue": "$32.00"
},
"cumulative_one_time_price": {
"value": "32.0000",
"displayValue": "$32.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-8.0000",
"displayValue": "($8.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -8.0,
"displayValue": "($8.00)"
},
"adjustment_amount_total": {
"value": -8.0,
"displayValue": "($8.00)"
},
"adjustment_description": {
"displayValue": "outdoor camera bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 32.0,
"displayValue": "$32.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -8.0,
"displayValue": "($8.00)"
}
]
},
{
"line_id": "WINSENSOR1008",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "15.0000",
"displayValue": "$15.00"
},
"list_price": {
"value": "15.0000",
"displayValue": "$15.00"
},
"pricelist": "19d29513d0e63110f8770dbf976be122",
"quantity": "3",
"price_list_line": "91f26b45d07a7910f8770dbf976be19b",
"product_offering": "1b20347e11307110f877366201dea67f",
"parent_product_offer": "26d07c3211707110f877366201dea60c",
"top_product_offer": "26d07c3211707110f877366201dea60c",
"one_time_price": {
"value": "36.0000",
"displayValue": "$36.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "12.0000",
"displayValue": "$12.00"
},
"cumulative_net_price": {
"value": "36.0000",
"displayValue": "$36.00"
},
"cumulative_one_time_price": {
"value": "36.0000",
"displayValue": "$36.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "-3.0000",
"displayValue": "($3.00)"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [
{
"adjustment_type": {
"value": "a96c83d653dd91105c0eddeeff7b12d8",
"displayValue": "MARKDOWN_PER"
},
"adjustment_value": {
"value": 20.0,
"displayValue": "20"
},
"adjustment_amount": {
"value": -3.0,
"displayValue": "($3.00)"
},
"adjustment_amount_total": {
"value": -9.0,
"displayValue": "($9.00)"
},
"adjustment_description": {
"displayValue": "window sensor bundle discount"
},
"adjustment_sequence_id": {
"value": 1.0
},
"adjustment_matrix_type": {
"displayValue": "Configuration Component Price Adjustment"
},
"adjustment_basis": {
"value": "prv_price_point"
},
"price_point": {
"value": "net_price"
},
"pricing_plan_step": {
"value": "97b61272ffe722101fb14ad013cb14d7"
},
"running_price": {
"value": 12.0,
"displayValue": "$12.00"
}
}
],
"total_adjustment_amount": [
{
"pricePoint": "net_price",
"value": -9.0,
"displayValue": "($9.00)"
}
]
}
],
"status": "Success",
"total_monthly_recurring_price": {
"value": "89.1666",
"displayValue": "$89.1666"
},
"total_monthly_recurring_price_v1": {
"value": "60.0000",
"displayValue": "$60.00"
},
"total_annual_recurring_price": {
"value": "1070.0000",
"displayValue": "$1,070.00"
},
"total_annual_recurring_price_v1": {
"value": "350.0000",
"displayValue": "$350.00"
},
"total_amount": {
"value": "200.0000",
"displayValue": "$200.00"
},
"total_amount_v1": {
"value": "610.0000",
"displayValue": "$610.00"
},
"total_one_time_price": {
"value": "200.0000",
"displayValue": "$200.00"
},
"total_one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin": {
"value": "200.0000",
"displayValue": "$200.00"
},
"total_monthly_margin": {
"value": "89.1666",
"displayValue": "$89.1666"
},
"total_margin_amount": {
"value": "200.0000",
"displayValue": "$200.00"
},
"total_one_time_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
},
"total_monthly_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
},
"total_margin_percentage": {
"value": "100.0000",
"displayValue": "$100.00"
}
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS"
}
}
}
Résolution de l’ID externe
Cet exemple montre comment définir la fonctionnalité de résolution d’ID externe sur vrai tout en définissant la liste de prix et la product_offering sur une variable mappée personnalisée appelée DOORSENSOR1.
« use_external_code » : vrai: active la résolution de code externe« pricelist » : « DOORSENSOR1 »: la valeur est mappée à une variable de contexte personnalisée pour le prix« product_offering » : « DOORSENSOR1 »: la valeur est mappée à une variable de contexte personnalisée pour le produit
Exemple : demande cURL.
curl "https://instance.servicenow.com/api/sn_csm_pricing/v1/pricingengine/computePrice" \
--request POST \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"header": {
"source_system": "ServiceNow Headless API",
"requesting_record_id": "QT0001101",
"currency": "USD",
"lineItems": [
{
"pricelist": "DOORSENSOR1",
"product_offering": "DOORSENSOR1",
"periodicity" : "",
"quantity": "1",
"unit_of_measure": "cb2795d553020110286eddeeff7b12ff",
"transaction_date": "2023-12-18 23:37:11",
"line_id": "CONNECTEDC1100"
}
],
"pricelist": "19d29513d0e63110f8770dbf976be122",
"transaction_date": "2023-12-18 23:37:11"
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS",
"disable_validation": true,
"use_external_code": true
}
}' \
--user 'username:password'
{
"result": {
"header": {
"currency": "USD",
"lineItems": [
{
"line_id": "CONNECTEDC1100",
"status": "Success",
"currency": "USD",
"base_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"list_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricelist": "DOORSENSOR1",
"quantity": "",
"price_list_line": "3e93e785d07a7910f8770dbf976be1ee",
"product_offering": "DOORSENSOR1",
"one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_net_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"cumulative_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"unit_adjustment": {
"value": "0.0000",
"displayValue": "$0.00"
},
"term_month": {
"value": 0,
"displayValue": 0
},
"cumulative_annual_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"cumulative_monthly_recurring_price_v1": {
"value": 0,
"displayValue": 0
},
"total_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"pricingAdjustments": [],
"total_adjustment_amount": []
}
],
"status": "Success",
"total_monthly_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_annual_recurring_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_annual_recurring_price_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_amount_v1": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_price": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_cost": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_margin": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_margin_amount": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_one_time_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_monthly_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
},
"total_margin_percentage": {
"value": "0.0000",
"displayValue": "$0.00"
}
},
"settings": {
"pricing_elements": "PRICE,COST,NET_PRICE,LINE_ROLLUPS,HEADER_ROLLUPS,ADJUSTMENTS",
"use_external_code": true
}
}
}