---
schema_version: "1"
id: c7273c9e5ee69dfba5d48af44cfbc4574c0be952115ab5961865281bfb2660a7
title: Overview
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/industries-integrations/comms/guides/TMF648/TMF648use-cases.md
canonical_url: https://developer.salesforce.com/docs/industries/communications/guide/TMF648use-cases.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: e04caef5e585612a56c4933196617505c79c3df623fa179716f8c00e52917b56
products:
  - Communications Cloud TM Forum API
  - Industries Integrations
---
# 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.
<!-- Following block diagram provides a high-level overview of how the various components are involved in handling TMF 648 API operations (GET, POST).
  ![TMF648 Components](https://developer.salesforce.com/media/TMF648.png "TMF648 Components")-->
- 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](#use-cases) listed based on the operation you want to perform.

**important:** 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.

## Assumptions

It is assumed that you have completed the following.

- [Enabling Access to Industry APIs](https://help.salesforce.com/s/articleView?id=sf.access_industry_api.htm&type=5)
- Ensuring that the required licenses and data packs are installed. For more information, see [Before you begin](https://developer.salesforce.com/docs/industries/communications/guide/TMF648.html#before-you-begin).

## Sequence of Operations

Following block diagram provides a sequence of operations involved.
![Sequence](https://developer.salesforce.com/media/TMF648_sequence.png "Sequence of Operations")
**NOTE**:

- For mandatory fields and resource mappings, refer [TMF648 Resource Mappings](https://developer.salesforce.com/docs/industries/communications/Resource_mappings/tmf648_resource_mapping.md).
- For more information on supported Integration Procedures, Data Raptors, Apex Interfaces, Custom Metadata, refer Extend TMF648 API documentation.

## Use Cases

| I want to                                                                                                                                                                                 | Request Type                                                          | Example URL                                                                                                                                                                                                                             |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Retrieve and display details of a particular customer quote.                                                                                                                              | [GET by ID](#get-by-id)                                               | _{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote/{ID}_<br><br>**NOTE:**<br>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](#get-by-id-and-fields)                         | _{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote/00001205?fields=category,description,state_<br><br>**NOTE:**<br>The requested fields will be part of output, if they have value.                      |
| List all the customer quotes present in the system.                                                                                                                                       | [GET List](#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](#get-list-by-fields-and-filtering) | _{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote?fields=category,description,state&state=Draft_<br><br>**NOTE:**<br>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<br>starts the results display from page specified by offset. | [GET List by limit and offset](#get-list-by-limit-and-offset)         | _{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote?limit=2&offset=2_<br><br>**NOTE:**<br>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](#post)                                                         | _{{orgendpoint}}/services/apexrest/{{namespace}}/tmforum/quoteManagement/v1/quote_<br>**NOTE:**<br>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

```
200 OK
{
  "PageInfo": "Page 1",
  "PageSize": 50,
  "result": {
    "id": "00003486",
    "description": "TMF648",
    "category": "New Customer",
    "quoteDate": "2023-10-26T13:56:49.000+0000",
    "state": "Draft",
    "agreement": [
      {
        "id": "00000100",
        "name": "TMForum",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000100"
      }
    ],
    "billingAccount": [
      {
        "id": "CD451791",
        "name": "Test Sh1",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD451791"
      }
    ],
    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00003486",
    "version": "V1",
    "relatedParty": [
      {
        "id": "CD3344",
        "name": "Test Account",
        "role": "Account",
        "@referredType": "Account",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD3344"
      },
      {
        "id": "003Dp000007ElkNIAS",
        "name": "jgfhd kuyf",
        "role": "Contact",
        "@referredType": "Contact",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contact/003Dp000007ElkNIAS"
      }
    ],
    "quoteTotalPrice": [
      {
        "price": {
          "taxIncludedAmount": {
            "unit": "$",
            "value": 10.00
          }
        },
        "priceType": "Recurring"
      },
      {
        "price": {
          "taxIncludedAmount": {
            "unit": "$",
            "value": 0.00
          }
        },
        "priceType": "One-time"
      }
    ],
    "quoteItem": [
      {
        "id": "00001933",
        "action": "Add",
        "quantity": 1.00,
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00001933",
        "relatedParty": [
          {
            "id": "001Dp00000JGwiTIAT",
            "name": "Test Account",
            "role": "Service Account",
            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Dp00000JGwiTIAT",
            "@referredType": "Account"
          }
        ],
        "productOffering": [
          {
            "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
            "name": "TMF648 Product",
            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
            "@type": "Product2"
          }
        ]
      }
    ],
    "contactMedium": [
      {
        "mediumType": "Email",
        "characteristic": {
          "emailAddress": "abc@salesforce.com",
          "contactType": "Email"
        }
      },
      {
        "mediumType": "Phone",
        "characteristic": {
          "phoneNumber": "(990) 099-7788",
          "contactType": "Phone"
        }
      },
      {
        "mediumType": "Fax",
        "characteristic": {
          "faxNumber": "abc",
          "contactType": "Fax"
        }
      }
    ]
  }
}
```

### 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

```
200 OK
{
    "PageInfo": "Page 1",
    "PageSize": 50,
    "result": {
        "category": "Existing Customer - Downgrade",
        "description": "TMF648 testing",
        "id": "00001205",
        "state": "In Review",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/quote/00001205"
    }
}
```

### 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.

```
200 OK
{
    "PageInfo": "Page 1",
    "PageSize": 50,
    "result": [
        {
            "category": "Existing Customer - Upgrade",
            "description": "TMF648 testing 1",
            "id": "00001204",
            "quoteDate": "2023-09-13T03:46:02.000+0000",
            "state": "Draft",
            "agreement": [
                {
                    "id": "00000945",
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000945"
                }
            ],
            "billingAccount": [
                {
                    "id": "CD123",
                    "name": "Acme",
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD123"
                }
            ],
            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00001204",
            "version": "V1",
            "relatedParty": [
                {
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/1234",
                    "id": "1234",
                    "name": "Common Org Account",
                    "role": "Account",
                    "@referredType": "Account",
                },
                {
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contact/003Do00000PSgbhIAD",
                    "id": "003Do00000PSgbhIAD",
                    "name": "common",
                    "role": "Contact",
                    "@referredType": "Account",
                }
            ],
            "contactMedium": [
                {
                    "mediumType": "Email",
                    "characteristic": {
                        "contactType": "Email",
                        "emailAddress": "abc@salesforce.com"
                    }
                },
                {
                    "mediumType": "Phone",
                    "characteristic": {
                        "contactType": "Phone",
                        "phoneNumber": "(990) 099-7788"
                    }
                },
                {
                    "mediumType": "Fax",
                    "characteristic": {
                        "contactType": "Fax",
                        "faxNumber": "abc"
                    }
                }
            ],
            "quoteTotalPrice": [
        {
            "price": {
                "taxIncludedAmount": {
                    "unit" : "$",
                    "value": 10.00
                }
            },
            "priceType": "Recurring"
        },
        {
            "price": {
                "taxIncludedAmount": {
                    "unit" : "$",
                    "value": 0.00
                }
            },
            "priceType": "One-time"
        }
    ],
        "quoteItem": [
            {
                "id": "00001933",
                "action": "Add",
                "quantity": 1.00,
                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00001933",
                "relatedParty": [
                    {
                        "id": "001Dp00000JGwiTIAT",
                        "name": "Test Account",
                        "role": "Service Account",
                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Dp00000JGwiTIAT",
                        "@referredType": "Account"
                    }
                ],
                "productOffering": [
                    {
                        "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
                        "name": "TMF648 Product",
                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
                        "@type": "Product2"
                    }
                ]
            }
        ]
        },
        {
            "category": "Existing Customer - Downgrade",
            "description": "TMF648 testing",
            "id": "00001205",
            "quoteDate": "2023-09-13T03:46:20.000+0000",
            "state": "In Review",
            "agreement": [
                {
                    "id": "00000944",
                    "name": "TMForum",
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000944"
                }
            ],
            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00001205",
            "version": "V1",
            "contactMedium": [
                {
                    "mediumType": "Email",
                    "characteristic": {
                        "contactType": "Email",
                        "emailAddress": "abc@salesforce.com"
                    }
                },
                {
                    "mediumType": "Phone",
                    "characteristic": {
                        "contactType": "Phone",
                        "phoneNumber": "(887) 788-5566"
                    }
                },
                {
                    "mediumType": "Fax",
                    "characteristic": {
                        "contactType": "Fax",
                        "faxNumber": "xyz"
                    }
                }
            ],
            "quoteTotalPrice": [
        {
            "price": {
                "taxIncludedAmount": {
                    "unit" : "$",
                    "value": 10.00
                }
            },
            "priceType": "Recurring"
        },
        {
            "price": {
                "taxIncludedAmount": {
                    "unit" : "$",
                    "value": 0.00
                }
            },
            "priceType": "One-time"
        }
    ],
        "quoteItem": [
            {
                "id": "00001933",
                "action": "Add",
                "quantity": 1.00,
                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00001933",
                "relatedParty": [
                    {
                        "id": "001Dp00000JGwiTIAT",
                        "name": "Test Account",
                        "role": "Service Account",
                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Dp00000JGwiTIAT",
                        "@referredType": "Account"
                    }
                ],
                "productOffering": [
                    {
                        "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
                        "name": "TMF648 Product",
                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
                        "@type": "Product2"
                    }
                ]
            }
        ]
        },
        {
            "category": "New Customer",
            "description": "TMF648 Testing 3",
            "id": "00001206",
            "quoteDate": "2023-09-13T03:46:35.000+0000",
            "state": "Accepted",
            "agreement": [
                {
                    "id": "00000944",
                    "name": "TMForum",
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000944"
                }
            ],
            "billingAccount": [
                {
                    "id": "CD123",
                    "name": "Acme",
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD123"
                }
            ],
            "quoteTotalPrice": [
        {
            "price": {
                "taxIncludedAmount": {
                    "unit" : "$",
                    "value": 10.00
                }
            },
            "priceType": "Recurring"
        },
        {
            "price": {
                "taxIncludedAmount": {
                    "unit" : "$",
                    "value": 0.00
                }
            },
            "priceType": "One-time"
        }
    ],
            "effectiveQuoteCompletionDate": "2023-09-19T13:58:29.000Z",
            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00001206",
            "version": "V1",
            "relatedParty": [
                {
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/1234",
                    "id": "1234",
                    "name": "Common Org Account",
                    "role": "Account",
                    "@referredType": "Account",
                },
                {
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contact/003Do00000PSgbhIAD",
                    "id": "003Do00000PSgbhIAD",
                    "name": "common",
                    "role": "Contact",
                    "@referredType": "Account",
                }
            ],
            ,
        "quoteItem": [
            {
                "id": "00001933",
                "action": "Add",
                "quantity": 1.00,
                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00001933",
                "relatedParty": [
                    {
                        "id": "001Dp00000JGwiTIAT",
                        "name": "Test Account",
                        "role": "Service Account",
                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Dp00000JGwiTIAT",
                        "@referredType": "Account"
                    }
                ],
                "productOffering": [
                    {
                        "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
                        "name": "TMF648 Product",
                        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
                        "@type": "Product2"
                    }
                ]
            }
        ],
            "contactMedium": [
                {
                    "mediumType": "Email",
                    "characteristic": {
                        "contactType": "Email",
                        "emailAddress": "xyz@salesforce.com"
                    }
                },
                {
                    "mediumType": "Phone",
                    "characteristic": {
                        "contactType": "Phone",
                        "phoneNumber": "(999) 222-8881"
                    }
                },
                {
                    "mediumType": "Fax",
                    "characteristic": {
                        "contactType": "Fax",
                        "faxNumber": "xyz"
                    }
                }
            ]
        }
    ]
}
```

### 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

```
200 OK
{
    "PageInfo": "Page 1",
    "PageSize": 50,
    "result": {
        "category": "Existing Customer - Upgrade",
        "description": "TMF648 testing 1",
        "id": "00001204",
        "state": "Draft",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/quote/00001204"
    }
}
```

### 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

```
200 OK
{
    "PageInfo": "Page 2",
    "PageSize": 2,
    "result": {
        "category": "New Customer",
        "description": "TMF648 Testing 3",
        "id": "00001206",
        "quoteDate": "2023-09-13T03:46:35.000+0000",
        "state": "Accepted",
        "agreement": [
            {
                "id": "00000944",
                "name": "TMForum",
                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/Contract/00000944"
            }
        ],
        "billingAccount": [
            {
                "id": "CD123",
                "name": "Acme",
                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/Account/CD123"
            }
        ],
        "effectiveQuoteCompletionDate": "2023-09-19T13:58:29.000Z",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/quote/00001206",
        "version": "V1",
        "relatedParty": [
            {
                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/Account/1234",
                "id": "1234",
                "name": "Common Org Account",
                "role": "Account",
                "@referredType": "Account",
            },
            {
                "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v60.0/Contact/003Do00000PSgbhIAD",
                "id": "003Do00000PSgbhIAD",
                "name": "common",
                "role": "Contact",
                "@referredType": "Account",
            }
        ],
        "contactMedium": [
            {
                "mediumType": "Email",
                "characteristic": {
                    "contactType": "Email",
                    "emailAddress": "xyz@salesforce.com"
                }
            },
            {
                "mediumType": "Phone",
                "characteristic": {
                    "contactType": "Phone",
                    "phoneNumber": "(999) 222-8881"
                }
            },
            {
                "mediumType": "Fax",
                "characteristic": {
                    "contactType": "Fax",
                    "faxNumber": "xyz"
                }
            }
        ]
    }
}
```

### 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

```
{
  "description": "TMF648",
  "category": "New Customer",
  "quoteItem": [
    {
      "quantity": 1,
      "action": "add",
      "productOffering": [
        {
          "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5",
          "name": "TMF648 Product",
          "@type": "Product2"
        }
      ]
    }
  ]
}
```

#### Sample Response

```
{
    "quoteItem": [
        {
            "productOffering": [
                {
                    "@type": "Product2",
                    "name": "TMF648 Product",
                    "href": "/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v57.0/Product2/686c69b9-9def-2dc2-4f69-11141e9f92c5",
                    "id": "686c69b9-9def-2dc2-4f69-11141e9f92c5"
                }
            ],
            "quantity": 1.00,
            "action": "Add",
            "href": "/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v57.0/QuoteLineItem/00001121",
            "id": "00001121"
        }
    ],
    "quoteTotalPrice": [
        {
            "price": {
                "taxIncludedAmount": {
                    "unit" : "$",
                    "value": 10.00
                }
            },
            "priceType": "Recurring"
        },
        {
            "price": {
                "taxIncludedAmount": {
                    "unit" : "$",
                    "value": 0.00
                }
            },
            "priceType": "One-time"
        }
    ],
    "version": "V1",
    "href": "/services/apexrest/vlocity_cmt/tmforum/quoteManagement/v57.0/quote/00002527",
    "state": "Draft",
    "quoteDate": "2023-10-09T15:04:57.000+0000",
    "category": "New Customer",
    "description": "TMF648",
    "id": "00002527"
}
```
