---
schema_version: "1"
id: 505ce9ff49e4f536dbd25123d777e0d4fe49042a77b244436e087f138eb7074d
title: MultiServiceAppHandler
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/industries/cme/guides/comms-t-multiserviceapphandler.md
canonical_url: https://developer.salesforce.com/docs/industries/cme/guide/comms-t-multiserviceapphandler.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 9d5d5d13e038b1291d3a5906593b29d508ea1daed9172d9cf8740ed5a831715a
products:
  - Communications, Media, Energy and Utilities APIs (Managed Package)
  - Industries Developer Documentation
---
# MultiServiceAppHandler

MultiServiceAppHandler is a wrapper for CpqAppHandler that automatically handles scaling for processing thousands of sites and orders. Use this class and its methods when processing multiple items for multiple sites.

You can add a pre and post hook for MultiServiceAppHandler as you would for CpqAppHandler. See [Create Hooks for MultiServiceAppHandler](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-create-hooks-for-multiserviceapphandler.md).

The methods are listed below in logical groups.

| Method                                                                                  | Description                                                                                                        |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| [getMasterCarts Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-getmastercarts-method.md)                               | Returns a list of master carts (quotes and orders) for an opportunity.                                             |
| [cloneMasterCart Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-clonemastercart-method.md)                             | Clones an existing master quote or order. It copies all groups and their members. It doesn’t copy Sub Quote/Order. |
| [getGroups Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-getgroups-method.md)                                         | Returns a list of groups under a Master/Enterprise (Mega) quote or order, specific for a member-type.              |
| [createNewGroup Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-createnewgroup-method.md)                               | Creates a new group (quote or order) with or without the corresponding Group Quote or Group Order record.          |
| [updateGroup Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-updategroup-method.md)                                     | Updates the name and description of a group.                                                                       |
| [addToGroup Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-addtogroup-method.md)                                       | Adds a service point to a group.                                                                                   |
| [getObjectFieldsDescribe Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-getobjectfieldsdescribe-method.md)             | For a given set of objects, returns all their fields and details, such as label, name, type, and others.           |
| [runCartValidation Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-runcartvalidation-method.md)                         | Runs the Industries CPQ Validate API on a sub quote.                                                               |
| [priceCart Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-pricecart-method.md)                                         | Runs Industries CPQ pricing API on sub quotes.                                                                     |
| [groupRollup Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-grouprollup-method.md)                                     | Calculates the pricing rollups (OneTime, Recurring, Usage) for a group.                                            |
| [applyToGroup Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-applytogroup-method.md)                                   | Starts the Apply to Group batch job for a group.                                                                   |
| [createOrderAndSubmit Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-createorderandsubmit-method.md)                   | Starts the checkout batch job for a group.                                                                         |
| [isAllGroupsValidatedAndPriced Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-isallgroupsvalidatedandpriced-method.md) | Checks if all groups are validated and priced successfully. This runs validate VIP.                                |
| [updateExternalPricingStatus Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-updateexternalpricingstatus-method.md)     | Updates the external pricing status of a master quote.                                                             |
| [removeGroups Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-removegroups-method.md)                                   | Deletes a list of groups and their members.                                                                        |
| [getGroupMembers Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-getgroupmembers-method.md)                             | Returns a set of paginated member-records within a group.                                                          |
| [deleteMembers Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-deletemembers-method.md)                                 | Deletes the selected members from one or multiple groups.                                                          |
| [getUngroupedRecords Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-getungroupedrecords-method.md)                     | Returns a set of paginated non-members of a specific member type.                                                  |
| [invokeBatchSerially Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-invokebatchserially-method.md)                     | Perform multiple batch operations (one after another) on a set of records.                                         |
| [getFieldList Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-getfieldlist-method.md)                                   | Returns the configured fields in `FieldSet__c` for a specific feature name.                                        |
| [getMemberTypeList Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-getmembertypelist-method.md)                         | Returns a list of CPQ Member Type custom metadata.                                                                 |
| [refreshCartMSMessage Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-refreshcartmsmessage-method.md)                   | Regenerates all the messages of a group cart.                                                                      |
| [refreshGroupMSMessage Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-refreshgroupmsmessage-method.md)                 | Regenerates all the messages of a group.                                                                           |
| [cartRollup Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-cartrollup-method.md)                                       | Responsible for cart rollups.                                                                                      |
| [priceLineItems Method](https://developer.salesforce.com/docs/industries/cme/guide/comms-t-pricelineitems-method.md)                               | Responsible for pricing the line items.                                                                            |
