Integrate a Web Calculator
You build the experience. We power the Value. DecisionLink's ValueConcierge API gives you access to ValueCloud's business value assessment engine. Using the API, you can build seamless customer value management experiences into your own applications. ValueConcierge takes care of the hard stuff so you can focus on what's important: increasing adoption and improving your rep's value experience.
- Authenticate as the Web Calculator
POST /oauth/token { "grant_type": "web_calculator", "client_id": TO BE PROVIDED, "client_secret": "TO BE PROVIDED", "public_key": "YOUR CALCULATOR PUBLIC KEY" }Example JSON Response:{ "token_type": "Bearer", "expires_in": 14400, "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI1IiwianRpIjoiYjg4MTI0MTJlYmViN2FiMjVmMmE3NzcyZTgyNWFiY2VlODE2Y2VmNWUyMzBmZTJiODQ3NGRkNjVmNDViZmIzNTk4ZTFhZWRmODRiOWEwODUiLCJpYXQiOjE2Nzk2NzU5ODMuNzM2MzcyLCJuYmYiOjE2Nzk2NzU5ODMuNzM2Mzc2LCJleHAiOjE2Nzk2OTAzODMuNjQ2MDE5LCJzdWIiOiI1NTI1OCIsInNjb3BlcyI6W10sImphbWFpY2FfdG9rZW4iOiI3NTAxNGEwZGFhYTRhMDMzNjA2YTg2ZjVhMDJiODE5MSIsImNhbGN1bGF0b3Jfa2V5IjoiYjA1MGJmYWQyY2Q2ZmUxZTM0NTUyMTI2NDRiY2U5YTgifQ.Pp8Ogb7U3gZO-Ex6-zGWzOO3X_Z9sSB22-1dKV-hDi9FwYZpTp45NKRQtuyvalLfvgZA0ZbggO3ALU8Wvg8QPXLYWJZ42O7AGO3s4xU0S6xgb7Tb8J77bdbh2z1dg7LfL6u1qnd7xfaCbbcGrT4-8QmqFnzBDNXv8tKl5qjHYliZz4j9x9KOBlWpqgEdCZ7XQSTMDQ7G3OBgJLdIgsvfuwMmcVQw6tLK3BfsukpDlknt3CbPjuvDoDwYultSSaH7wx5YlevOaa0cEzSv_IWwOP0UJNI9qBB7naPoIVPGJHSTqj0FMYp_SabvknlmA_9cJBVhM9JPiDZOiV4zk2fhAaWDZsd46HiZ75dPixTY7lMiH5LMgsvzHqRb7asMJGn4PLhewRROs34M4h1ZwfmOSJVUTOhWXKMuuahXRp_behP0wqYrCN38L8XlzFmpABhW5FmoSOeT2rtcWIola59JvIWxCH7CESpBK3G-A2XGnrW6JQS0rRCq3vD41wDvv60bG18wkaKuGkhTZwSnD3IJD4vxdBX7q65xOtEyODZIzjMl2l-rQTBVhtgmTc_V3CeFYVxsbGMEf0dq5TUTqkB1sn-5aa5Ge-ZuEOcCcPgC1MGbSwI0wj2lO87dc6QX5M0_JOC5UBY4lRX67FN4NVO0GcpK6p_503oW4B_UXTtUMqY", "refresh_token": "def5020078dcaf014753dc770541e10a1125aa4487bdd2592b6b9543cc2e5f1715338284f8e118e9795695a2a61a377176f4c1b2f49aa727724df3aace8ca7d65aa4c786bbf00412511420e268a638ef739b1ed9238fe23b5d82f09296a529311dbb339c8a25767829ca248a0d0d143f8bc1230e5699f1ff12f056bcd215fa6001e6078eb8304a8614b968d978b499ea36dec97419173ffe39566614909ba60e1215d173f004a0ad844d75eddbec1cd6a295977c0c2d2b4e3f45d160351d35a9c55e520d5fb47c31aab38a4b6dc79c51741f01589da2394d6e615b2a3d148d46de9c09b43609138e5aba36ebaf9e4f394dd66635a5c2631ce836f8d6d327da98325f63b6ed248ed441cdd626156923cb574daa27cc870c7fa61a1627d40c70b2a9193b14249803873031a722b164c2f35c70d732cedb593c2b67cd459b6ec846d4f3cd18e91cd246af6fe175d5909efc5b0ee7d31ba0a7d5a0a732feea0837bcba632a4a3b" } - Get Calculator Details
GET /api/calculator
Example JSON Response:{ "data": { "id": 1367, "public_key": "a070afbc9ce6fd5d3867539644bad420", "user_id": 55258, "name": "Web Calculator Example", "url": "https://example.io", "total_clicks": 1, "active": 1, "created_at": "2023-03-24 16:36:22", "updated_at": "2023-03-24 16:54:07" } } - Get Calculator Solution(s)
GET /api/calculators/{calculator_id}/solutionsExample JSON Response:{ "data": [ { "solution_id": "29437", "name": "DecisionLink ValueCloud for Sales", "description": "Description of DecisionLink ValueCloud for Sales Solution" } ] } - Create a Placeholder Company
POST /api/companies { "name": "Your New Company Name", "external_id": "A1B2C3D4E5F6" (optional) }Example JSON Response:{ "data": { "id": 3193094, "external_id": "A1B2C3D4E5F6", "name": "Your New Company Name", "description": "", "ticker": "", "address1": "", "address2": "", "city": "", "state": "", "country": "", "zip": "", "phone": "", "created_at": "2023-03-26 23:28:52", "updated_at": "2023-03-26 23:28:52" } } - Create a Value Prop
POST /api/value_props { "company_id":"3193094", "opportunity_id":"A1B2C3D4E5F6" (optional) }Example JSON Response:{ "data": { "id": 1889801, "name": "Your New Company Name 2023-03-26 11:32", "company_id": "3193094", "opportunity_id": "A1B2C3D4E5F6", "term": 3, "baseline_type_id": 2, "currency_type_id": 144, "language_type_id": 1, "total_benefits": 0, "total_costs": 0, "cost_of_delay": 0, "gross_profit": 15, "irr": 0, "npv": 0, "payback": 0, "roi": 0, "roi_range": 0, "tco": 0, "wacc": 7, "closed": 0, "status": "Customer Engaged", "status_id": 0, "url": "https://value-cloud.com/concierge.php?code=1ebc82ea6f9da799fb8570b88c1d5be1fd4e395a8ff31a42fa275263b3758198d3a6a6449f8d04ef&token=bf93764ea073533162c9b14fa662dc47&user_id=55258&redirect=/repv2/1889801", "created_at": "2023-03-26T23:32:16.000Z", "created_by": "Example Admin", "created_by_email": "admin@example.io", "updated_at": "2023-03-26T23:32:18.000Z", "updated_by": "Example Admin", "updated_by_email": "admin@example.io" } } - Set the Value Prop Solution(s)
POST /api/value_props/{value_prop_id}/solutions { "solutions": [29437,28190] }Example JSON Response:{ "data": [ { "id": "1918424", "value_prop_id": "1889798", "solution_id": "29437", "name": "DecisionLink ValueCloud for Sales", "description": "Description of DecisionLink ValueCloud for Sales Solution" "deployment_time": "1", "created_at": "2023-03-24 16:40:53", "updated_at": "2023-03-24 16:40:53" } ] } - Get and Set the Value Prop Situations
GET /api/value_props/{value_prop_id}/situationsExample JSON Response:{ "data": [ { "id": "1233", "name": "Indicate the Industry that Most Closely Represents Where the Solution will be Used:", "description": "", "multi_select": false, "question_type": "Radio Button", "elements": [ { "id": "3971", "sequence": "0", "name": "Retail", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2022-09-12 20:41:02" }, { "id": "3974", "sequence": "0", "name": "Manufacturing", "description": "", "situation_category_id": "0", "selected": true, "created_at": "2022-09-12 20:41:02", "updated_at": "2022-10-12 17:30:17" }, { "id": "4093", "sequence": "0", "name": "Finance", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2023-02-08 15:52:08" }, { "id": "4094", "sequence": "0", "name": "Healthcare", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2022-09-12 20:41:02" }, { "id": "4095", "sequence": "0", "name": "Education", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2022-09-12 20:41:02" }, { "id": "4096", "sequence": "0", "name": "Telecommunications", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2022-09-12 20:41:02" }, { "id": "3973", "sequence": "0", "name": "Travel & Hospitality", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2022-09-12 20:41:02" } ] }, { "id": "1232", "name": "Specify the Geographic Region where the Solution will Primarily be Used:", "description": "", "multi_select": false, "question_type": "Radio Button", "elements": [ { "id": "3967", "sequence": "0", "name": "AMER", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2023-03-10 14:02:39" }, { "id": "3968", "sequence": "0", "name": "EMEA", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2022-09-12 20:41:02" }, { "id": "3969", "sequence": "0", "name": "APAC", "description": "", "situation_category_id": "0", "selected": false, "created_at": "2022-09-12 20:41:02", "updated_at": "2022-09-12 20:41:02" } ] } ] }POST /api/value_props/{value_prop_id}/situations { "situations":[ {"id":"1233","element_id":"3974"}, {"id":"1232","element_id":"3967"} ] } - Get the Value Prop Scalers
GET /api/value_props/{value_prop_id}/scalersExample JSON Response:{ "data": [ { "id": "47046", "sequence": "0", "name": "Your ValueProp's First Scale Factor", "description": "Description of Your ValueProp's First Scaler", "unit_type_id": "17", "min": "1", "max": "50", "increment": "1", "precision": "1", "value": "3", "created": "0000-00-00 00:00:00", "modified": "0000-00-00 00:00:00" }, { "id": "47050", "sequence": "0", "name": "Your ValueProp's Second Scale Factor", "description": "Description of Your ValueProp's Second Scaler", "unit_type_id": "17", "min": "1", "max": "25", "increment": "0.5", "precision": "1", "value": "1", "created": "0000-00-00 00:00:00", "modified": "0000-00-00 00:00:00" } ] }Update a Single Scaler ValuePUT /api/value_props/{value_prop_id}/scalers/{scaler_id} { "value":3 }Bulk Set the Value Prop ScalersPOST /api/value_props/{value_prop_id}/scalers { "scalers":[ { "id":"47046", "value":3 }, { "id":"47050", "value":1 } ] } - Get the Value Prop Factors
GET /api/value_props/{value_prop_id}/factorsExample JSON Response:{ "data": [ { "id": "47046", "sequence": "0", "name": "Your ValueProp's First Factor", "description": "Description of Your ValueProp's First Factor", "unit_type_id": "17", "min": "1", "max": "50", "increment": "1", "precision": "1", "value": "3", "created": "0000-00-00 00:00:00", "modified": "0000-00-00 00:00:00" }, { "id": "47050", "sequence": "0", "name": "Your ValueProp's Second Factor", "description": "Description of Your ValueProp's Second Factor", "unit_type_id": "17", "min": "1", "max": "25", "increment": "0.5", "precision": "1", "value": "1", "created": "0000-00-00 00:00:00", "modified": "0000-00-00 00:00:00" } ] }Update a Single Factor ValuePUT /api/value_props/{value_prop_id}/factors/{factor_id} { "value":3 }Bulk Set the Value Prop FactorsPOST /api/value_props/{value_prop_id}/factors { "factors":[ { "id":"47046", "value":3 }, { "id":"47050", "value":1 } ] } - Get the Value Prop Improvement Factors
GET /api/value_props/{value_prop_id}/improvementsExample JSON Response:{ "data": [ { "id": "47046", "sequence": "0", "name": "Your ValueProp's First Improvement Factor", "unit_type_id": "17", "min": "1", "max": "50", "increment": "1", "precision": "1", "value": "30", "impact_override": "30", "impact_conservative": "20", "impact_probable": "25", "impact_aggressive": "40", "created": "0000-00-00 00:00:00", "modified": "0000-00-00 00:00:00" }, { "id": "47050", "sequence": "0", "name": "Your ValueProp's Second Improvement Factor", "unit_type_id": "17", "min": "1", "max": "25", "increment": "0.5", "precision": "1", "value": "15", "impact": 15, "impact_override": "15", "impact_conservative": "4", "impact_probable": "11", "impact_aggressive": "20", "created": "0000-00-00 00:00:00", "modified": "0000-00-00 00:00:00" } ] }Update a Single Improvement Factor ValuePUT /api/value_props/{value_prop_id}/improvements/{factor_id} { "value":3 }Bulk Set the Value Prop Improvement FactorsPOST /api/value_props/{value_prop_id}/factors { "factors":[ { "id":"47046", "value":3 }, { "id":"47050", "value":1 } ] } - Get and Set Value Prop Costs
GET /api/value_props/{value_prop_id}/available_costs - Annual - same as one-time but with rate parameter as percentage growth rate
- Variable - same as one-time, but instead of a single cost parameter, parameters for each term year are provided as yrX_costs (eg. yr1_costs=1000, yr2_costs=800)
- Capital Lease - same as one-time costs, where cost is initial cost. Additional parameters for annual interest rate rate (percentage) and lease_term (months) are required
- FMV Lease - same as capital lease, but with the addition of
residual_value (percentage) and buyout_value (percentage) parameters - Max 100 - same as capital lease
- Display the Value Prop Details
GET /api/value_props/{value_prop_id}
Example JSON Response:
- Display the Value Prop Benefits
GET /api/value_props/{value_prop_id}/benefits
Example JSON Response:
When adding costs to a Value Prop, first get the available costs that can be added. These are defined by which solution(s) have been added to the ValueProp previously.
Example JSON Response:
{
"data": [
{
"id": "35655",
"name": "Data Consumption",
"cost_category_type": {
"id": 85,
"name": "Net New Costs",
"description": null,
},
"expense_type": null,
},
{
"id": "35656",
"name": "License Costs",
"cost_category_type": {
"id": 85,
"name": "Net New Costs",
"description": null,
},
"expense_type": null,
},
{
"id": "35657",
"name": "Professional Support",
"cost_category_type": {
"id": 85,
"name": "Net New Costs",
"description": null,
},
"expense_type": null,
}
]
}
GET /api/value_props/{value_prop_id}/costs
Example JSON Response:
{
"data": [
{
"id": "1798228",
"costType": {
"id": "35657",
"name": "Cost from API"
},
"accrualType": {
"id": 1,
"name": "One Time",
"description ": "Only occurs one time",
},
"name": "Cost from API",
"quantity": "1",
"rate": "0",
"cost": "1000",
"year1_costs": "950",
"year2_costs": "950",
"year3_costs": "950",
"year4_costs": "950",
"year5_costs": "950",
"year6_costs": "950",
"year7_costs": "950",
"year8_costs": "950",
"year9_costs": "950",
"year10_costs": "950",
"year1_quantity": "0",
"year2_quantity": "0",
"year3_quantity": "0",
"year4_quantity": "0",
"year5_quantity": "0",
"year6_quantity": "0",
"year7_quantity": "0",
"year8_quantity": "0",
"year9_quantity": "0",
"year10_quantity": "0",
"subtotal": "1000",
"discount": "5",
"grand_total": "950",
"term": "3",
}
]
}
The parameters for adding a cost to a Value Prop vary based on the Accrual Type. Below is an example of a one-time cost.
POST /api/value_props/{value_prop_id}/costs
{
"accrual_type_id": 1,
"name": "Cost from API",
"expense_type_id": 1,
"cost": 1000,
"cost_category_type_id": "85",
"cost_type_id": "35657",
"discount": 5,
"rate": 3,
"quantity": 1
}
Parameters differ based on Accrual Type as follows
{
"data": {
"id": 1889801,
"name": "Your New Company Name 2023-03-26 11:32",
"company_id": "3193094",
"opportunity_id": "A1B2C3D4E5F6",
"term": 3,
"baseline_type_id": 2,
"currency_type_id": 144,
"language_type_id": 1,
"total_benefits": 0,
"total_costs": 0,
"cost_of_delay": 0,
"gross_profit": 15,
"irr": 0,
"npv": 0,
"payback": 0,
"roi": 0,
"roi_range": 0,
"tco": 0,
"wacc": 7,
"closed": 0,
"status": "Customer Engaged",
"status_id": 0,
"url": "https://value-cloud.com/concierge.php?code=1ebc82ea6f9da799fb8570b88c1d5be1fd4e395a8ff31a42fa275263b3758198d3a6a6449f8d04ef&token=bf93764ea073533162c9b14fa662dc47&user_id=55258&redirect=/repv2/1889801",
"created_at": "2023-03-26T23:32:16.000Z",
"created_by": "Example Admin",
"created_by_email": "admin@example.io",
"updated_at": "2023-03-26T23:32:18.000Z",
"updated_by": "Example Admin",
"updated_by_email": "admin@example.io"
}
}
{
"data": [
{
"id": "15293",
"name": "Estimate Reduction in Operations Costs",
"description": "Estimate Reduction in Operations Costs Description",
"total_benefits": "1833750",
"year_1_benefits": "611250",
"year_2_benefits": "611250",
"year_3_benefits": "611250",
"year_4_benefits": "0",
"year_5_benefits": "0",
"year_1_sum": "611250",
"year_2_sum": "1222500",
"year_3_sum": "1833750",
"year_4_sum": "1833750",
"year_5_sum": "1833750",
"current_total": "3150000",
"current_state_1": "1050000",
"current_state_2": "1050000",
"current_state_3": "1050000",
"current_state_4": "0",
"current_state_5": "0",
"future_total": "1316250",
"future_state_1": "438750",
"future_state_2": "438750",
"future_state_3": "438750",
"future_state_4": "0",
"future_state_5": "0",
"benefits": [
{
"id": "21842125",
"name": "Reduce Support Staff Costs",
"description": "Reduce Support Staff Costs Description",
"impact_type_id": "1",
"impact": 60,
"active": "1",
"soft": "0",
"quantified": "1",
"total_benefits": "1215000",
"year_1_benefits": "405000",
"year_2_benefits": "405000",
"year_3_benefits": "405000",
"year_4_benefits": "0",
"year_5_benefits": "0",
"year_1_sum": "405000",
"year_2_sum": "810000",
"year_3_sum": "1215000",
"year_4_sum": "1215000",
"year_5_sum": "1215000",
"current_state_1": "675000",
"current_state_2": "675000",
"current_state_3": "675000",
"current_state_4": "0",
"current_state_5": "0",
"future_state_1": "270000",
"future_state_2": "270000",
"future_state_3": "270000",
"future_state_4": "0",
"future_state_5": "0"
},
{
"id": "21842126",
"name": "Reduce Senior Staff Costs",
"description": "Reduce Senior Staff Costs Description",
"impact_type_id": "1",
"impact": 55,
"active": "1",
"soft": "0",
"quantified": "1",
"total_benefits": "618750",
"year_1_benefits": "206250",
"year_2_benefits": "206250",
"year_3_benefits": "206250",
"year_4_benefits": "0",
"year_5_benefits": "0",
"year_1_sum": "206250",
"year_2_sum": "412500",
"year_3_sum": "618750",
"year_4_sum": "618750",
"year_5_sum": "618750",
"current_state_1": "375000",
"current_state_2": "375000",
"current_state_3": "375000",
"current_state_4": "0",
"current_state_5": "0",
"future_state_1": "168749.99999999997",
"future_state_2": "168749.99999999997",
"future_state_3": "168749.99999999997",
"future_state_4": "0",
"future_state_5": "0"
}
]
},
{
"id": "15292",
"name": "Estimate Reduction in Infrastructure Costs",
"description": "Estimate Reduction in Infrastructure Costs Description",
"total_benefits": "404121",
"year_1_benefits": "134707",
"year_2_benefits": "134707",
"year_3_benefits": "134707",
"year_4_benefits": "0",
"year_5_benefits": "0",
"year_1_sum": "134707",
"year_2_sum": "269414",
"year_3_sum": "404121",
"year_4_sum": "404121",
"year_5_sum": "404121",
"current_total": "404120.5800000001",
"current_state_1": "134706.86000000002",
"current_state_2": "134706.86000000002",
"current_state_3": "134706.86000000002",
"current_state_4": "0",
"current_state_5": "0",
"future_total": "0",
"future_state_1": "0",
"future_state_2": "0",
"future_state_3": "0",
"future_state_4": "0",
"future_state_5": "0",
"benefits": [
{
"id": "21842123",
"name": "Reduce Compute Costs",
"description": "Reduce Compute Costs Description",
"impact_type_id": "1",
"impact": 100,
"active": "1",
"soft": "0",
"quantified": "1",
"total_benefits": "303534",
"year_1_benefits": "101178",
"year_2_benefits": "101178",
"year_3_benefits": "101178",
"year_4_benefits": "0",
"year_5_benefits": "0",
"year_1_sum": "101178",
"year_2_sum": "202356",
"year_3_sum": "303534",
"year_4_sum": "303534",
"year_5_sum": "303534",
"current_state_1": "101178",
"current_state_2": "101178",
"current_state_3": "101178",
"current_state_4": "0",
"current_state_5": "0",
"future_state_1": "0",
"future_state_2": "0",
"future_state_3": "0",
"future_state_4": "0",
"future_state_5": "0"
},
{
"id": "21842122",
"name": "Reduce Storage Costs",
"description": "Reduce Storage Costs Description",
"impact_type_id": "1",
"impact": 100,
"active": "1",
"soft": "0",
"quantified": "1",
"total_benefits": "80871",
"year_1_benefits": "26957",
"year_2_benefits": "26957",
"year_3_benefits": "26957",
"year_4_benefits": "0",
"year_5_benefits": "0",
"year_1_sum": "26957",
"year_2_sum": "53914",
"year_3_sum": "80871",
"year_4_sum": "80871",
"year_5_sum": "80871",
"current_state_1": "26956.8",
"current_state_2": "26956.8",
"current_state_3": "26956.8",
"current_state_4": "0",
"current_state_5": "0",
"future_state_1": "0",
"future_state_2": "0",
"future_state_3": "0",
"future_state_4": "0",
"future_state_5": "0"
},
{
"id": "21842124",
"name": "Reduce Network Costs",
"description": "Reduce Network Costs Description",
"impact_type_id": "1",
"impact": 100,
"active": "1",
"soft": "0",
"quantified": "1",
"total_benefits": "19716",
"year_1_benefits": "6572",
"year_2_benefits": "6572",
"year_3_benefits": "6572",
"year_4_benefits": "0",
"year_5_benefits": "0",
"year_1_sum": "6572",
"year_2_sum": "13144",
"year_3_sum": "19716",
"year_4_sum": "19716",
"year_5_sum": "19716",
"current_state_1": "6572.06",
"current_state_2": "6572.06",
"current_state_3": "6572.06",
"current_state_4": "0",
"current_state_5": "0",
"future_state_1": "0",
"future_state_2": "0",
"future_state_3": "0",
"future_state_4": "0",
"future_state_5": "0"
}
]
}
]
}
