Data Autofill
The Data Auto-Fill feature allows updating policy information before committing. This alleviates the need for end-users or integrated systems to have all of the information required to establish a transaction.
For example, upon supplying a VIN for a vehicle, the auto-fill feature could be used to populate the Make, Model, Year, and features for the vehicle.
Data Auto-Fill is available for these transactions:
Policy Create
Policy Update
Endorsement Create
Endorsement Update
Renewal Create
Renewal Update
The supplementary auto-fill information can be retrieved from an internal plugin or external systems via an External Service Integration.
Note
This feature is intended to be a substantial improvement over External Data Calls. Use of both for a single product is not supported. Support for external data calls will be removed from future releases, but not until a notice of deprecation is made and all customers have an opportunity to migrate.
Resolving the Auto-Fill Call Sequence
For each defined operation, Socotra will identify the sequence of external integration calls. This will always be a single list for a single request. To construct the list, Socotra will:
Use the sequence as given in the
autofill
property in the create or update request, if it is set. If the property is not set:Use the call definition that has an operation property that equals
<productName>.<transactionName>.<transactionAction>
, such aspersonal-auto.newBusiness.create
.If there is no match Socotra will try
<productName>.<transactionName>.*
, such aspersonal-auto.newBusiness.*
If there is still no match Socotra will try
<productName>.*.*
, such aspersonal-auto.*.*
Finally, if there is no match Socotra will look for an operation with
*.*.*
(i.e., any transaction.)
If Socotra does find a match it will use the sequence as given, and otherwise there will be no auto-fill calls for the policy transaction.
transactionName
can be any of:
newBusiness
endorsement
renewal
*
transactionAction
can be any of:
create
update
*
Note, the following operation structures are not supported:
*.<transactionName>.<transactionAction>
<productName>.*.<transactionAction>
*.<transactionName>.*
*.*.<transactionAction>
After a match is made, Socotra will determine the sequence of calls to be made. This is in the form of external service integration names and references to the internal plugin (an array of strings).
Execution
When a transaction is being executed, the autofill process will work as follows:
Determine the series of external calls needed (an ordered list of external service integration names) based on the process listed in the previous section.
Assemble a request as defined in the Call Protocol section
The policy create/update request data (for new business) or endorsement / renewal data will be updated based on the response.
Repeat for each name in the integrations sequence
This will happen for these events:
Policy / quote creation
Draft policy / quote update
Endorsement creation
Endorsement update
Renewal creation
Renewal update
Merge Behavior
If any of the properties is missing from the response, it will be interpreted to mean “unchanged.” To clear a value the property can be set to null or an empty value. Properties omitted from an Auto-Fill response will be included unchanged in subsequent requests in the call chain and will be persisted as explicitly specified.
Example
// Request:
{"fieldValues": {"color": ["blue"], "make":["camry"]}}
// Response:
{"fieldValues": {"make":["camry"]}} // fieldValue `color` is missing.
// Autofill request for a subsequent call / final policy transaction request contains:
{"fieldValues": {"color": ["blue"], "make":["camry"]}}
Flow Diagram
Setting Up Data Auto-Fill
External Calls
To establish and manage auto-fill integration points, use the External Service Integration API and create an integration with type data_autofill
.
Then, establish the sequence of calls, or “operations” with the external calls endpoints documented in Data Autofill API.
Internal Plugin
Logic which does not depend on an external call can be embedded in a new plugin called DataAutofill
which can take the place of an external call:
If the name in the call sequence equals internal
then the call will be sent to the plugin instead of externally. The payload put in the data input object will be the same as for an external call, and the required response will be the same as well.
If the Autofill plugin is not defined and an internal call is specified, the transaction will fail.
API for “Per Event” Autofill
The following objects will have an optional, autofill
property which is a sequence (array) of strings identifying external service integration names:
If the autofill
property is set for the transaction being executed, then the sequence given will be used. If not, Socotra will check to see if there is a configured sequence for that product/transaction/event combination as described in the next section.
If autofill is missing or set to null, it will be deemed to be not specified so the default for the operation will be used. If autofill is set to an empty array, no autofill operations will run for that request.
See Data Autofill API for service endpoint details.