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.

EditClaimCoveragePaymentDetail(EditClaimCoveragePaymentDetailInput, claimId, coverageId, paymentDetailId)

Modify a claim coverage payment detail record.

API Version

66.0

Requires Chatter

No

Signature

public static ConnectApi.EditClaimCoveragePaymentDetailRep EditClaimCoveragePaymentDetail(ConnectApi.EditClaimCvrPaymentDetailInputRep EditClaimCoveragePaymentDetailInput, String claimId, String coverageId, String paymentDetailId)

Parameters

claimId
Type: String
ID of the claim.
coverageId
Type: String
ID of the coverage that applies to the claim.
EditClaimCoveragePaymentDetailInput
Type: ConnectApi.EditClaimCvrPaymentDetailInputRep
Details to edit the claim coverage payment detail.
paymentDetailId
Type: String
ID of the claim coverage payment detail.

Example

Class Definition
This is a sample Apex code to define the EditClaimCoveragePaymentDetail class before you can call it from Apex to edit a claim coverage payment detail.
1
2public with sharing class EditClaimCoveragePaymentDetailCallable implements System.Callable {
3
4    public Object call(String action, Map<String, Object> args) {
5        // Retrieve the input and output maps from the arguments
6        Map<String, Object> inputMap = (Map<String, Object>) args.get('input');
7        Map<String, Object> outputMap = (Map<String, Object>) args.get('output');
8        
9        // Check the action type
10        if (action == 'editClaimCoveragePaymentDetail') {
11            // Retrieve the required parameters from the input map
12            String claimId = (String) inputMap.get('claimId');
13            String claimCoverageId = (String) inputMap.get('claimCoverageId');
14            String paymentDetailId = (String) inputMap.get('paymentDetailId');
15            
16            ConnectApi.EditClaimCvrPaymentDetailInputRep editInputRep = 
17                (ConnectApi.EditClaimCvrPaymentDetailInputRep) inputMap.get('EditClaimCoveragePaymentDetailInput');
18            
19            System.debug('Start of connect API call to edit claim coverage payment detail');
20            System.debug('Claim ID: ' + claimId);
21            System.debug('Claim Coverage ID: ' + claimCoverageId);
22            System.debug('Payment Detail ID: ' + paymentDetailId);
23            
24            // Initialize the output representation
25            ConnectApi.EditClaimCoveragePaymentDetailRep editResponse;
26            
27            // Call the Connect API to edit claim coverage payment detail
28            try {
29                // Call the Connect API resource directly
30                // The endpoint is: /connect/insurance/claims/${claimId}/coverages/${coverageId}/payment-details/${paymentDetailId}
31                editResponse = ConnectApi.InsuranceClaimFamily.EditClaimCoveragePaymentDetail(
32                    editInputRep,
33                    claimId, 
34                    claimCoverageId,
35                    paymentDetailId
36                );
37                
38                System.debug('Edit claim coverage payment detail completed successfully: ' + editResponse);
39                
40                // Put the editResponse in the output map
41                outputMap.put('editResponse', editResponse);
42                outputMap.put('isSuccess', editResponse.isSuccess);
43                
44                // Check if there are any errors
45                if (editResponse.errors != null && !editResponse.errors.isEmpty()) {
46                    outputMap.put('errors', editResponse.errors);
47                    System.debug('Errors found: ' + editResponse.errors);
48                }
49            }
50            catch (Exception e) {
51                System.debug('Error while editing claim coverage payment detail: ' + e.getMessage());
52                outputMap.put('error', e.getMessage());
53                outputMap.put('isSuccess', false);
54            }
55            
56            return editResponse;
57        }
58        
59        // If the action is not recognized, return null
60        return null;
61    }
62}
Usage Example
This example shows how to call the EditClaimCoveragePaymentDetailCallable class and include the required input data.
1PayExGratiaClaimCvrPaymentDetailCallable callable = new PayExGratiaClaimCvrPaymentDetailCallable();
2
3// Prepare the input arguments
4Map<String, Object> input = new Map<String, Object>();
5
6// Set the required parameters
7input.put('claimId', '0ZkSB0000001AVH0A2');                    // Claim ID
8input.put('claimCoverageId', '0kPSB000000GHdu2AG');            // Claim Coverage ID
9input.put('paymentDetailId', '0l2SB000000CLsMYAW');           // Payment Detail ID
10
11// Create the input representation object
12// First create a Map with the properties
13Map<String, Object> payExGratiaInputMap = new Map<String, Object>();
14payExGratiaInputMap.put('reason', 'Customer service goodwill payment');
15
16// Convert the Map to ConnectApi.PayExGratiaClaimCvrPaymentDetailInputRep using JSON.deserialize
17String jsonString = JSON.serialize(payExGratiaInputMap);
18ConnectApi.PayExGratiaClaimCvrPaymentDetailInputRep payExGratiaInputRep = 
19    (ConnectApi.PayExGratiaClaimCvrPaymentDetailInputRep) JSON.deserialize(jsonString, ConnectApi.PayExGratiaClaimCvrPaymentDetailInputRep.class);
20
21input.put('PayExGratiaClaimCvrPaymentDetailInput', payExGratiaInputRep);
22
23// Prepare the output map
24Map<String, Object> output = new Map<String, Object>();
25
26// Prepare the args map
27Map<String, Object> args = new Map<String, Object>();
28args.put('input', input);
29args.put('output', output);
30
31// Call the 'payExGratiaClaimCvrPaymentDetail' action
32Object result = callable.call('payExGratiaClaimCvrPaymentDetail', args);
33
34// Check the result
35if (result != null) {
36    System.debug('payExGratiaClaimCvrPaymentDetail processed successfully: ' + result);
37    
38    // Access the processed payment data
39    ConnectApi.PayExGratiaClaimCvrPaymentDetailRep paymentData = 
40        (ConnectApi.PayExGratiaClaimCvrPaymentDetailRep) result;
41    
42    // Process the result as needed
43    System.debug('Pay Ex Gratia Payment Data: ' + paymentData);
44    
45    // Check if the payment was successful
46    if (paymentData.isSuccess) {
47        System.debug('Pay Ex Gratia was successful');
48        System.debug('Paid Amount: ' + paymentData.paidAmount);
49        System.debug('Claim Payment Summary ID: ' + paymentData.claimPaymentSummaryId);
50        System.debug('Consumed Limit Count: ' + paymentData.consumedLimitCount);
51        System.debug('Exceeded Amount: ' + paymentData.exceededAmount);
52        System.debug('Exceeded Count: ' + paymentData.exceededCount);
53        
54        if (paymentData.insPolicyLimitTrackingIds != null && !paymentData.insPolicyLimitTrackingIds.isEmpty()) {
55            System.debug('Insurance Policy Limit Tracking IDs: ' + paymentData.insPolicyLimitTrackingIds);
56        }
57    } else {
58        System.debug('Pay Ex Gratia failed');
59        if (paymentData.errors != null) {
60            System.debug('Error details: ' + paymentData.errors);
61        }
62    }
63} else {
64    System.debug('Error occurred: ' + output.get('error'));
65}