Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
ccrz.ccApiPriceList.fetchEntitled
Compatibility
This reference applies to:
Release | Managed Package Version | API Version |
---|---|---|
B2B Commerce for Visualforce Winter ’21 | 4.13 | 12 |
B2B Commerce for Visualforce Spring ’20 | 4.12 | 11 |
B2B Commerce for Visualforce Summer ’19 | 4.11 | 10 |
B2B Commerce for Visualforce Spring ’19 | 4.10 | 9 |
B2B Commerce for Visualforce Summer ’18 | 4.9 | 8 |
Signature
global static Map<String, Object> fetchEntitled(Map<String, Object>)
Service Layer Classes
- Logic Service Provider
- ccrz.ccLogicPLEntLists
Inputs (Required)
Map<String, Object> that must include the following required keys:
- ccrz.ccApi.API_VERSION
- The version of the B2B Commerce for Visualforce API to reference for the method call. We recommend that you use the ccrz.ccApi.CURRENT_VERSION constant whenever possible, and only reference a specific version for compatibility if necessary.
Inputs (Optional)
The input map can also include the following keys:
- ccrz.ccApi.SIZING
-
Map<String, Object> that specifies the
scope of data that this method returns. To return the price
list and price list item records that correspond to the entitled price list IDs, include
ccrz.ccApi.SZ_REFETCH => true in this key's
map.
ccrz.ccApi.SIZING => new Map<String, Object> { ccrz.ccApiPriceList.ENTITYNAME => new Map<String, Object> { ccrz.ccApi.SZ_REFETCH => true } }
- ccrz.ccApiPriceList.ALLWMIX
- Boolean
Value Usage true Allow mixed pricing queries when you filter by price group. The method tries to match the specified price group when returning price list records. If a price group match isn't available, the method falls back to the specified account's account group. false (default) Don't allow mixed pricing queries when you filter by price group. The method only tries to match the specified price group when returning price list records. If this key isn't specified in the input data, the method falls back to the value of the ccrz__E_AccountSettings__c.ccrz__AllowMixedPricingCarts__c field.
- ccrz.ccApiPriceList.CURRCODE
- String that specifies an ISO 4217 currency code, such as USD or JPY.
- ccrz.ccApiPriceList.EFFACCTID
- String that specifies an account ID record to filter entitled price lists by. The method returns only the price list records that are assigned to the specified account's account group.
- ccrz.ccApiPriceList.EFFDATE
- Date to filter price lists by. The method returns only the price list records where the date is included in the Start Date and End Date range.
- ccrz.ccApiPriceList.PRGRID
- String that specifies a price group ID record to filter price lists by.
- ccrz.ccApiPriceList.STOREFRONT
- String that specifies the name of a storefront for filtering the query.
Outputs
Map<String, Object> that can include the following keys:
- ccrz.ccApi.API_VERSION
- Integer that indicates which API version was used for the query.
- ccrz.ccApi.SUCCESS
- Boolean
Value Usage true The call completed. false The call encountered errors. - ccrz.ccApiPriceList.PLIDS
-
Map<String, Set<String>> keyed by:
- ccrz.ccApiPriceList.PGPLIDS for price lists entitled by price group
- ccrz.ccApiPriceList.ACCTGRPPLIDS for price lists entitled by account group
- ccrz.ccApiPriceList.PRICELISTS
- Map<String, Map<String,Object>> keyed by the IDs of the entitled price lists.
- ccrz.ccApiPriceList.PRICELISTITEMS
- Map<String, Map<String,Object>> keyed by the IDs of the price list items that belong to the price lists in ccrz.ccApiPriceList.PRICELISTS.
Example
Fetch price list IDs for a specified account ID.
Map<String, Object> entitledPriceListsToFetch = new Map<String, Object> {
ccrz.ccApi.API_VERSION => ccrz.ccApi.CURRENT_VERSION,
ccrz.ccApiPriceList.EFFACCTID => 'Account_ID'
};
Map<String, Object> entitledPriceListsFetched = ccrz.ccApiPriceList.fetchEntitled(entitledPriceListsToFetch);
System.debug('entitledPriceListsFetched KEYS=' + JSON.serializePretty(entitledPriceListsFetched.keySet()));
Boolean success = (Boolean)entitledPriceListsFetched.get(ccrz.ccApi.SUCCESS);
if(success) {
Map<String, Object> priceListIDs = (Map<String, Object>)entitledPriceListsFetched.get(ccrz.ccApiPriceList.PLIDS);
System.debug('plids=' + JSON.serializePretty(priceLists));
} else {
List<ccrz.cc_bean_Message> messages = (List<ccrz.cc_bean_Message>)entitledPriceListsFetched.get(ccrz.ccApi.MESSAGES);
System.debug('messages=' + messages);
}