bulkEndorseDraftInsurancePolicy(insurancePolicyBulkFieldMapInput)

Endorse draft policies in bulk for the specified insurance policy IDs.

API Version

67.0

Requires Chatter

No

Signature

public static ConnectApi.InsurancePolicyBulkOutputRepresentation bulkEndorseDraftInsurancePolicy(ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation insurancePolicyBulkFieldMapInput)

Parameters

insurancePolicyBulkFieldMapInput

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();