Newer Version Available

This content describes an older version of this product. View Latest

Generate Insurance Clauses Action

Generate insurance clauses based on the specified quote and context information. You must specify either quote ID or context ID to generate insurance clauses.

This action is available in API version 65.0 and later.

Supported REST HTTP Methods

URI
/services/data/v66.0/actions/standard/generateInsuranceClauses
Formats
JSON, XML
HTTP Methods
POST
Authentication
Authorization: Bearertoken

Inputs

Input Details
contextId
Type

string

Description
Required if quoteId isn't specified.
Context ID of the insurance quote.
instanceKeys
Type

string

Description
Required if quoteLineItemId isn't specified.
Unique keys that identify the products to which quote line items belong.
optionFlags
Type

Apex-defined

Description
An Apex runtime_industries_insurance.GenerateInsuranceClausesOptions record that contains the configuration and execution options to generate the insurance clauses.
quoteId
Type

string

Description
Required if contextId isn't specified.
ID of the insurance quote for adding eligible clauses.
quoteLineItemIds
Type

string

Description
Required if quoteLineItemId isn't specified.
IDs of the quote line item for the quote.

Outputs

Output Details
asyncBulkRequestId
Type

string

Description
ID of the asynchronous bulk request.
errorsList
Type

string

Description
Errors that are encountered during the operation.
isSuccess
Type

boolean

Description
Indicates whether the operation is successful (true) or not (false).

Example

Sample Request

1{
2  "inputs": [
3    {
4      "quoteId": "0Q0xx0000000001AAA",
5      "contextId": "0000000i18tq18g0025175944829641764efd423f7dc44b98dd1e829086efc59",
6      "quoteLineItemIds": [
7        "0QLxx0000000003CCC"
8      ],
9      "instanceKeys": [
10        {
11          "instanceKey": [
12            "Auto",
13            "Liability"
14          ]
15        }
16      ],
17      "optionFlags": {
18        "generateClausesAsync": true,
19        "generateManualClauses": false,
20        "saveContext": true
21      }
22    }
23  ]
24}

This is a sample request to call this invocable action from Apex code.

1// Sample Apex call for generateInsuranceClauses invocable action
2public class GenerateInsuranceClausesInvoke {
3    private static final String ACTION_NAME = 'generateInsuranceClauses';
4
5    public static Boolean invokeMethod(Map<String, Object> inputs, Map<String, Object> output) {
6        if (output == null) {
7            output = new Map<String, Object>();
8        }
9
10        try {
11            Invocable.Action action = Invocable.Action.createStandardAction(ACTION_NAME);
12
13            // Either quoteId or contextId is required
14            setInvocationParameter(action, inputs, 'quoteId', false);
15            setInvocationParameter(action, inputs, 'contextId', false);
16
17            // Optional inputs
18            setInvocationParameter(action, inputs, 'quoteLineItemIds', false);
19            setInvocationParameter(action, inputs, 'instanceKeys', false);
20
21            // Optional optionFlags map
22            if (inputs != null && inputs.containsKey('optionFlags')) {
23                Map<String, Object> generateClauseOptions =
24                    (Map<String, Object>) inputs.get('optionFlags');
25                if (generateClauseOptions != null) {
26                    runtime_industries_insurance.GenerateInsuranceClausesOptions apexOptions =
27                        new runtime_industries_insurance.GenerateInsuranceClausesOptions();
28                    if (generateClauseOptions.containsKey('saveContext')) {
29                        apexOptions.SaveContext =
30                            (Boolean) generateClauseOptions.get('saveContext');
31                    }
32                    if (generateClauseOptions.containsKey('generateManualClauses')) {
33                        apexOptions.GenerateManualClauses =
34                            (Boolean) generateClauseOptions.get('generateManualClauses');
35                    }
36                    if (generateClauseOptions.containsKey('generateClausesAsync')) {
37                        apexOptions.generateClausesAsync =
38                            (Boolean) generateClauseOptions.get('generateClausesAsync');
39                    }
40                    action.setInvocationParameter('optionFlags', apexOptions);
41                }
42            }
43
44            List<Invocable.Action.Result> results = action.invoke();
45            if (results != null && !results.isEmpty() && results[0].isSuccess()) {
46                output.put('output', results[0].getOutputParameters());
47                output.put('success', true);
48                return true;
49            }
50
51            output.put('success', false);
52            if (results != null && !results.isEmpty()) {
53                output.put('errors', results[0].getErrors());
54            }
55            return false;
56        } catch (Exception e) {
57            output.put('success', false);
58            output.put('errorMessage', e.getMessage());
59            return false;
60        }
61    }
62
63    private static void setInvocationParameter(
64        Invocable.Action action,
65        Map<String, Object> payload,
66        String attribute,
67        Boolean serializeJson
68    ) {
69        if (payload != null && payload.containsKey(attribute) && payload.get(attribute) != null) {
70            if (serializeJson) {
71                action.setInvocationParameter(attribute, JSON.serialize(payload.get(attribute)));
72            } else {
73                action.setInvocationParameter(attribute, payload.get(attribute));
74            }
75        }
76    }
77}

Sample Response

1[
2  {
3    "actionName": "generateInsuranceClauses",
4    "errors": null,
5    "invocationId": null,
6    "isSuccess": true,
7    "outcome": null,
8    "outputValues": {
9      "isSuccess": true,
10      "asyncBulkRequestId": "750xx0000000001AAA",
11      "errorsList": []
12    },
13    "sortOrder": -1,
14    "version": 1
15  }
16]