Create billing schedules from an insurance transaction.
API Version
66.0
Requires Chatter
No
Signature
public static ConnectApi.InsuranceTransactionBillingOutputRepresentation createBillingSchedulesFromTransaction(ConnectApi.InsuranceTransactionBillingInputRepresentation InsuranceTransactionBillingInput)
Parameters
InsuranceTransactionBillingInput
- Type: ConnectApi.InsuranceTransactionBillingInputRepresentation
- Details to create billing schedules from an insurance transaction.
Return Value
Type: ConnectApi.InsuranceTransactionBillingOutputRepresentation
Example
This is a sample to call the Create Billing Schedules connect API from Apex.
Class Definition
public with sharing class CreateInsuranceBillingScheduleCallable implements System.Callable{ public Object call(String actionType, 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'); // Retrieve the insurance policy transaction input data from the input map ConnectApi.InsuranceTransactionBillingInputRepresentation insuranceTransactionInput = (ConnectApi.InsuranceTransactionBillingInputRepresentation)inputMap.get('insuranceTransactionInput'); String insPolicyTransactionId = (String) inputMap.get('insPolicyTransactionId'); System.debug('Start of connect API call to Insurance Transaction Billing'); // Initialize the insurance transaction billing output representation ConnectApi.InsuranceTransactionBillingOutputRepresentation transactionBillingOutcome; // Call the Connect API to send the insurance transaction to billing try { transactionBillingOutcome = ConnectApi.InsuranceBillingFamily.createBillingSchedulesFromTransaction(insuranceTransactionInput); System.debug('Policy transaction send to billing successfully: ' + transactionBillingOutcome); // Put the transaction billing outcome in the output map outputMap.put('transactionBillingOutcome', transactionBillingOutcome); } catch (Exception e) { System.debug('Error while sending transaction to billing: ' + e.getMessage()); outputMap.put('error', e.getMessage()); } // Return the transaction billing outcome return transactionBillingOutcome; } }
Usage Example
global class ConnectDriver { global static void callInsuranceBillingConnectAPI(String insPolicyTransactionId){ Map<String, Object> input = new Map<String, Object>(); CreateInsuranceBillingScheduleCallable callable = new CreateInsuranceBillingScheduleCallable(); // Create and populate the InsuranceTransactionBillingInputRepresentation object ConnectApi.InsuranceTransactionBillingInputRepresentation insuranceTransactionInput = new ConnectApi.InsuranceTransactionBillingInputRepresentation(); // Populate transactionId for InsuranceTransactionBillingInputRepresentation insuranceTransactionInput.insPolicyTransactionId = insPolicyTransactionId; // Add the insuranceTransactionInput to the input map input.put('insuranceTransactionInput', insuranceTransactionInput); // 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 'insuranceBillingService' action Object result = callable.call('InsuranceBilling', args); // Retrieve the policy data from the result ConnectApi.InsuranceTransactionBillingOutputRepresentation transactionBillingOutcome = (ConnectApi.InsuranceTransactionBillingOutputRepresentation) result; // Output the policy data to the debug log System.debug('Insurance Transaction Billing API Response: ' + JSON.serializePretty(transactionBillingOutcome)); // Check for errors in the output map if (output.containsKey('error')) { System.debug('Error: ' + output.get('error')); } } }