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.
Return Value
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.
public with sharing class EditClaimCoveragePaymentDetailCallable implements System.Callable { public Object call(String action, Map<String, Object> args) { // Retrieve the input and output maps from the arguments Map<String, Object> inputMap = (Map<String, Object>) args.get('input'); Map<String, Object> outputMap = (Map<String, Object>) args.get('output'); // Check the action type if (action == 'editClaimCoveragePaymentDetail') { // Retrieve the required parameters from the input map String claimId = (String) inputMap.get('claimId'); String claimCoverageId = (String) inputMap.get('claimCoverageId'); String paymentDetailId = (String) inputMap.get('paymentDetailId'); ConnectApi.EditClaimCvrPaymentDetailInputRep editInputRep = (ConnectApi.EditClaimCvrPaymentDetailInputRep) inputMap.get('EditClaimCoveragePaymentDetailInput'); System.debug('Start of connect API call to edit claim coverage payment detail'); System.debug('Claim ID: ' + claimId); System.debug('Claim Coverage ID: ' + claimCoverageId); System.debug('Payment Detail ID: ' + paymentDetailId); // Initialize the output representation ConnectApi.EditClaimCoveragePaymentDetailRep editResponse; // Call the Connect API to edit claim coverage payment detail try { // Call the Connect API resource directly // The endpoint is: /connect/insurance/claims/${claimId}/coverages/${coverageId}/payment-details/${paymentDetailId} editResponse = ConnectApi.InsuranceClaimFamily.EditClaimCoveragePaymentDetail( editInputRep, claimId, claimCoverageId, paymentDetailId ); System.debug('Edit claim coverage payment detail completed successfully: ' + editResponse); // Put the editResponse in the output map outputMap.put('editResponse', editResponse); outputMap.put('isSuccess', editResponse.isSuccess); // Check if there are any errors if (editResponse.errors != null && !editResponse.errors.isEmpty()) { outputMap.put('errors', editResponse.errors); System.debug('Errors found: ' + editResponse.errors); } } catch (Exception e) { System.debug('Error while editing claim coverage payment detail: ' + e.getMessage()); outputMap.put('error', e.getMessage()); outputMap.put('isSuccess', false); } return editResponse; } // If the action is not recognized, return null return null; } }
Usage Example
This example shows how to call the EditClaimCoveragePaymentDetailCallable class and include the required input data.
PayExGratiaClaimCvrPaymentDetailCallable callable = new PayExGratiaClaimCvrPaymentDetailCallable(); // Prepare the input arguments Map<String, Object> input = new Map<String, Object>(); // Set the required parameters input.put('claimId', '0ZkSB0000001AVH0A2'); // Claim ID input.put('claimCoverageId', '0kPSB000000GHdu2AG'); // Claim Coverage ID input.put('paymentDetailId', '0l2SB000000CLsMYAW'); // Payment Detail ID // Create the input representation object // First create a Map with the properties Map<String, Object> payExGratiaInputMap = new Map<String, Object>(); payExGratiaInputMap.put('reason', 'Customer service goodwill payment'); // Convert the Map to ConnectApi.PayExGratiaClaimCvrPaymentDetailInputRep using JSON.deserialize String jsonString = JSON.serialize(payExGratiaInputMap); ConnectApi.PayExGratiaClaimCvrPaymentDetailInputRep payExGratiaInputRep = (ConnectApi.PayExGratiaClaimCvrPaymentDetailInputRep) JSON.deserialize(jsonString, ConnectApi.PayExGratiaClaimCvrPaymentDetailInputRep.class); input.put('PayExGratiaClaimCvrPaymentDetailInput', payExGratiaInputRep); // Prepare the output map Map<String, Object> output = new Map<String, Object>(); // Prepare the args map Map<String, Object> args = new Map<String, Object>(); args.put('input', input); args.put('output', output); // Call the 'payExGratiaClaimCvrPaymentDetail' action Object result = callable.call('payExGratiaClaimCvrPaymentDetail', args); // Check the result if (result != null) { System.debug('payExGratiaClaimCvrPaymentDetail processed successfully: ' + result); // Access the processed payment data ConnectApi.PayExGratiaClaimCvrPaymentDetailRep paymentData = (ConnectApi.PayExGratiaClaimCvrPaymentDetailRep) result; // Process the result as needed System.debug('Pay Ex Gratia Payment Data: ' + paymentData); // Check if the payment was successful if (paymentData.isSuccess) { System.debug('Pay Ex Gratia was successful'); System.debug('Paid Amount: ' + paymentData.paidAmount); System.debug('Claim Payment Summary ID: ' + paymentData.claimPaymentSummaryId); System.debug('Consumed Limit Count: ' + paymentData.consumedLimitCount); System.debug('Exceeded Amount: ' + paymentData.exceededAmount); System.debug('Exceeded Count: ' + paymentData.exceededCount); if (paymentData.insPolicyLimitTrackingIds != null && !paymentData.insPolicyLimitTrackingIds.isEmpty()) { System.debug('Insurance Policy Limit Tracking IDs: ' + paymentData.insPolicyLimitTrackingIds); } } else { System.debug('Pay Ex Gratia failed'); if (paymentData.errors != null) { System.debug('Error details: ' + paymentData.errors); } } } else { System.debug('Error occurred: ' + output.get('error')); }