API Version
67.0
Requires Chatter
No
Signature
public static ConnectApi.InsurancePolicyBulkOutputRepresentation bulkEndorseDraftInsurancePolicy(ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation insurancePolicyBulkFieldMapInput)
Parameters
insurancePolicyBulkFieldMapInput
- Type: ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation
- Input representation of the request to endorse draft policies in bulk.
Return Value
Usage
Use this method to create endorsement drafts for insurance policies in bulk. The JSON input includes a field value map of insurance policy fields and a list of insurance policy IDs. After the request is successfully sent to the message queue, endorsement drafts are created asynchronously, and you receive either a success or failure notification after the completion of the request.
Example
The Apex example shows how to use the ConnectApi.InsuranceBrokerageFamily.bulkEndorseDraftInsurancePolicy() method to create endorsement drafts for multiple insurance policies in bulk.
Class Definition
This Apex example shows how to create endorsement drafts for multiple policies in bulk.
global class BulkDraftEndorseConnectDriver { global static void callBulkDraftEndorseConnectAPI() { Map<String, Object> input = new Map<String, Object>(); ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation bulkInput = new ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation(); // Each policy now carries its own field value map instead of one shared map. List<Map<String, Object>> policies = new List<Map<String, Object>>(); policies.add(buildPolicy('0YTxx000000001dGAA', new Map<String, Object>{ 'Name' => 'Bulk Draft Endorse 1' })); policies.add(buildPolicy('0YTxx000000002dGAA', new Map<String, Object>{ 'Name' => 'Bulk Draft Endorse 2' })); policies.add(buildPolicy('0YTxx000000003dGAA', new Map<String, Object>{ 'Name' => 'Bulk Draft Endorse 3' })); bulkInput.policies = policies; input.put('bulkInput', bulkInput); Map<String, Object> output = new Map<String, Object>(); Map<String, Object> args = new Map<String, Object>(); args.put('input', input); args.put('output', output); BulkDraftEndorseTestConnectAPI callable = new BulkDraftEndorseTestConnectAPI(); Object result = callable.call('bulkDraftEndorse', args); ConnectApi.InsurancePolicyBulkOutputRepresentation bulkData = (ConnectApi.InsurancePolicyBulkOutputRepresentation) result; System.debug('Bulk Draft Endorse Data: ' + JSON.serializePretty(bulkData)); if (output.containsKey('error')) { System.debug('Error: ' + output.get('error')); } } // Builds a single { policyId, fieldValueMap } entry for the policies list. private static Map<String, Object> buildPolicy(String policyId, Map<String, Object> fieldValueMap) { Map<String, Object> policy = new Map<String, Object>(); policy.put('policyId', policyId); policy.put('fieldValueMap', fieldValueMap); return policy; } }
Usage Example
Use the BulkDraftEndorseTestConnectAPI class to execute the bulkDraftEndorse action and process the result.
public class BulkDraftEndorseTestConnectAPI implements System.Callable { public Object call(String action, Map<String, Object> args) { Map<String, Object> inputMap = (Map<String, Object>) args.get('input'); Map<String, Object> outputMap = (Map<String, Object>) args.get('output'); if (action == 'bulkDraftEndorse') { ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation bulkInput = (ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation) inputMap.get('bulkInput'); System.debug('Start of Connect API call to bulk draft endorse policies'); ConnectApi.InsurancePolicyBulkOutputRepresentation bulkData; try { bulkData = ConnectApi.InsuranceBrokerageFamily.bulkEndorseDraftInsurancePolicy(bulkInput); System.debug('Policies bulk draft endorsed successfully: ' + bulkData); outputMap.put('bulkData', bulkData); } catch (Exception e) { System.debug('Error while bulk draft endorsing policies: ' + e.getMessage()); outputMap.put('error', e.getMessage()); } return bulkData; } return null; } } // Execute BulkDraftEndorseConnectDriver.callBulkDraftEndorseConnectAPI();