1global class BulkDraftEndorseConnectDriver {
2
3 global static void callBulkDraftEndorseConnectAPI() {
4 Map<String, Object> input = new Map<String, Object>();
5
6 ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation bulkInput =
7 new ConnectApi.InsurancePolicyBulkFieldMapInputRepresentation();
8
9 // Each policy now carries its own field value map instead of one shared map.
10 List<Map<String, Object>> policies = new List<Map<String, Object>>();
11 policies.add(buildPolicy('0YTxx000000001dGAA', new Map<String, Object>{
12 'Name' => 'Bulk Draft Endorse 1'
13 }));
14 policies.add(buildPolicy('0YTxx000000002dGAA', new Map<String, Object>{
15 'Name' => 'Bulk Draft Endorse 2'
16 }));
17 policies.add(buildPolicy('0YTxx000000003dGAA', new Map<String, Object>{
18 'Name' => 'Bulk Draft Endorse 3'
19 }));
20 bulkInput.policies = policies;
21
22 input.put('bulkInput', bulkInput);
23
24 Map<String, Object> output = new Map<String, Object>();
25 Map<String, Object> args = new Map<String, Object>();
26 args.put('input', input);
27 args.put('output', output);
28
29 BulkDraftEndorseTestConnectAPI callable = new BulkDraftEndorseTestConnectAPI();
30 Object result = callable.call('bulkDraftEndorse', args);
31
32 ConnectApi.InsurancePolicyBulkOutputRepresentation bulkData =
33 (ConnectApi.InsurancePolicyBulkOutputRepresentation) result;
34 System.debug('Bulk Draft Endorse Data: ' + JSON.serializePretty(bulkData));
35
36 if (output.containsKey('error')) {
37 System.debug('Error: ' + output.get('error'));
38 }
39 }
40
41 // Builds a single { policyId, fieldValueMap } entry for the policies list.
42 private static Map<String, Object> buildPolicy(String policyId, Map<String, Object> fieldValueMap) {
43 Map<String, Object> policy = new Map<String, Object>();
44 policy.put('policyId', policyId);
45 policy.put('fieldValueMap', fieldValueMap);
46 return policy;
47 }
48}