Overview

  • The TMF648 API provides a standardized client interface for placing a customer quote with all of the necessary quote parameters. The API consists of a simple set of operations that interact with CRM/Order Negotiation systems in a consistent manner.
  • A customer quote is created based on a product offer that is defined in a catalog (POST). The quote identifies the product or set of products that are available to a customer, and includes characteristics such as pricing (eventually special pricing for the customer described in the quote), product options and agreement. You can also retrieve a customer quote or a collection of customer quotes (GET List) depending on the filter criteria.

In general, we can consider the various use cases listed based on the operation you want to perform.

Starting from the Winter ’27 release, only the Direct Access option will be supported. The MuleSoft gateway option will be deprecated, and customers must update their integrations to use the Connect/Apex REST endpoints for continued access to the inbound APIs.

Important

Assumptions 

It is assumed that you have completed the following.

Sequence of Operations 

Following block diagram provides a sequence of operations involved. Sequence NOTE:

  • For mandatory fields and resource mappings, refer TMF648 Resource Mappings.
  • For more information on supported Integration Procedures, Data Raptors, Apex Interfaces, Custom Metadata, refer Extend TMF648 API documentation.

Use Cases 

I want toRequest TypeExample URL
Retrieve and display details of a particular customer quote.GET by ID{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote/{ID}

NOTE:
For invalid product ID, you will receive HTTP 404 error.
Based on the provided field values, retrieve and display details of a particular product order ID.GET by ID and Fields{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote/00001205?fields=category,description,state

NOTE:
The requested fields will be part of output, if they have value.
List all the customer quotes present in the system.GET List{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote
List all the customer quotes present in the system based on the provided field values and filter applied.GET List by Fields and Filtering{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote?fields=category,description,state&state=Draft

NOTE:
The requested fields will be part of output, if they have value.
List customer quotes based on the date of creation, limit the number of customer quotes to a maximum of specified limit, and
starts the results display from page specified by offset.
GET List by limit and offset{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote?limit=2&offset=2

NOTE:
The pagination query mentioned above - limit=2&offset=2 will start display from page 2 and will have 2 records.
Create a new customer quote by providing the required details.POST{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote
NOTE:
A new customer quote gets created based on the values mentioned for the mandatory fields.

GET by ID 

Consider you want to retrieve details of a particular customer quote.

  • QuoteNumber is used as quote identifier
  • Retrieve and display all the not-null first level attributes and sub-resources of the requested entity

Sample URL 

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v60.0/quote/00003486

Sample Response 

1200 OK
2{
3  "PageInfo": "Page 1",
4  "PageSize": 50,
5  "result": {
6    "id": "00003486",
7    "description": "TMF648",
8    "category": "New Customer",
9    "quoteDate": "2023-10-26T13:56:49.000+0000",
10    "state": "Draft",
11    "agreement": [
12      {
13        "id": "00000100",
14        "name": "TMForum",
15        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000100"
16      }
17    ],
18    "billingAccount": [
19      {
20        "id": "CD451791",
21        "name": "Test Sh1",
22        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD451791"
23      }
24    ],
25    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00003486",
26    "version": "V1",
27    "relatedParty": [
28      {
29        "id": "CD3344",
30        "name": "Test Account",
31        "role": "Account",
32        "@referredType": "Account",
33        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD3344"
34      },
35      {
36        "id": "003Dp000007ElkNIAS",
37        "name": "jgfhd kuyf",
38        "role": "Contact",
39        "@referredType": "Contact",
40        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contact/003Dp000007ElkNIAS"
41      }
42    ],
43    "quoteTotalPrice": [
44      {
45        "price": {
46          "taxIncludedAmount": {
47            "unit": "$",
48            "value": 10.00
49          }
50        },
51        "priceType": "Recurring"
52      },
53      {
54        "price": {
55          "taxIncludedAmount": {
56            "unit": "$",
57            "value": 0.00
58          }
59        },
60        "priceType": "One-time"
61      }
62    ],
63    "quoteItem": [
64      {
65        "id": "00001933",
66        "action": "Add",
67        "quantity": 1.00,
68        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00001933",
69        "relatedParty": [
70          {
71            "id": "001Dp00000JGwiTIAT",
72            "name": "Test Account",
73            "role": "Service Account",
74            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Dp00000JGwiTIAT",
75            "@referredType": "Account"
76          }
77        ],
78        "productOffering": [
79          {
80            "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
81            "name": "TMF648 Product",
82            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
83            "@type": "Product2"
84          }
85        ]
86      }
87    ],
88    "contactMedium": [
89      {
90        "mediumType": "Email",
91        "characteristic": {
92          "emailAddress": "abc@salesforce.com",
93          "contactType": "Email"
94        }
95      },
96      {
97        "mediumType": "Phone",
98        "characteristic": {
99          "phoneNumber": "(990) 099-7788",
100          "contactType": "Phone"
101        }
102      },
103      {
104        "mediumType": "Fax",
105        "characteristic": {
106          "faxNumber": "abc",
107          "contactType": "Fax"
108        }
109      }
110    ]
111  }
112}

GET by ID and Fields 

Consider you want to retrieve details of the customer quote ID = 00001205. Get the following details in the output.

  • category
  • description
  • state

Sample URL 

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v60.0/quote/00001205?fields=category,description,state

Sample Response 

1200 OK
2{
3    "PageInfo": "Page 1",
4    "PageSize": 50,
5    "result": {
6        "category": "Existing Customer - Downgrade",
7        "description": "TMF648 testing",
8        "id": "00001205",
9        "state": "In Review",
10        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/quote/00001205"
11    }
12}

GET List 

Consider there are multiple customer quotes in the system and you want to list all of them.

Sample URL 

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v60.0/quote

Sample Response 

The sample response is assuming there are 3 quotes in system, displaying all the sub-resources, if present.

1200 OK
2{
3    "PageInfo": "Page 1",
4    "PageSize": 50,
5    "result": [
6        {
7            "category": "Existing Customer - Upgrade",
8            "description": "TMF648 testing 1",
9            "id": "00001204",
10            "quoteDate": "2023-09-13T03:46:02.000+0000",
11            "state": "Draft",
12            "agreement": [
13                {
14                    "id": "00000945",
15                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000945"
16                }
17            ],
18            "billingAccount": [
19                {
20                    "id": "CD123",
21                    "name": "Acme",
22                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD123"
23                }
24            ],
25            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00001204",
26            "version": "V1",
27            "relatedParty": [
28                {
29                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/1234",
30                    "id": "1234",
31                    "name": "Common Org Account",
32                    "role": "Account",
33                    "@referredType": "Account",
34                },
35                {
36                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contact/003Do00000PSgbhIAD",
37                    "id": "003Do00000PSgbhIAD",
38                    "name": "common",
39                    "role": "Contact",
40                    "@referredType": "Account",
41                }
42            ],
43            "contactMedium": [
44                {
45                    "mediumType": "Email",
46                    "characteristic": {
47                        "contactType": "Email",
48                        "emailAddress": "abc@salesforce.com"
49                    }
50                },
51                {
52                    "mediumType": "Phone",
53                    "characteristic": {
54                        "contactType": "Phone",
55                        "phoneNumber": "(990) 099-7788"
56                    }
57                },
58                {
59                    "mediumType": "Fax",
60                    "characteristic": {
61                        "contactType": "Fax",
62                        "faxNumber": "abc"
63                    }
64                }
65            ],
66            "quoteTotalPrice": [
67        {
68            "price": {
69                "taxIncludedAmount": {
70                    "unit" : "$",
71                    "value": 10.00
72                }
73            },
74            "priceType": "Recurring"
75        },
76        {
77            "price": {
78                "taxIncludedAmount": {
79                    "unit" : "$",
80                    "value": 0.00
81                }
82            },
83            "priceType": "One-time"
84        }
85    ],
86        "quoteItem": [
87            {
88                "id": "00001933",
89                "action": "Add",
90                "quantity": 1.00,
91                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00001933",
92                "relatedParty": [
93                    {
94                        "id": "001Dp00000JGwiTIAT",
95                        "name": "Test Account",
96                        "role": "Service Account",
97                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Dp00000JGwiTIAT",
98                        "@referredType": "Account"
99                    }
100                ],
101                "productOffering": [
102                    {
103                        "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
104                        "name": "TMF648 Product",
105                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
106                        "@type": "Product2"
107                    }
108                ]
109            }
110        ]
111        },
112        {
113            "category": "Existing Customer - Downgrade",
114            "description": "TMF648 testing",
115            "id": "00001205",
116            "quoteDate": "2023-09-13T03:46:20.000+0000",
117            "state": "In Review",
118            "agreement": [
119                {
120                    "id": "00000944",
121                    "name": "TMForum",
122                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000944"
123                }
124            ],
125            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00001205",
126            "version": "V1",
127            "contactMedium": [
128                {
129                    "mediumType": "Email",
130                    "characteristic": {
131                        "contactType": "Email",
132                        "emailAddress": "abc@salesforce.com"
133                    }
134                },
135                {
136                    "mediumType": "Phone",
137                    "characteristic": {
138                        "contactType": "Phone",
139                        "phoneNumber": "(887) 788-5566"
140                    }
141                },
142                {
143                    "mediumType": "Fax",
144                    "characteristic": {
145                        "contactType": "Fax",
146                        "faxNumber": "xyz"
147                    }
148                }
149            ],
150            "quoteTotalPrice": [
151        {
152            "price": {
153                "taxIncludedAmount": {
154                    "unit" : "$",
155                    "value": 10.00
156                }
157            },
158            "priceType": "Recurring"
159        },
160        {
161            "price": {
162                "taxIncludedAmount": {
163                    "unit" : "$",
164                    "value": 0.00
165                }
166            },
167            "priceType": "One-time"
168        }
169    ],
170        "quoteItem": [
171            {
172                "id": "00001933",
173                "action": "Add",
174                "quantity": 1.00,
175                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00001933",
176                "relatedParty": [
177                    {
178                        "id": "001Dp00000JGwiTIAT",
179                        "name": "Test Account",
180                        "role": "Service Account",
181                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Dp00000JGwiTIAT",
182                        "@referredType": "Account"
183                    }
184                ],
185                "productOffering": [
186                    {
187                        "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
188                        "name": "TMF648 Product",
189                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
190                        "@type": "Product2"
191                    }
192                ]
193            }
194        ]
195        },
196        {
197            "category": "New Customer",
198            "description": "TMF648 Testing 3",
199            "id": "00001206",
200            "quoteDate": "2023-09-13T03:46:35.000+0000",
201            "state": "Accepted",
202            "agreement": [
203                {
204                    "id": "00000944",
205                    "name": "TMForum",
206                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000944"
207                }
208            ],
209            "billingAccount": [
210                {
211                    "id": "CD123",
212                    "name": "Acme",
213                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD123"
214                }
215            ],
216            "quoteTotalPrice": [
217        {
218            "price": {
219                "taxIncludedAmount": {
220                    "unit" : "$",
221                    "value": 10.00
222                }
223            },
224            "priceType": "Recurring"
225        },
226        {
227            "price": {
228                "taxIncludedAmount": {
229                    "unit" : "$",
230                    "value": 0.00
231                }
232            },
233            "priceType": "One-time"
234        }
235    ],
236            "effectiveQuoteCompletionDate": "2023-09-19T13:58:29.000Z",
237            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00001206",
238            "version": "V1",
239            "relatedParty": [
240                {
241                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/1234",
242                    "id": "1234",
243                    "name": "Common Org Account",
244                    "role": "Account",
245                    "@referredType": "Account",
246                },
247                {
248                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contact/003Do00000PSgbhIAD",
249                    "id": "003Do00000PSgbhIAD",
250                    "name": "common",
251                    "role": "Contact",
252                    "@referredType": "Account",
253                }
254            ],
255            ,
256        "quoteItem": [
257            {
258                "id": "00001933",
259                "action": "Add",
260                "quantity": 1.00,
261                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00001933",
262                "relatedParty": [
263                    {
264                        "id": "001Dp00000JGwiTIAT",
265                        "name": "Test Account",
266                        "role": "Service Account",
267                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Dp00000JGwiTIAT",
268                        "@referredType": "Account"
269                    }
270                ],
271                "productOffering": [
272                    {
273                        "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
274                        "name": "TMF648 Product",
275                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
276                        "@type": "Product2"
277                    }
278                ]
279            }
280        ],
281            "contactMedium": [
282                {
283                    "mediumType": "Email",
284                    "characteristic": {
285                        "contactType": "Email",
286                        "emailAddress": "xyz@salesforce.com"
287                    }
288                },
289                {
290                    "mediumType": "Phone",
291                    "characteristic": {
292                        "contactType": "Phone",
293                        "phoneNumber": "(999) 222-8881"
294                    }
295                },
296                {
297                    "mediumType": "Fax",
298                    "characteristic": {
299                        "contactType": "Fax",
300                        "faxNumber": "xyz"
301                    }
302                }
303            ]
304        }
305    ]
306}

GET List by Fields and Filtering 

Consider you want to retrieve all the customer quotes present in the system with applied filter values.

Sample URL 

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v60.0/quote?fields=category,description,state&state=Draft

Sample Response 

1200 OK
2{
3    "PageInfo": "Page 1",
4    "PageSize": 50,
5    "result": {
6        "category": "Existing Customer - Upgrade",
7        "description": "TMF648 testing 1",
8        "id": "00001204",
9        "state": "Draft",
10        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/quote/00001204"
11    }
12}

GET List by limit and offset 

Consider you want to

  • Retrieve a list of quotes ordered by Date of Creation
  • Limit the number of quotes to a maximum of specified limit
  • Start the results display from page specified by offset

Sample URL 

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v60.0/quote?limit=2&offset=2

NOTE: If there are multiple quotes, the above pagination query - limit=2&offset=2 will start display from page 2 and will have 2 records.

Sample Response 

1200 OK
2{
3    "PageInfo": "Page 2",
4    "PageSize": 2,
5    "result": {
6        "category": "New Customer",
7        "description": "TMF648 Testing 3",
8        "id": "00001206",
9        "quoteDate": "2023-09-13T03:46:35.000+0000",
10        "state": "Accepted",
11        "agreement": [
12            {
13                "id": "00000944",
14                "name": "TMForum",
15                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/Contract/00000944"
16            }
17        ],
18        "billingAccount": [
19            {
20                "id": "CD123",
21                "name": "Acme",
22                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/Account/CD123"
23            }
24        ],
25        "effectiveQuoteCompletionDate": "2023-09-19T13:58:29.000Z",
26        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/quote/00001206",
27        "version": "V1",
28        "relatedParty": [
29            {
30                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/Account/1234",
31                "id": "1234",
32                "name": "Common Org Account",
33                "role": "Account",
34                "@referredType": "Account",
35            },
36            {
37                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/Contact/003Do00000PSgbhIAD",
38                "id": "003Do00000PSgbhIAD",
39                "name": "common",
40                "role": "Contact",
41                "@referredType": "Account",
42            }
43        ],
44        "contactMedium": [
45            {
46                "mediumType": "Email",
47                "characteristic": {
48                    "contactType": "Email",
49                    "emailAddress": "xyz@salesforce.com"
50                }
51            },
52            {
53                "mediumType": "Phone",
54                "characteristic": {
55                    "contactType": "Phone",
56                    "phoneNumber": "(999) 222-8881"
57                }
58            },
59            {
60                "mediumType": "Fax",
61                "characteristic": {
62                    "contactType": "Fax",
63                    "faxNumber": "xyz"
64                }
65            }
66        ]
67    }
68}

POST 

Consider you want to create a new customer quote with all first level attributes.

Sample URL 

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v60.0/quote

Sample Request 

1{
2  "description": "TMF648",
3  "category": "New Customer",
4  "quoteItem": [
5    {
6      "quantity": 1,
7      "action": "add",
8      "productOffering": [
9        {
10          "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
11          "name": "TMF648 Product",
12          "@type": "Product2"
13        }
14      ]
15    }
16  ]
17}

Sample Response 

1{
2    "quoteItem": [
3        {
4            "productOffering": [
5                {
6                    "@type": "Product2",
7                    "name": "TMF648 Product",
8                    "href": "/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
9                    "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5"
10                }
11            ],
12            "quantity": 1.00,
13            "action": "Add",
14            "href": "/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v57.0/QuoteLineItem/00001121",
15            "id": "00001121"
16        }
17    ],
18    "quoteTotalPrice": [
19        {
20            "price": {
21                "taxIncludedAmount": {
22                    "unit" : "$",
23                    "value": 10.00
24                }
25            },
26            "priceType": "Recurring"
27        },
28        {
29            "price": {
30                "taxIncludedAmount": {
31                    "unit" : "$",
32                    "value": 0.00
33                }
34            },
35            "priceType": "One-time"
36        }
37    ],
38    "version": "V1",
39    "href": "/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v57.0/quote/00002527",
40    "state": "Draft",
41    "quoteDate": "2023-10-09T15:04:57.000+0000",
42    "category": "New Customer",
43    "description": "TMF648",
44    "id": "00002527"
45}