Newer Version Available
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 |
|
| instanceKeys |
|
| optionFlags |
|
| quoteId |
|
| quoteLineItemIds |
|
Outputs
| Output | Details |
|---|---|
| asyncBulkRequestId |
|
| errorsList |
|
| isSuccess |
|
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]