App Marketplace

Documentation

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.

Overview

Socotra Core Autofill documentation outlines that autofill information can be retrieved from an internal plugin or external systems via External System Integration. Marketplace app supports the latter mode of autofill integration - external system call, where app instance will be configured as such external integration and can proxy calls coming from Socotra Core to external APIs.

Application developer configures, via manifest section, which app paths to be registered as an Autofill's external integration call. Also developer has to specify on which events Socotra tenant must trigger autofill calls.

Autofill app configuration uses product mapping fields to identify which products need autofill integration installation, so manifest allows only <transactionName>.<transactionAction> parts of the transaction definition.Find more details about available options in Resolving the Auto-Fill Call Sequence page.

Marketplace app will receive data autofill requests when Socotra Core events raised and can retrieve data from 3rd-party systems to pre-fill specific policy (or endorsement or renewal) objects with additional information.

A typical example of Autofill application is a "VIN lookup" for motor insurance products. Operator enters a VIN number and Autofill app triggers to fill the rest of the details - make, model, year of manufacture etc.

App manifest

Autofill are configured in socotra-app.json manifest file at the following path

{
  "name": "org-name/app-name",
  "version": "0.0.1",
  "socotra": {
    "autofill": [
      // Collection of autofill objects
    ]
  }
}

Each entry in autofill objects collection is a json object with following properties.

path string (required) - Property which defines which application endpoint will be registered as autofill URL with external integration. When application starts - it assigned a public url which looks like abc123.sandbox.outpost.marketplace.socotra.com. During registration step, it combined with path value and the result https://abc123.sandbox.outpost.marketplace.socotra.com/<path-value> will be registered as url of Socotra Core external integration.

operations string[ ] (required) - values from a predefined collection of operation names which are supported. Resolving the Auto-Fill Call Sequence describes in details how operations string can be formed. All possible combinations (at the moment of writing ) of <transactionName>.<transactionAction> pattern are:

  • newBusiness.create
  • newBusiness.update
  • newBusiness.*
  • endorsement.create
  • endorsement.update
  • endorsement.*
  • renewal.create
  • renewal.update
  • renewal.*
  • *.*

Marketplace manifest supports all operations that are supported in Socotra Core, so when this collection is expanded in Socotra Core API - Marketplace app can start subscribing to new operations straight away.

Example of app-manifest with configured autofill integrations:

{
  "name": "org-name/app-name",
  "version": "0.0.1",
  "socotra": {
    "autofill": [
      {
        "path": "/autofill/newInstance",
        "operations": ["newBusiness.create", "renewal.create", "endorsement.create"]
      },
      {
        "path": "/autofill/allRenewals",
        "operations": ["renewal.*"]
      }
    ]
  }
}

Autofill registration

When application starts, it must have at least one product field mapping configured. Mapped field used to identify which product(s) Autofill integration must be registered for.

Marketplace Platform will use a collection of field mappings to identify all products, where to register Autofill integrations and generate corresponding <product-name>.<transactionName>.<transactionAction> statements for autofill endpoints from manifest. Then it will proceed and register all endpoints as external integrations with a customer tenant.

Important: If application declares multiple product mapping fields and customer maps fields from different products, then Marketplace platform will register Autofill integrations with all selected products for each endpoint in app-manifest. See example below to understand this behaviour

Example:

  • App manifest has 2 product mapping fields, model and make
  • App manifest has 1 autofill endpoint with newBusiness.create,endorsement.create and renewal.create operations
  • Customer tenant has 2 products - 'personal-auto' and 'simple_auto'

Scenario 1: Customer maps both, model and make product fields to fields in a single product, e.g. 'personal-auto'. Because all product fields mapped to the same product, Marketplace platform will install one external service integration for autofill and associate it with newBusiness.create,endorsement.create and renewal.create operations.

Scenario 2: Customer maps model field to 'personal-auto' product, but make field to 'simple_auto'. Because two fields have been mapped to different products - Marketplace platform will install external service integration for autofill into both, 'personal-auto' and 'simple_auto' products. And each integration will be associated with newBusiness.create,endorsement.create and renewal.create operations.