NAV Navbar
Logo

Introduction

Welcome to the setup and API documentation for Quote & Apply.

Quote & Apply Setup

Website Setup

Below you will find instructions detailing how to put Quote & Apply on your website.

<!doctype html>
</html>
<head>
  <title>My Website!!!</title>
</head>
<body>
  <p>This is my website.</p>
</body>
</html>

Determine where you wish to place Quote & Apply. In this website, we wish to place Quote & Apply inside the box represented by the black border.

<!doctype html>
</html>
<head>
  <title>My Website!!!</title>
</head>
<body>
  <p>This is my website.</p>
  <div id="container-id"></div><div><script id="strife" src="https://strife.back9ins.com/production/strife.js" data-strife-key="GpIZ3clg5x96WSR_" data-strife-container-id="container-id"></script></div>
</body>
</html>

That’s it! Save your changes and open your webpage. With our example, it should look something like this:

The following example details how you can use open Quote & Apply via a button and have it appear as a modal.

Place the code for your button where you want it to appear:

<!doctype html>
</html>
<head>
  <title>My Website!!!</title>
</head>
<body>
  <p>This is my website.</p>
  <img src="https://s3-us-west-2.amazonaws.com/portal-pictures/backnine.png">
</body>
</html>

<!doctype html>
</html>
<head>
  <title>My Website!!!</title>
</head>
<body>
  <p>This is my website.</p>
  <img class="strife-button" src="https://s3-us-west-2.amazonaws.com/portal-pictures/backnine.png">
</body>
</html>

In this example, the BackNine logo will be the trigger to open Quote & Apply. To bind this button to the application, add the CSS class “strife-button”:

Now place your unique Quote & Apply snippet anywhere below that button and above the </body> tag and remove the data-strife-container-id attribute.

<!doctype html>
</html>
<head>
  <title>My Website!!!</title>
</head>
<body>
  <p>This is my website.</p>
  <img class="strife-button" src="https://s3-us-west-2.amazonaws.com/portal-pictures/backnine.png">
  <script
    id="strife"
    src="https://strife.back9ins.com/production/strife.js"
    data-strife-key="SAMPLE"
    ></script>
</body>
</html>

Clicking the image should now result in opening Quote & Apply within a modal.

The following example details how you can setup Quote & Apply using Wordpress.

Log in to your WordPress site as admin. You should arrive at the Dashboard.

Go to your list of pages.

Find the page you wish to use Quote & Apply on. Click “Edit”. You should arrive at on some sort of editor that allows you to edit the content of the page.

Find and click on the “Text” mode at the top right of the editor. This will allow you to edit the content using HTML code.

Paste your snippet into the editor where you wish Quote & Apply to appear.

Image 6

Next, go to the “Publish” section and hit “Update”. The screen should refresh with a success message.

Click on “View page” to see your results.

For customers without a website, or if adding to your website is too difficult (technically or due to compliance), BackNine links are usually the suggested implementation. When you create an account in BOSS, you’ll automatically be emailed a BackNine link, here’s an example BackNine Link: https://app.back9ins.com/apply/ReidTattersall. You can create as many BackNine Links as you like and also customize the name (e.g. https://app.back9ins.com/apply/AgencyName). To create a BackNine Link, log into BOSS > Quote & Apply > Setup > type in the name you’d like to use > your BackNine Link will be instantly available.

Starting 10/17/2018, 👏 for customers with a website and with a significant amount of agents, Custom Domain Links allow your agents to use Quote & Apply on your domain (e.g. https://app.yourdomain.com/AgentName instead of https://app.back9ins.com/apply/AgentName) and don’t require you to set up webpages for your agents. To set this up, please email [email protected] the subdomain and domain that you’d like to use. For example, you could choose the subdomain “app” and have a domain “yourdomain.com” so the URL for your agents would be app.yourdomain.com/AgentName. Once you notify [email protected], we’ll respond with a value that you’ll use to create a CNAME. To create a CNAME, log into your domain’s DNS settings (e.g. GoDaddy), create a CNAME record with your subdomain (e.g. app) and point it to the value we provided you via email. Once you’ve saved your DNS changes you can create links within BOSS > Quote & Apply > Setup with your domain. An example use case is a P&C agency (myagency.com) with 200 agents, rather than embedding Quote & Apply into 200 pages, simply add the agents into BOSS and each agent will be emailed their Quote & Apply website (app.myagency.com/AgentName).

Analytics

Google Analytics

To view your session data within your Google Analytics account, log into BOSS > Quote & Apply > Setup > edit a specific Quote & Apply instance, and insert your Google Analytics ID. If you’d like to utilize our pre-built conversion funnel reports (shown in the image below), navigate to the Google Analytics Solutions Gallery > search for “Quote & Apply - Application Complete and Lead Created Funnel Goals” > click import next to the result authored by reidtattersall.

You should immediately see session data within your Google Analytics account. After 24 hours, you should see data within your Google Analytics reports (see screenshot) which is located in Google Analytics > Conversions > Goals > Funnel Visualization.

Google Tag Manager

To add your Google Tag Manager ID, log into BOSS > Quote & Apply > Setup and insert your Google Tag Manager ID. Import this container into your GTM account.

We will not report to your Google Analytics account if you insert a Google Tag Manager ID. If you want to utilize Google Analytics and Google Tag Manager, please implement Google Analytics via Google Tag Manager.

API Setup

Both the user of this API and the writing agent must have an account on BOSS.

You will need to set up both your back end and your front end in order to use our API.

Endpoint

Our root API endpoint is:

https://app.back9ins.com/api/v1

All request endpoints must be prepended with the above root URL.

Authentication

Each request must contain an authentication header:

X-BACKNINE-AUTHENTICATION: your-api-key

We will provide you with an API key.

Pre-filling Quote & Apply

URL

https://intelligentquote.com?prefill&first_name=Test&last_name=Person

If Quote & Apply is embedded into the HTML of your page. You can pre-fill Quote & Apply via the URL using query parameters. In the example above, Quote & Apply will load with the first and last name already filled on the application.

<div id="container-id"></div>
<div>
  <script
    id="strife"
    src="https://strife.back9ins.com/production/strife.js?prefill&npn=10790698&first_name=Test&last_name=Person&state=CA&gender=Male&birthdate=1970-01-01&smoker=Never&step=term_slider&phone=(800) 790-1951&[email protected]"
    data-strife-container-id="container-id"
  ></script>
</div>

You can also pre-fill using the snippet. In the example above, Quote & Apply will load with the agent associated with the NPN, first name, last name, state, gender, birthdate, smoking status, term slider step, client phone, and client email already filled in.

You can start a new Quote & Apply application using a URL with search parameters.

Search Parameters

These are the search parameters that will go at the end of the page.

Key Acceptable Values/Format Required? Default Description
prefill None Yes Empty The parameter indicating that Quote & Apply will be pre-filled.
npn Any number Yes when using the pre-fill using the snippet Empty The NPN of the agent, unless you are using the default agent for the URL.
first_name Any No None The insured’s first name.
last_name Any No None The insured’s last name.
gender Male or Female No None The insured’s gender. If specified, must be either Male or Female.
birthdate YYYY-MM-DD No None The insured’s birthdate. Must be in YYYY-MM-DD format.
state No State of user’s I.P. The client’s state. Must be the two-letter abbreviation. If not specified, Quote & Apply will attempt to get the location by looking at the user’s I.P.
health 1 through 5 No None The insured’s health, on a scale of 1 through 5.
smoker Never, Previously, or Currently No None The insured’s smoking status.
height Any number 50 through 83 No None The insured’s height in inches.
weight Any number No None The insured’s weight in lbs.
email Valid email No Empty The insured’s email address
phone Must contain 10 numbers. Numbers, spaces, parentheses, and dashes are accepted. No Empty The insured’s phone number
street_address Any No None The insured’s street address
city Any No None The insured’s city
zip 5 digit numeric No None The insured’s zip
years_at_address Numeric No None The length of time the insured has been at their address
employer Any No None The insured’s employer
occupation Any No None The insured’s occupation
years_of_employment Numeric No None The length of time the insured has been employed by employer
employer_street_address Any No None The insured’s street employer’s address
employer_city Any No None The insured’s employer’s city
employer_state Two character state abbreviation capitalized No None The insured’s employer’s state
employer_zip 5 digit numeric No None The insured’s employer’s zip
income Numeric No None The insured’s income
assets Numeric No None The insured’s assets
liabilities Numeric No None The insured’s liabilities
drivers_license Any No None The insured’s drivers_license
drivers_license_state Two character state abbreviation capitalized No None The insured’s drivers_license_state
ssn 9 digit numeric No None The insured’s social security number
step term_slider or non_med_slider or rop_term_slider or iul_slider or ul_with_ltc_slider or final_expense_slider or gul_slider or accidental_death No None The step to land on.
term_face_amount Any number 50000 through 10000000 No None The desired face amount to be shown on the slider for Term, ROP Term, or GUL.
final_expense_face_amount Any number 5000 through 40000 No None The desired face amount to be shown on the slider for Final Expense.
iul_premium Any number 100 through 50000 No None The desired premium to be shown on the slider for IUL.
ul_with_ltc_face_amount Any number 50000 through 5000000 No None The desired face amount to be shown on the slider for UL w/ LTC.
accidental_death_face_amount Any number 50000 through 500000 in increments of 50000 No None The desired face amount to be shown on the accidental death step.

Examples

https://www.intelligentquote.com?prefill&first_name=Mary&last_name=Sue&gender=Female&birthdate=1970-01-01&phone=(800) 790-1951&[email protected]

If you want to pre-fill an application for Mary Sue who was born Jan 1st, 1970, then direct them to the page listed at the right.

https://app.back9ins.com/apply/AgentName/AD?prefill&first_name=Mary&last_name=Sue&gender=Female&birthdate=1970-01-01&phone=(800) 790-1951&[email protected]

All agents have the following Quote & Apply websites with defaulted product_categories. You can dynamically set the agent by formatting the query string to match one of these examples. - https://app.back9ins.com/apply/AgentName - Has all products enabled - https://app.back9ins.coma/apply/AgentName/ltc_rider - Limited to only ul_with_ltc - https://app.back9ins.com/apply/AgentName/AD - Limited to only Accidental Death

If you want to pre-fill an application for Mary Sue who was born Jan 1st, 1970, sell accidental death, and you want to dynamically set the agent, then direct them to the page listed at the right.

Getting Quotes

Endpoint

POST https://app.back9ins.com/api/v1/quotes

Sample request

{
  "quotes": [{
    "face_amounts": [500000, 1000000],
    "gender": "Male",
    "birthdate": "1990-05-11",
    "state": "CA",
    "health": 3,
    "smoker": "Previously",
    "usages": [
      {
        "last_use_date": "2018-01-01",
        "frequency": 2,
        "category": "Cigarette"
      }
    ],
    "mode": 12,
    "product_categories": ["10 Year Term", "15 Year Return of Premium Term"]
  }]
}

Send an HTTPS POST request to the above route along with the request body in order to retrieve an array of quotes:

Key Required Notes
domain true will be deprecated in next version
npn true will be deprecated in next version
face_amounts true A list of the face amounts being quoted
state true two digit state abbreviation
mode true How many times per year the insured will be paying. Possible values are 1, 2, 4, or 12.
health true unless product_category = “Accidental Death”, “10 Year Non Medical Term”, “15 Year Non Medical Term”, “20 Year Non Medical Term”, “25 Year Non Medical Term”, “30 Year Non Medical Term”, “Final Expense”
smoker true unless product_category = “Accidental Death” The smoker status. Can be either Previously, Never, or Currently
usages false A list of smoker information for the different types of smokable items. Leave empty or omit if smoker status is Never.
product_categories true Possibilities: Accidental Death, 10 Year Non Medical Term, 10 Year Term, 15 Year Non Medical Term, 15 Year Return of Premium Term, 15 Year Term, 20 Year Non Medical Term, 20 Year Return of Premium Term, 20 Year Term, 25 Year Non Medical Term, 25 Year Return of Premium Term, 25 Year Term, 30 Year Non Medical Term, 30 Year Return of Premium Term, 30 Year Term, To Age 95, To Age 100, To Age 120. Final expense, IUL, and UL with Long Term Care are not currently supported.

Usages

This section describes the usages array.

Key Required Notes
last_use_date true if Previously, false otherwise The last use date of the smoking item.
frequency true Number of times per year that the smoker smokes this item.
category true Type of smoked item. Can be Cigarette, eCigarette, Pipe, Chew, Cigar, Marijuana.

Response format

{
  "quotes": [
    [
      {
        "carrier": {
          "name": "Prudential Financial",
          "avatar": "https://s3-us-west-2.amazonaws.com/portal-pictures/prudential_qa_logo.png",
          "established_year": 1873
        },
        "product": {
          "name": "Return Of Premium Term 15 (guar 15)",
          "carrier_e_delivery": false
        },
        "face_amount": 500000,
        "birthdate": "1990-05-11",
        "category": "15 Year Return of Premium",
        "original_category": "J:J3#30",
        "product_category": "15 Year Return of Premium Term",
        "premium": 366.48,
        "annual_premium": 4399.45,
        "mode": 12,
        "health": 3,
        "health_class": "Smoker",
        "health_rating": "Rg",
        "validated_rating": "Standard Tobacco"
      },
      {
        "carrier": {
          "name": "Banner",
          "avatar": "https://s3-us-west-2.amazonaws.com/portal-pictures/MZJJPPDV.jpg",
          "established_year": 1981
        },
        "product": {
          "name": "OPTerm 10",
          "carrier_e_delivery": false
        },
        "face_amount": 500000,
        "birthdate": "1990-05-11",
        "category": "10 Year Level Term Guaranteed",
        "original_category": "3:J3#30",
        "product_category": "10 Year Term",
        "premium": 67.51,
        "annual_premium": 784.99,
        "mode": 12,
        "health": 3,
        "health_class": "Standard Tobacco",
        "health_rating": "Rg",
        "validated_rating": "Standard Tobacco"
      },
      {
        "carrier": {
          "name": "Prudential Financial",
          "established_year": 1873
        },
        "product": {
          "name": "Return Of Premium Term 15 (guar 15)",
          "carrier_e_delivery": false
        },
        "face_amount": 1000000,
        "birthdate": "1990-05-11",
        "category": "15 Year Return of Premium",
        "original_category": "J:J3#30",
        "product_category": "15 Year Return of Premium Term",
        "premium": 591.94,
        "annual_premium": 7106,
        "mode": 12,
        "health": 3,
        "health_class": "Smoker",
        "health_rating": "Rg",
        "validated_rating": "Standard Tobacco"
      },
      {
        "carrier": {
          "name": "Banner",
          "avatar": "https://s3-us-west-2.amazonaws.com/portal-pictures/MZJJPPDV.jpg",
          "strife_disclosure": "Banner Life Insurance Company, 3275 Bennett Creek Avenue, Frederick, MD 21704.  Banner products are distributed in 49 states and in DC.  William Penn products are available exclusively in New York.  Banner does not solicit business in NY.",
          "established_year": 1981
        },
        "product": {
          "name": "OPTerm 10",
          "carrier_e_delivery": false
        },
        "face_amount": 1000000,
        "birthdate": "1990-05-11",
        "category": "10 Year Level Term Guaranteed",
        "original_category": "3:J3#30",
        "product_category": "10 Year Term",
        "premium": 125.56,
        "annual_premium": 1459.99,
        "mode": 12,
        "health": 3,
        "health_class": "Standard Tobacco",
        "health_rating": "Rg",
        "validated_rating": "Standard Tobacco"
      }
    ]
  ]
}

If the request is successful, we will return quotes in an array of arrays under the top-level quotes key of the JSON object.

Quote format

Each entry in the quotes array will contain the following data:

Key Type Description
carrier Object
product Object
premiums Object An object describing all the possible premiums. It will consist of key-value pairs in which the keys are integer representations of the mode, and the values are the corresponding premiums. Currently we only return premiums for the monthly mode ("12").
health_class String The carrier’s verbiage for the health class returned.

Pre-filling Quote & Apply

You can use the data from the quotes to pre-fill your eApp with a selected quote (potentially chosen by the user). All you have to do is set the premium, mode, and product_id returned from the quote response.

Accidental Death API

Endpoint

The endpoint for this action is as follows:

POST https://app.back9ins.com/api/v1/apply/accidental_death

Parameters

{
  "eft": {
    "account_type": "Checking",
    "routing_number": "000000000",
    "account_number": "0"
  },
  "electronic_application": {
    "approved_domain_id": 1,
    "face_amount": 500000,
    "gender": "Male",
    "birthdate": "1990-05-11",
    "state": "CA",
    "mode": 12,
    "product_category": "Accidental Death",
    "application_roles_attributes": [
      {
        "role": "Insured",
        "ownable_attributes": {
          "ownable_type": "Individual",
          "first_name": "John",
          "last_name": "Doe",
          "gender": "Male",
          "birthdate": "1990-05-11",
          "email": "[email protected]",
          "phone_mobile": "(123) 456-7890",
          "ssn": "123-45-6789",
          "birth_location": "FL",
          "addresses_attributes": [
            {
              "address_type": "home",
              "street_address": "1234 My Street",
              "city": "Westlake Village",
              "state": "CA",
              "zip": "91362",
              "country": "United States"
            }
          ]
        }
      },
      {
        "role": "Primary Beneficiary",
        "relationship": "Other",
        "beneficiary_qualifier": "Percent",
        "beneficiary_amount": 1,
        "ownable_attributes": {
          "ownable_type": "Entity",
          "name": "Test Business",
          "tin": "12-3456789",
          "phone_work": "(123) 456-7890"
        }
      },
      {
        "role": "Contingent Beneficiary",
        "relationship": "Grandfather",
        "beneficiary_qualifier": "Percent",
        "beneficiary_amount": 1,
        "ownable_attributes": {
          "ownable_type": "Individual",
          "first_name": "Test",
          "last_name": "Beneficiary",
          "birthdate": "1950-05-11"
        }
      }
    ],
    "electronic_application_cases_attributes": [
      {
        "product_id": 2645,
        "status": "Active"
      }
    ],
    "editors_attributes": [{
      "name": "Test Editor",
      "email": "[email protected]"
    }]
  }
}

Send an HTTPS POST request to the above route along with the request body to generate an eApp session for your client.

Top-level parameters

These are the top-level JSON parameters you will be sending to our endpoint.

Key Type Requiredness Description
electronic_application Object required See parameters below.
eft Object required See parameters below.

Electronic Application parameters

These describe the electronic_application parameter listed above.

Key Type Requiredness Default Description
approved_domain_id Number required null The ID of the approved domain. Check BOSS to get the ID of the domain you wish to associate the eApp with.
face_amount Number required null The face amount applied for.
gender String required null The gender of the applicant. Must be “Male” or “Female”.
birthdate String required null The birthdate in YYYY-MM-DD format.
state String required null The 2 digit state abbreviation.
mode Number required 12 A number representing the premium mode. Can be 12 (monthly), 4 (quarterly), 2 (semi-annually), or 1 (annually).
test Boolean optional * Indicates whether this is a test eApp or a real eApp. Defaults to the value on the approved domain. Check BOSS to see the value for the domain you pass in.
application_roles_attributes Array required null Creates roles such as “insured” on the policy.

Application Roles parameters

These describe the application_roles_attributes parameter listed above. You can use this parameter to pre-fill the insured’s info on the eApp. You also use this parameter to determine who will be the beneficiaries. You must have at least one primary beneficiary. The sum of all primary beneficiaries must add up to 1 (or 100%). The sum of all contingent beneficiaries must also add up to 1 (or 100%).

Key Type Requiredness Default Description
role String required null The role of the ownable on the policy. Valid options are: “Insured”, “Primary Beneficiary”, “Contingent Beneficiary”.
relationship String required for non-insured null The relationship to the Insured. Can be "Mother", "Father", "Grandfather", "Brother", "Sister", etc. This field must be null for the insured.
beneficiary_qualifier String required and reserved for beneficiaries only null Must be "Percent". Only used for beneficiaries.
beneficiary_amount Float required and reserved for beneficiaries only null A floating-point number representing the percentage the beneficiary will receive if the insured passes. 1 means 100%, 0.5 means 50%, etc. Only used for beneficiaries.
ownable_attributes Object required null Attributes describing the ownable.

Ownable parameters

These describe the ownable_attributes parameter listed above for Application Roles. This is a polymorphic association, but we currently only support parameters describing an individual. You can use this parameter to pre-fill the insured’s info on the eApp.

Key Type Requiredness Default Description
ownable_type String required null The type of the ownable. Must be “Individual”.
first_name String required null
last_name String required null
phone_mobile String required null The individual’s phone number. It must be in the format (XXX) XXX-XXXX. This is the phone number that shows up on the personal information section (step 2) of the app.
email String required null Must be in a valid email format.
ssn String required null Must be in the format XXX-XX-XXXX.
birthdate String required null Must be in the format YYYY-MM-DD.
gender String required null Must be either “Male” or “Female”.

Address parameters

This section describes one entry in the addresses_attributes array.

Key Type Requiredness Default Description
address_type String required null Currently can only be “home”.
street_address String required null The ownable’s street address, both name and number. For example, “1234 My Street”.
city String required null
state String required null The state’s two letter abbreviation, such as “CA” for California.
zip String required null The 5 digit postal code. Must be in the format “XXXXX”.
country String required null Currently we only support “United States”.

Electronic Application Case parameters

This section describes one entry in the electronic_application_cases_attributes array.

Use this section to list the applicants pending and inforce insurance. Only one electronic_application_case per status is necessary.

Key Type Requiredness Default Description
product_id Number required null Currently can only be 2645.
status String required null Can be "Active", "Pending", or "Active - Being Replaced".

EFT parameters

These describe the top-level eft parameter listed above. The EFT must be the insured’s EFT.

Key Type Requiredness Default Description
account_type String required null “Checking” or “Savings”.
routing_number String required null A valid routing number (no spaces).
account_number String required null A valid account number (no spaces).