NAV
javascript

Direct-to-Consumer Products

Introduction

Welcome to the brief Tune Protect API integration guide, designed to help you set up the offering our products on your platform.

You may self-signup to our UAT environment via apiportaluat.tuneprotect.com. Once you have signed up, reach out to us so that we can approve your account. You may then create an Application and correcponding API Key from the self-service developer portal.

Our integrations team are at hand to support you along the way.

Postman collection

No Product Postman Collection Link
1 Motor Easy https://www.getpostman.com/collections/edfcb8f19b542396bfa3
2 Home Easy https://www.getpostman.com/collections/f653e41a5a13b3040de1
3 Pro-Health Medical https://www.getpostman.com/collections/7edb5848d91fc157f10a
4 PA Easy https://www.getpostman.com/collections/0a98d92921f0e97c7bb1
5 DENTAL Easy https://www.getpostman.com/collections/a7fba87b3ae21298bf3a
6 TRAVEL Easy https://www.getpostman.com/collections/b42b4f585f85c8141564
7 TRAVEL Inbound https://www.getpostman.com/collections/ae1533fab21614ce98c4
8 Home Shield https://www.getpostman.com/collections/d520fe9c4ea83c40c9b4
9 Critical Illness https://www.getpostman.com/collections/250b64e06ec55e723d6f
10 Bike Easy https://www.getpostman.com/collections/67b6534e9646dfd05035

About the API

We use a REST SERVICE with UTF-8 encoding. We have produced a Postman collection to allow you to view examples of the requests and to act as a template, you can view the collections in the sections below.

Suggested Development Process

Project Details

Scope

Scope of this document covers the necessary technical details for the integration of the D2C APIs for channel partners

The integration involves the components provisioned by D2C as below:

Deliverables

Upon completion of the integration, Channel Partner will be able to enable purchase for TPM B2C products and submit claim for those policies.

Functional and Non-functional Requirements


Payload Structure Syntax :
{"url":"https://tpmrsuat.tuneprotect.com/rocketship/v1/products/quote/
options","payload":"{\"quoteId\":\"\",\"customerId\":\"\",
\"productCode\":\"MOTOREASY\",\"parameters\":[{\"name\":\"nric\",
\"value\":\"930610146420\"},{\"name\":\"vehicleNumber\",\"value\":\"WC5142H\"},
{\"name\":\"location\",\"value\":\"Johor\"}]}","token":"Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJhcHBsaWNhdGlvblZlcnNpb24iOm51bGwsImNsaWVudElkIjoic2I0UWhObUFnUU09IiwicGFydG5lck
5hbWUiOiJKck5Ud2x5QmNXWEdZWmxCbjU5RHV5MjY4TGlKVFJCVGVKdm9kcmdWUHlzPSIsImxhdGl0dWRl
IjpudWxsLCJjaGFubmVsIjoidmNaN2tkVmMyQkNhWm4vUXFPYnVZUT09IiwicHVzaHRva2VuIjpudWxsLC
J1c2VyTmFtZSI6InBTUFYwaEtlSCs3VzdIRU9HVHlIcVE9PSIsImRldmljZUlkIjpudWxsLCJ1c2VySWQi
OiItMSIsImF1dGhvcml0aWVzIjpbIlNBVkVfQ1VTVE9NRVIiLCJVUERBVEVfVFJBTlNBQ1RJT05fU1RBVF
VTIiwiVE9LRU5fQ0hFQ0siLCJHRVRfQ0VfUFJPRklMRSIsIlZFUklGWV9QSU4iLCJVTkxPQ0tfQllfUkVG
TElOSyIsIkdFVF9VU0VSSU5GT1JNQVRJT04iLCJHRVRfQ0VfUFJPRklMRVRIRU1FIiwiQ0hBTkdFX1BJTi
IsIkdFVF9TUEVDSUZJQ19RVU9URSIsIkdFVF9QUk9EVUNUIiwiR0VUX0JBU0lDUVVPVEUiLCJHRVRfU0VD
VVJJVFlRVUVTVElPTiIsIkdFVF9DRV9QUk9GSUxFREFUQU1FU1NBR0UiLCJNU19TRU5EX0ZPUkdPVF9QQV
NTV09SRF9FTUFJTCIsIlNFVF9QSU4iLCJHRVRfQ0VfU0VUVElOR1MiLCJWRVJJRllfVEFDIiwiUkVTRVRQ
SU5fUkVRVUVTVCIsIk1TX1VTRVJfTE9HSU4iLCJHRVRfU0VUVElOR1MiLCJHRVRfU1VSVkVZX1FVRVNUSU
9OUyIsIkdFVF9DRV9QQUdFIiwiR0VUX1FVT1RFIiwiQ1JFQVRFX0NVU1RPTUVSIiwiR0VUX0NFX1NUWUxF
IiwiVVBEQVRFX1BJTiIsIlVQREFURV9RVU9URSIsIkdFVF9DRV9BU1NFVCIsIlNFTkRfVEFDIiwiTVNfVk
VSSUZZX1VTRVIiLCJSRVNFVF9QQVNTV09SRCIsIkNSRUFURV9QQVNTV09SRCIsIkVBUk5fTE9ZQUxUWSIs
IlNVQk1JVF9QVVJDSEFTRV9TVVJWRVkiLCJNU19SRVNFVF9QQVNTV09SRCIsIklOSVRJQVRFX1RSQU5TQU
NUSU9OIiwiR0VUX0NFX0FQUExJQ0FUSU9OIiwiR0VUX0NFX1FVT1RFIiwiRkVUQ0hfTE9ZQUxUWSIsIkNS
RUFURV9FTlFVSVJZIiwiR0VUX0NFX0FSVElDTEUiLCJWRVJJRllfU0VDVVJJVFlRVUVTVElPTiIsIkdFVF
9QQVNTV09SRF9DUklURVJJQSIsIlZFUklGWV9TV0lUQ0hDVVNUT01FUiJdLCJwbGF0Zm9ybSI6bnVsbCwi
Y2xpZW50X2lkIjoic2I0UWhObUFnUU09Iiwic2NvcGUiOlsiY3VzdG9tZXIiXSwicGxhdGZvcm1WZXJzaW
9uIjpudWxsLCJwYXJ0bmVySWQiOiJQWVM0N0J2dHhTbCtpZWphSDUxUnJRPT0iLCJleHAiOjE2MDAwNzM1
NjAsImp0aSI6ImZjMTUwNTQ2LWU4YjUtNDIyNC04Nzc2LWQ1YmQ1OGExODU2MCIsImxvbmdpdHVkZSI6bn
VsbH0.fJbqwaFTwfkajlO87NQX48waxyMeurfDahKa7VlUXiA"}

 
Secret Key : Secret Key will be shared Later Offline
Hash Function : SHA-256
Output Text Format : Base64


For the execution of authentication token call, channel partner need to provide username and password. Username is APP ID & password need to be created using AES 256 GCM algorithm. In AES 256 GCM , encrypting text should be Client Secret & Key used for encryption should be Signing Key.

IV Parameter for encryption : kcFJajVYw6vFOQ==

Tune team will share APP ID, Client secret & Signing Key via email during the project initiation phase.

For the execution of post methods calls, Channel Partner need to provide signature in header. Signature is created using HMAC-SHA256.

You can refer below example to create signature.

API Integration Workflow

Purchase Workflow

Motor - API Request And Response Details

Get Basic Quote API:


NVIC Available Vehicles

Request:
{
  "quoteId": "",
  "customerId": "",
  "productCode": "MOTOREASY",
  "parameters": [
    {
      "name": "nric",
      "value": "930610146420"
    },
    {
      "name": "vehicleNumber",
      "value": "WC5142H"
    },
    {
      "name": "location",
      "value": "Johor"
    }
  ]
}


Response:
{
  "productCode": "MOTOREASY",
  "quoteId": "1610000351989912",
  "affiliatePartnerURL": "https://tpmrsuat.tuneprotect.com/quote/RS_Quote_Motor?sourceid=src12345&productcode=MOTOREASY&data=fGxvY2F0aW9uOkpvaG9yfG5yaWM6NjExMTE5MTI1MTQ2fG5hdGlvbmFsaXR5Q2hlY2s6MXx2ZWhpY2xlTnVtYmVyOlNZODE0NHw="
  "plans": [
    {
      "planCode": "Basic",
      "currency": "MYR",
      "displayName": "Option 1",
      "quotedAmount": "335.74",
      "sumInsured": "16020.00",
      "basePremium": "307.30"
    },
    {
      "planCode": "Choice",
      "currency": "MYR",
      "displayName": "Option 2",
      "quotedAmount": "348.02",
      "sumInsured": "17800.00",
      "basePremium": "318.89"
    },
    {
      "planCode": "Plus",
      "currency": "MYR",
      "displayName": "Option 3",
      "quotedAmount": "360.30",
      "sumInsured": "18690.00",
      "basePremium": "330.47"
    }
  ],
  "userInformationDTO": {
    "parameters": [
      {
        "name": "category",
        "value": "PAS"
      },
      {
        "name": "chassisNo",
        "value": "PM2B200S003131969"
      },
      {
        "name": "coverType",
        "value": "3"
      },
      {
        "name": "curNCD",
        "value": "0.45"
      },
      {
        "name": "engineCapacity",
        "value": "998"
      },
      {
        "name": "engineNo",
        "value": "H09B52K"
      },
      {
        "name": "make",
        "value": "PERODUA"
      },
      {
        "name": "makeCode",
        "value": "33"
      },
      {
        "name": "marketValue",
        "value": "17800.0"
      },
      {
        "name": "model",
        "value": "AXIA"
      },
      {
        "name": "modelCode",
        "value": "10"
      },
      {
        "name": "ncdEffDate",
        "value": "17122019"
      },
      {
        "name": "ncdExpDate",
        "value": "16122020"
      },
      {
        "name": "nextNCD",
        "value": "0.55"
      },
      {
        "name": "nextNcdEffDate",
        "value": "07012021"
      },
      {
        "name": "nvic",
        "value": "IYU15A"
      },
      {
        "name": "polExpDate",
        "value": "16122020"
      },
      {
        "name": "preInsCode",
        "value": "247"
      },
      {
        "name": "seatingCapacity",
        "value": "5"
      },
      {
        "name": "vehicleVariant",
        "value": "SE MY14 5 SP MANUAL"
      },
      {
        "name": "vehClass",
        "value": "02"
      },
      {
        "name": "vehRegNo",
        "value": "WC5142H"
      },
      {
        "name": "vehUse",
        "value": "1"
      },
      {
        "name": "yearMake",
        "value": "2015"
      }
    ]
  }
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
nric String
vehicleNumber String
location String
NVIC Not Available Vehicles

Request Payload
{
  "quoteId": "",
  "customerId": "",
  "productCode": "MOTOREASY",
  "parameters": [
    {
      "name": "nric",
      "value": "750808105044"
    },
    {
      "name": "vehicleNumber",
      "value": "BEH9388"
    },
    {
      "name": "location",
      "value": "Johor"
    }
  ]
}
Response
Status Code : 300
{
  "parameterName": "vehicleVariant",
  "options": [
    "SX  5 SP MANUAL",
    "EZ  4 SP AUTOMATIC",
    "SXi  5 SP MANUAL",
    "EZi  4 SP AUTOMATIC",
    "GHP ADVANCED  5 SP MANUAL",
    "ZHP ADVANCED  4 SP AUTOMATIC",
    "M2 EDITION  4 SP AUTOMATIC"
  ]
}

NVIC Available Vehicles with vehicleVariant
{
  "quoteId": "",
  "customerId": "",
  "productCode": "MOTOREASY",
  "parameters": [
    {
      "name": "nric",
      "value": "750808105044"
    },
    {
      "name": "vehicleNumber",
      "value": "BEH9388"
    },
    {
      "name": "location",
      "value": "Johor"
    },
    {
      "name": "vehicleVariant",
      "value": "SXi 5 SP MANUAL"
    }
  ]
}

Response
{
  "productCode": "MOTOREASY",
  "quoteId": "1610001035158191",
"affiliatePartnerURL": "https://tpmrsuat.tuneprotect.com/quote/RS_Quote_Motor?sourceid=src12345&productcode=MOTOREASY&data=fGxvY2F0aW9uOkpvaG9yfG5yaWM6NjExMTE5MTI1MTQ2fG5hdGlvbmFsaXR5Q2hlY2s6MXx2ZWhpY2xlTnVtYmVyOlNZODE0NHw="
  "plans": [
    {
      "planCode": "Basic",
      "currency": "MYR",
      "displayName": "Option 1",
      "quotedAmount": "387.54",
      "sumInsured": "19080.00",
      "basePremium": "356.17"
    },
    {
      "planCode": "Choice",
      "currency": "MYR",
      "displayName": "Option 2",
      "quotedAmount": "412.10",
      "sumInsured": "21200.00",
      "basePremium": "379.34"
    },
    {
      "planCode": "Plus",
      "currency": "MYR",
      "displayName": "Option 3",
      "quotedAmount": "424.38",
      "sumInsured": "22260.00",
      "basePremium": "390.92"
    }
  ],
  "userInformationDTO": {
    "parameters": [
      {
        "name": "category",
        "value": "PAS"
      },
      {
        "name": "chassisNo",
        "value": "PM2M502G002081070"
      },
      {
        "name": "coverType",
        "value": "3"
      },
      {
        "name": "curNCD",
        "value": "0.55"
      },
      {
        "name": "engineCapacity",
        "value": "1495"
      },
      {
        "name": "engineNo",
        "value": "G15A20J"
      },
      {
        "name": "make",
        "value": "PERODUA"
      },
      {
        "name": "makeCode",
        "value": "33"
      },
      {
        "name": "marketValue",
        "value": "21200.0"
      },
      {
        "name": "model",
        "value": "ALZA"
      },
      {
        "name": "modelCode",
        "value": "09"
      },
      {
        "name": "ncdEffDate",
        "value": "14122019"
      },
      {
        "name": "ncdExpDate",
        "value": "13122020"
      },
      {
        "name": "nextNCD",
        "value": "0.55"
      },
      {
        "name": "nextNcdEffDate",
        "value": "07012021"
      },
      {
        "name": "nvic",
        "value": "HL311A"
      },
      {
        "name": "polExpDate",
        "value": "13122020"
      },
      {
        "name": "preInsCode",
        "value": "247"
      },
      {
        "name": "seatingCapacity",
        "value": "7"
      },
      {
        "name": "vehicleVariant",
        "value": "SXi  5 SP MANUAL"
      },
      {
        "name": "vehClass",
        "value": "02"
      },
      {
        "name": "vehRegNo",
        "value": "BEH9388"
      },
      {
        "name": "vehUse",
        "value": "1"
      },
      {
        "name": "yearMake",
        "value": "2011"
      }
    ]
  }
}

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters with vehicleVariant in request:

PARAMETER TYPE
locale String
productCode String
nric String
vehicleNumber String
location String
vehicleVariant String
{
  "quoteId": "",
  "customerId": "",
  "productCode": "MOTOREASY",
  "parameters": [
    {
      "name": "nric",
      "value": "750808105043"
    },
    {
      "name": "vehicleNumber",
      "value": "BEH9388"
    },
    {
      "name": "location",
      "value": "Johor"
    },
    {
      "name": true,
      "value": "M2 EDITION  4 SP AUTOMATIC"
    }
  ]
}


Response
Status Code : 417

{
  "summary": "Please re-enter your NRIC number or contact us for further assistance.",
  "description": "Please re-enter your NRIC number or contact us for further assistance.",
  "errorCode": "TAOS_ERROR_VIX_13",
  "statusCode": "412",
  "paramErrors": [
    {
      "paramName": "responseDetails",
      "error": "TAOS_ERROR_VIX_13"
    }
  ],
  "params": null,
  "title": "Invalid NRIC",
  "validityInSeconds": 0
}

Get Quote Details API:


Response:
{
  "success": true,
  "messages": "Requested Quote is : ",
  "data": {
    "productCode": "MOTOREASY",
    "quoteId": "1610000351989912",
    "selectedPlanCode": "Basic",
    "selectedPlanDisplayName": "Option 1",
    "quotedAmount": "399.83",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": {
      "parameters": [
        {
          "name": "category",
          "value": "PAS"
        },
        {
          "name": "chassisNo",
          "value": "PM2M502G002081070"
        },
        {
          "name": "coverType",
          "value": "3"
        },
        {
          "name": "curNCD",
          "value": "0.55"
        },
        {
          "name": "engineCapacity",
          "value": "1495"
        },
        {
          "name": "engineNo",
          "value": "G15A20J"
        },
        {
          "name": "make",
          "value": "PERODUA"
        },
        {
          "name": "makeCode",
          "value": "33"
        },
        {
          "name": "marketValue",
          "value": "22300.0"
        },
        {
          "name": "model",
          "value": "ALZA"
        },
        {
          "name": "modelCode",
          "value": "09"
        },
        {
          "name": "ncdEffDate",
          "value": "14122019"
        },
        {
          "name": "ncdExpDate",
          "value": "13122020"
        },
        {
          "name": "nextNCD",
          "value": "0.55"
        },
        {
          "name": "nextNcdEffDate",
          "value": "16062021"
        },
        {
          "name": "nvic",
          "value": "HL411A"
        },
        {
          "name": "polExpDate",
          "value": "13122020"
        },
        {
          "name": "preInsCode",
          "value": "247"
        },
        {
          "name": "seatingCapacity",
          "value": "7"
        },
        {
          "name": "vehicleVariant",
          "value": "EZi  4 SP AUTOMATIC"
        },
        {
          "name": "vehClass",
          "value": "02"
        },
        {
          "name": "vehRegNo",
          "value": "BEH9388"
        },
        {
          "name": "vehUse",
          "value": "1"
        },
        {
          "name": "yearMake",
          "value": "2011"
        }
      ]
    },
    "detailedQuotation": [
      {
        "rateName": "CoverPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "AllRiderPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "BAPA",
        "quotedAmount": "908.05"
      },
      {
        "rateName": "NCD",
        "quotedAmount": "499.43"
      },
      {
        "rateName": "ExtendPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "EXTRABFTS",
        "quotedAmount": "0"
      },
      {
        "rateName": "EXTRACOVER",
        "quotedAmount": "0"
      },
      {
        "rateName": "Premium",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTDiscountAmount",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTPerc",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTAmount",
        "quotedAmount": "0"
      },
      {
        "rateName": "SD_ME",
        "quotedAmount": "10"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "399.83"
      },
      {
        "rateName": "TotalAmountPayable",
        "quotedAmount": "399.83"
      },
      {
        "rateName": "SchedulePremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "ONLINEDISCPERC",
        "quotedAmount": "10.0"
      },
      {
        "rateName": "ONLINEDISC",
        "quotedAmount": "40.86"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "367.76"
      },
      {
        "rateName": "TrailerPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "TotalExtraCoverPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "NoClaimDiscount",
        "quotedAmount": "0"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "408.62"
      },
      {
        "rateName": "LOAD",
        "quotedAmount": "0"
      },
      {
        "rateName": "SST",
        "quotedAmount": "22.07"
      },
      {
        "rateName": "SSTPerc",
        "quotedAmount": "6.0"
      },
      {
        "rateName": "EXCESS",
        "quotedAmount": "200.7"
      },
      {
        "rateName": "NCDPerc",
        "quotedAmount": "55.0"
      },
      {
        "rateName": "TOTALEXTRAS",
        "quotedAmount": "0"
      },
      {
        "rateName": "driver",
        "quotedAmount": "0"
      }
    ],
    "optionalBenefits": [],
    "customerInformation": [],
    "purchaserInformation": null,
    "additionalInformation": [],
    "eligibleForPayd": false,
    "loyaltyEnabled": false,
    "loyalty": null
  },
  "code": 200
}

Quote details API is used to fetch complete details for a specific (selected) product plan. We will get following details from get quote API.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/quote?productCode=MOTOREASY&planCode=Basic&quoteId=1610000351989912&locale=en_us

Method:GET

Query parameters:

PARAMETER TYPE
productCode String
planCode String
quoteId String
locale String

Update Quote (with Customer details) API:


Request:

{
  "productCode": "MOTOREASY",
  "quoteId": "1623840867137818",
  "selectedPlanCode": "Basic",
  "quotedAmount": "399.83",
  "optionalBenefits": [],
  "customerInformation": [
    {
      "name": "nationality",
      "value": "MYS"
    },
    {
      "name": "documentID",
      "value": "750808-10-5044"
    },
    {
      "name": "mobileNumber",
      "value": "919496711129"
    },
    {
      "name": "dob",
      "value": "1975/08/08"
    },
    {
      "name": "emailAddress",
      "value": "[email protected]"
    },
    {
      "name": "gender",
      "value": "Female"
    },
    {
      "name": "documentType",
      "value": "nric"
    },
    {
      "name": "fullName",
      "value": "TEST"
    }
  ],
  "purchaserInformation": [],
  "additionalInformation": [],
  "quoteItems1": [],
  "quoteItems2": []
}

Response:

{
  "success": true,
  "messages": " Update success. ",
  "data": {
    "productCode": "MOTOREASY",
    "quoteId": "1623840867137818",
    "selectedPlanCode": "Basic",
    "selectedPlanDisplayName": "Option 1",
    "quotedAmount": "399.83",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": {
      "parameters": [
        {
          "name": "category",
          "value": "PAS"
        },
        {
          "name": "chassisNo",
          "value": "PM2M502G002081070"
        },
        {
          "name": "coverType",
          "value": "3"
        },
        {
          "name": "curNCD",
{
  "productCode": "MOTOREASY",
  "quoteId": "1623840867137818",
  "selectedPlanCode": "Basic",
  "quotedAmount": "399.83",
  "optionalBenefits": [],
  "customerInformation": [
    {
      "name": "nationality",
      "value": "MYS"
    },
    {
      "name": "documentID",
      "value": "750808-10-5044"
    },
    {
      "name": "mobileNumber",
      "value": "919496711129"
    },
    {
      "name": "dob",
      "value": "1975/08/08"
    },
    {
      "name": "emailAddress",
      "value": "[email protected]"
    },
    {
      "name": "gender",
      "value": "Female"
    },
    {
      "name": "documentType",
      "value": "nric"
    },
    {
      "name": "fullName",
      "value": "TEST"
    }
  ],
  "purchaserInformation": [],
  "additionalInformation": [],
  "quoteItems1": [],
  "quoteItems2": []
}          "value": "0.55"
        },
        {
          "name": "engineCapacity",
          "value": "1495"
        },
        {
          "name": "engineNo",
          "value": "G15A20J"
        },
        {
          "name": "make",
          "value": "PERODUA"
        },
        {
          "name": "makeCode",
          "value": "33"
        },
        {
          "name": "marketValue",
          "value": "22300.0"
        },
        {
          "name": "model",
          "value": "ALZA"
        },
        {
          "name": "modelCode",
          "value": "09"
        },
        {
          "name": "ncdEffDate",
          "value": "14122019"
        },
        {
          "name": "ncdExpDate",
          "value": "13122020"
        },
        {
          "name": "nextNCD",
          "value": "0.55"
        },
        {
          "name": "nextNcdEffDate",
          "value": "16062021"
        },
        {
          "name": "nvic",
          "value": "HL411A"
        },
        {
          "name": "polExpDate",
          "value": "13122020"
        },
        {
          "name": "preInsCode",
          "value": "247"
        },
        {
          "name": "seatingCapacity",
          "value": "7"
        },
        {
          "name": "vehicleVariant",
          "value": "EZi  4 SP AUTOMATIC"
        },
        {
          "name": "vehClass",
          "value": "02"
        },
        {
          "name": "vehRegNo",
          "value": "BEH9388"
        },
        {
          "name": "vehUse",
          "value": "1"
        },
        {
          "name": "yearMake",
          "value": "2011"
        }
      ]
    },
    "detailedQuotation": [
      {
        "rateName": "CoverPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "AllRiderPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "BAPA",
        "quotedAmount": "908.05"
      },
      {
        "rateName": "NCD",
        "quotedAmount": "499.43"
      },
      {
        "rateName": "ExtendPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "EXTRABFTS",
        "quotedAmount": "0"
      },
      {
        "rateName": "EXTRACOVER",
        "quotedAmount": "0"
      },
      {
        "rateName": "Premium",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTDiscountAmount",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTPerc",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTAmount",
        "quotedAmount": "0"
      },
      {
        "rateName": "SD_ME",
        "quotedAmount": "10"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "399.83"
      },
      {
        "rateName": "TotalAmountPayable",
        "quotedAmount": "399.83"
      },
      {
        "rateName": "SchedulePremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "ONLINEDISCPERC",
        "quotedAmount": "10.0"
      },
      {
        "rateName": "ONLINEDISC",
        "quotedAmount": "40.86"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "367.76"
      },
      {
        "rateName": "TrailerPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "TotalExtraCoverPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "NoClaimDiscount",
        "quotedAmount": "0"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "408.62"
      },
      {
        "rateName": "LOAD",
        "quotedAmount": "0"
      },
      {
        "rateName": "SST",
        "quotedAmount": "22.07"
      },
      {
        "rateName": "SSTPerc",
        "quotedAmount": "6.0"
      },
      {
        "rateName": "EXCESS",
        "quotedAmount": "200.7"
      },
      {
        "rateName": "NCDPerc",
        "quotedAmount": "55.0"
      },
      {
        "rateName": "TOTALEXTRAS",
        "quotedAmount": "0"
      },
      {
        "rateName": "driver",
        "quotedAmount": "0"
      }
    ],
    "optionalBenefits": [],
    "customerInformation": [
      {
        "name": "nationality",
        "value": "MYS"
      },
      {
        "name": "documentID",
        "value": "750808-10-5044"
      },
      {
        "name": "mobileNumber",
        "value": "919496711129"
      },
      {
        "name": "dob",
        "value": "1975/08/08"
      },
      {
        "name": "emailAddress",
        "value": "[email protected]"
      },
      {
        "name": "gender",
        "value": "Female"
      },
      {
        "name": "documentType",
        "value": "nric"
      },
      {
        "name": "fullName",
        "value": "TEST"
      }
    ],
    "purchaserInformation": [],
    "additionalInformation": [],
    "eligibleForPayd": false,
    "loyaltyEnabled": true,
    "loyalty": {
      "eligibleForLoyalty": true,
      "loyaltyId": "2154810531",
      "pointsTobeEarned": 1835,
      "emailAddres": "[email protected]"
    }
  },
  "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be used multiple times to update customer and other details for a quote ID.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
nationality String
documentID String
mobileNumber String
dob String
emailAddress String
gender String
documentType String
fullName String
purchaserInformation Array (IF purchasing for others)
nationality String
documentID String
mobileNumber String
dob String
emailAddress String
gender String
documentType String
fullName String

Product API Call (for Benefits):

Response:

{
    "success": true,
    "messages": "Product by given id",
    "data": {
        "productId": 7,
        "productCode": "MOTOREASY",
        "name": "Motor Easy",
        "description": "Tune Protect Motor Easy",
        "currency": "MYR",
        "term": "Yearly",
        "additionalInfomation": {
            "information": [
                {
                    "param": "string",
                    "value": "string"
                }
            ]
        },
        "enabled": false,
        "approved": false,
        "partnerId": 1,
        "productType": "GENERAL",
        "autoRenewal": false,
        "gracePeriod": 0,
        "policyWording": "https://www.tuneprotect.com/support/399621-Policy-Wording",
        "policyDisclosure": "https://www.tuneprotect.com/support/990972-Product-Disclosure-Sheet",
        "allowRenewalInterval": 0,
        "quoteOptions": [
            {
                "quoteOptionId": 18,
                "name": "vehicleNumber",
                "type": "text",
                "options": "",
                "createdOn": 1537804800000,
                "createdBy": "1212",
                "modifiedBy": "1212",
                "modifiedOn": 1537804800000
            },
            {
                "quoteOptionId": 19,
                "name": "location",
                "type": "text",
                "options": "",
                "createdOn": 1537804800000,
                "createdBy": "1212",
                "modifiedBy": "1212",
                "modifiedOn": 1537804800000
            },
            {
                "quoteOptionId": 20,
                "name": "nric",
                "type": "text",
                "options": "",
                "createdOn": 1537804800000,
                "createdBy": "1212",
                "modifiedBy": "1212",
                "modifiedOn": 1537804800000
            }
        ],
        "planDefinitions": [
            {
                "planDefinitionId": 11,
                "name": "Basic",
                "displayName": "Option 1",
                "coverageUpto": "0",
                "policyTerm": 5.0,
                "policyCoverage": null,
                "premium": 300.0,
                "sst": 30.0,
                "stampDuty": 50.0,
                "pricing": "200",
                "description": "Tune Protect Motor Easy Basic Plan",
                "createdOn": 1537804800000,
                "createdBy": null,
                "modifiedBy": null,
                "modifiedOn": 1586140322799,
                "planBenefitMapping": []
            },
            {
                "planDefinitionId": 12,
                "name": "Choice",
                "displayName": "Option 2",
                "coverageUpto": "0",
                "policyTerm": null,
                "policyCoverage": null,
                "premium": null,
                "sst": null,
                "stampDuty": null,
                "pricing": "",
                "description": "Tune Protect Motor Easy Choice Plan",
                "createdOn": 1537804800000,
                "createdBy": null,
                "modifiedBy": null,
                "modifiedOn": 1586140334657,
                "planBenefitMapping": []
            },
            {
                "planDefinitionId": 13,
                "name": "Plus",
                "displayName": "Option 3",
                "coverageUpto": "0",
                "policyTerm": null,
                "policyCoverage": null,
                "premium": null,
                "sst": null,
                "stampDuty": null,
                "pricing": "",
                "description": "Tune Protect Motor Easy Plus Plan",
                "createdOn": 1537804800000,
                "createdBy": null,
                "modifiedBy": null,
                "modifiedOn": 1586140346387,
                "planBenefitMapping": []
            }
        ],
        "benefitCategories": [
            {
                "benefitCategoryId": 1,
                "benefitCategoryName": "Additional Coverages",
                "description": "Tune Protect Motor Easy Additional Coverages",
                "benefits": [
                    {
                        "benefitId": 33,
                        "benefitName": "inconvenienceAllowance",
                        "benefitCode": "inconvenienceAllowance",
                        "description": "",
                        "pricing": 50.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": [
                                50.0,
                                100.0,
                                150.0,
                                200.0
                            ]
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1557796949199,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1570069307410
                    },
                    {
                        "benefitId": 30,
                        "benefitName": "Personal Accident",
                        "benefitCode": "CPA",
                        "description": "Personal Accident",
                        "pricing": 100.0,
                        "category": "TTPB",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": []
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1557180614920,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1570069307425
                    },
                    {
                        "benefitId": 66,
                        "benefitName": "PAYDOPTION",
                        "benefitCode": "PAYDOPTION",
                        "description": "",
                        "pricing": 1.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": []
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1570679940242,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1570679940242
                    },
                    {
                        "benefitId": 71,
                        "benefitName": "windScreen",
                        "benefitCode": "windScreen",
                        "description": "",
                        "pricing": 0.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": [
                                500.0,
                                1000.0,
                                1500.0,
                                2000.0,
                                2500.0,
                                3000.0,
                                3500.0,
                                4000.0,
                                4500.0,
                                5000.0
                            ]
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1573600197592,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1573601297204
                    },
                    {
                        "benefitId": 65,
                        "benefitName": "specialPerils",
                        "benefitCode": "specialPerils",
                        "description": "Inclusion Of Special Perils (0.50% of Vehicle Sum Insured)",
                        "pricing": 185.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": []
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1570069515475,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1571954765732
                    },
                    {
                        "benefitId": 32,
                        "benefitName": "sprayPainting",
                        "benefitCode": "sprayPainting",
                        "description": "",
                        "pricing": 200.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": [
                                1000.0,
                                2000.0,
                                3000.0,
                                4000.0
                            ]
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1557796519388,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1571955165311
                    },
                    {
                        "benefitId": 69,
                        "benefitName": "rideEasy",
                        "benefitCode": "rideEasy",
                        "description": "",
                        "pricing": 0.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": [
                                20000.0,
                                30000.0
                            ]
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1573383297266,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1573383297266
                    },
                    {
                        "benefitId": 76,
                        "benefitName": "src",
                        "benefitCode": "src",
                        "description": "Strike, Riot and Civil Commotion (0.30% of Vehicle Sum Insured)",
                        "pricing": 0.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": []
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1593271430616,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1593271430616
                    },
                    {
                        "benefitId": 67,
                        "benefitName": "llop",
                        "benefitCode": "llop",
                        "description": "Legal Liability of Passengers For Acts Of Negligence",
                        "pricing": 7.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": []
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1571863897276,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1571863897276
                    },
                    {
                        "benefitId": 35,
                        "benefitName": "llp",
                        "benefitCode": "llp",
                        "description": "Legal Liability to Passengers",
                        "pricing": 33.0,
                        "category": "Additional Coverages",
                        "currency": "",
                        "sumInsured": {
                            "sumInsuredValues": []
                        },
                        "planBenefitMapping": [],
                        "createdOn": 1557797073338,
                        "createdBy": null,
                        "modifiedBy": null,
                        "modifiedOn": 1571954717893
                    }
                ],
                "createdBy": null,
                "modifiedBy": null,
                "modifiedOn": 1573181069725,
                "createdOn": null
            }
        ],
        "serviceProvider": {
            "id": 1,
            "service": "easy"
        },
        "createdOn": 1537804800000,
        "createdBy": null,
        "modifiedBy": null,
        "modifiedOn": 1577516324944
    },
    "code": 200
}

Product API is used to fetch details of specific product. Product API returns following details:

Benefit List and Code Mapping

Sl No Bentfit Name Benefit Code Sum Insured
1 INCONVIENCE ALLOWANCE inconvenienceAllowance 50,100,150,200
2 PAYD PAYDOPTION NA
3 WINDSCREEN COVERAGE windScreen 500,1000,1500,2000, 2500,3000,3500,4000,4500,000
4 SPECIAL PERILS specialPerils NA
5 SPRAY PAINT COVERAGE sprayPainting 1000,2000,3000,4000
6 RIDE EASY rideEasy 20000,30000
7 STRIKE, RIOT & CIVIL COMMOTION src NA
8 LEGAL LIABILITY OF PASSENGERS llop NA
9 LEGAL LIABILITY TO PASSENGERS llp NA

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/7?language=en_us

Request Method : GET

Query parameter and path variable in request:

PARAMETER TYPE
locale String
productId 7 (for Motor Easy)

Update Quote (with Additional Information) API:

Request:

{
  "productCode": "MOTOREASY",
  "quoteId": "1623909380262268",
  "selectedPlanCode": "Basic",
  "quotedAmount": "540.37",
  "optionalBenefits": [
    {
      "applicableAmount": 0,
      "benefit": "windScreen",
      "sumInsured": 500
    },
    {
      "applicableAmount": 0,
      "benefit": "sprayPainting",
      "sumInsured": 1000
    }
  ],
  "customerInformation": [
    {
      "name": "State",
      "value": "Johor"
    },
    {
      "name": "city",
      "value": "Buloh Kasap"
    },
    {
      "name": "postalCode",
      "value": "43562"
    },
    {
      "name": "addressLine2",
      "value": "test"
    },
    {
      "name": "addressLine1",
      "value": "test"
    },
    {
      "name": "fullName",
      "value": "TEST"
    },
    {
      "name": "documentType",
      "value": "nric"
    },
    {
      "name": "gender",
      "value": "Female"
    },
    {
      "name": "emailAddress",
      "value": "[email protected]"
    },
    {
      "name": "dob",
      "value": "1975/08/08"
    },
    {
      "name": "mobileNumber",
      "value": "919496711129"
    },
    {
      "name": "documentID",
      "value": "750808-10-5044"
    },
    {
      "name": "nationality",
      "value": "MYS"
    }
  ],
  "purchaserInformation": [],
  "additionalInformation": [
    {
      "name": "additionalDrivers",
      "value": "[{\"name\":\"TESTDRIVER\",\"age\":21},{\"name\":\"TESTDRIVERS\",\"age\":26}]"
    }
  ],
  "quoteItems1": [],
  "quoteItems2": []
}


Response:

{
  "success": true,
  "messages": " Update success. ",
  "data": {
    "productCode": "MOTOREASY",
    "quoteId": "1623909380262268",
    "selectedPlanCode": "Basic",
    "selectedPlanDisplayName": "Option 1",
    "quotedAmount": "540.37",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 2,
    "userInformationDTO": {
      "parameters": [
        {
          "name": "category",
          "value": "PAS"
        },
        {
          "name": "chassisNo",
          "value": "PM2M502G002081070"
        },
        {
          "name": "coverType",
          "value": "3"
        },
        {
          "name": "curNCD",
          "value": "0.55"
        },
        {
          "name": "engineCapacity",
          "value": "1495"
        },
        {
          "name": "engineNo",
          "value": "G15A20J"
        },
        {
          "name": "make",
          "value": "PERODUA"
        },
        {
          "name": "makeCode",
          "value": "33"
        },
        {
          "name": "marketValue",
          "value": "22300.0"
        },
        {
          "name": "model",
          "value": "ALZA"
        },
        {
          "name": "modelCode",
          "value": "09"
        },
        {
          "name": "ncdEffDate",
          "value": "14122019"
        },
        {
          "name": "ncdExpDate",
          "value": "13122020"
        },
        {
          "name": "nextNCD",
          "value": "0.55"
        },
        {
          "name": "nextNcdEffDate",
          "value": "17062021"
        },
        {
          "name": "nvic",
          "value": "HL411A"
        },
        {
          "name": "polExpDate",
          "value": "13122020"
        },
        {
          "name": "preInsCode",
          "value": "247"
        },
        {
          "name": "seatingCapacity",
          "value": "7"
        },
        {
          "name": "vehicleVariant",
          "value": "EZi  4 SP AUTOMATIC"
        },
        {
          "name": "vehClass",
          "value": "02"
        },
        {
          "name": "vehRegNo",
          "value": "BEH9388"
        },
        {
          "name": "vehUse",
          "value": "1"
        },
        {
          "name": "yearMake",
          "value": "2011"
        }
      ]
    },
    "detailedQuotation": [
      {
        "rateName": "CoverPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "AllRiderPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "BAPA",
        "quotedAmount": "825.50"
      },
      {
        "rateName": "NCD",
        "quotedAmount": "454.03"
      },
      {
        "rateName": "ExtendPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "EXTRABFTS",
        "quotedAmount": "188.77"
      },
      {
        "rateName": "EXTRACOVER",
        "quotedAmount": "0"
      },
      {
        "rateName": "Premium",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTDiscountAmount",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTPerc",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTAmount",
        "quotedAmount": "0"
      },
      {
        "rateName": "SD_ME",
        "quotedAmount": "10"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "540.37"
      },
      {
        "rateName": "TotalAmountPayable",
        "quotedAmount": "540.37"
      },
      {
        "rateName": "SchedulePremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "ONLINEDISCPERC",
        "quotedAmount": "10.0"
      },
      {
        "rateName": "ONLINEDISC",
        "quotedAmount": "56.02"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "504.22"
      },
      {
        "rateName": "TrailerPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "TotalExtraCoverPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "NoClaimDiscount",
        "quotedAmount": "0"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "560.24"
      },
      {
        "rateName": "LOAD",
        "quotedAmount": "0"
      },
      {
        "rateName": "SST",
        "quotedAmount": "30.25"
      },
      {
        "rateName": "SSTPerc",
        "quotedAmount": "6.0"
      },
      {
        "rateName": "EXCESS",
        "quotedAmount": "200.7"
      },
      {
        "rateName": "NCDPerc",
        "quotedAmount": "55.0"
      },
      {
        "rateName": "TOTALEXTRAS",
        "quotedAmount": "188.77"
      },
      {
        "rateName": "windScreen",
        "quotedAmount": "75"
      },
      {
        "rateName": "sprayPainting",
        "quotedAmount": "103.77"
      },
      {
        "rateName": "driver",
        "quotedAmount": "10"
      }
    ],
    "optionalBenefits": [
      {
        "benefit": "windScreen",
        "sumInsured": 500,
        "applicableAmount": 75
      },
      {
        "benefit": "sprayPainting",
        "sumInsured": 1000,
        "applicableAmount": 103.77
      }
    ],
    "customerInformation": [
      {
        "name": "State",
        "value": "Johor"
      },
      {
        "name": "city",
        "value": "Buloh Kasap"
      },
      {
        "name": "postalCode",
        "value": "43562"
      },
      {
        "name": "addressLine2",
        "value": "test"
      },
      {
        "name": "addressLine1",
        "value": "test"
      },
      {
        "name": "fullName",
        "value": "TEST"
      },
      {
        "name": "documentType",
        "value": "nric"
      },
      {
        "name": "gender",
        "value": "Female"
      },
      {
        "name": "emailAddress",
        "value": "[email protected]"
      },
      {
        "name": "dob",
        "value": "1975/08/08"
      },
      {
        "name": "mobileNumber",
        "value": "919496711129"
      },
      {
        "name": "documentID",
        "value": "750808-10-5044"
      },
      {
        "name": "nationality",
        "value": "MYS"
      }
    ],
    "purchaserInformation": [],
    "additionalInformation": [
      {
        "name": "additionalDrivers",
        "value": "[{\"name\":\"TESTDRIVER\",\"age\":21},{\"name\":\"TESTDRIVERS\",\"age\":26}]"
      }
    ],
    "eligibleForPayd": false,
    "loyaltyEnabled": true,
    "loyalty": {
      "eligibleForLoyalty": true,
      "loyaltyId": "2154810531",
      "pointsTobeEarned": 2520,
      "emailAddres": "[email protected]"
    }
  },
  "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
optionalBenefits Array
benefit String
sumInsured Double
AdditionalInformation Array
additionalDrivers String
CustomerInformation Array
nationality String
documentID String
mobileNumber String
dob String
emailAddress String
gender String
documentType String
fullName String
State String
city String
postalCode String
addressLine1 String
addressLine2 String
purchaserInformation Array (If purchasing for others)
nationality String
documentID String
mobileNumber String
dob String
emailAddress String
gender String
documentType String
fullName String
State String
city String
postalCode String
addressLine1 String
addressLine2 String

Update Quote (with acceptTerms ‘1’ and agreeDeclaration with ‘1’ or ‘0’) API:

Request:

{
  "productCode": "MOTOREASY",
  "quoteId": "1623840867137818",
  "selectedPlanCode": "Basic",
  "quotedAmount": "570.37",
  "optionalBenefits": [
    {
      "applicableAmount": 0,
      "benefit": "sprayPainting",
      "sumInsured": 1000
    },
    {
      "applicableAmount": 0,
      "benefit": "windScreen",
      "sumInsured": 500
    }
  ],
  "customerInformation": [
    {
      "name": "State",
      "value": "Johor"
    },
    {
      "name": "city",
      "value": "Bukit Bakri"
    },
    {
      "name": "postalCode",
      "value": "12322"
    },
    {
      "name": "addressLine2",
      "value": "test"
    },
    {
      "name": "addressLine1",
      "value": "test"
    },
    {
      "name": "fullName",
      "value": "TEST"
    },
    {
      "name": "documentType",
      "value": "nric"
    },
    {
      "name": "gender",
      "value": "Female"
    },
    {
      "name": "emailAddress",
      "value": "[email protected]"
    },
    {
      "name": "dob",
      "value": "1975/08/08"
    },
    {
      "name": "mobileNumber",
      "value": "919496711129"
    },
    {
      "name": "documentID",
      "value": "750808-10-5044"
    },
    {
      "name": "nationality",
      "value": "MYS"
    }
  ],
  "purchaserInformation": [],
  "additionalInformation": [
    {
      "name": "additionalDrivers",
      "value": "{}"
    }
  ],
  "quoteItems1": [],
  "quoteItems2": [],
  "acceptTerms": "1",
  "agreeDeclaration": "1",
  "globalDeclaration": []
}

Response:

{
  "success": true,
  "messages": " Update success. ",
  "data": {
    "productCode": "MOTOREASY",
    "quoteId": "1623840867137818",
    "selectedPlanCode": "Basic",
    "selectedPlanDisplayName": "Option 1",
    "quotedAmount": "570.37",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": {
      "parameters": [
        {
          "name": "category",
          "value": "PAS"
        },
        {
          "name": "chassisNo",
          "value": "PM2M502G002081070"
        },
        {
          "name": "coverType",
          "value": "3"
        },
        {
          "name": "curNCD",
          "value": "0.55"
        },
        {
          "name": "engineCapacity",
          "value": "1495"
        },
        {
          "name": "engineNo",
          "value": "G15A20J"
        },
        {
          "name": "make",
          "value": "PERODUA"
        },
        {
          "name": "makeCode",
          "value": "33"
        },
        {
          "name": "marketValue",
          "value": "22300.0"
        },
        {
          "name": "model",
          "value": "ALZA"
        },
        {
          "name": "modelCode",
          "value": "09"
        },
        {
          "name": "ncdEffDate",
          "value": "14122019"
        },
        {
          "name": "ncdExpDate",
          "value": "13122020"
        },
        {
          "name": "nextNCD",
          "value": "0.55"
        },
        {
          "name": "nextNcdEffDate",
          "value": "16062021"
        },
        {
          "name": "nvic",
          "value": "HL411A"
        },
        {
          "name": "polExpDate",
          "value": "13122020"
        },
        {
          "name": "preInsCode",
          "value": "247"
        },
        {
          "name": "seatingCapacity",
          "value": "7"
        },
        {
          "name": "vehicleVariant",
          "value": "EZi  4 SP AUTOMATIC"
        },
        {
          "name": "vehClass",
          "value": "02"
        },
        {
          "name": "vehRegNo",
          "value": "BEH9388"
        },
        {
          "name": "vehUse",
          "value": "1"
        },
        {
          "name": "yearMake",
          "value": "2011"
        }
      ]
    },
    "detailedQuotation": [
      {
        "rateName": "CoverPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "AllRiderPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "BAPA",
        "quotedAmount": "908.05"
      },
      {
        "rateName": "NCD",
        "quotedAmount": "499.43"
      },
      {
        "rateName": "ExtendPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "EXTRABFTS",
        "quotedAmount": "178.77"
      },
      {
        "rateName": "EXTRACOVER",
        "quotedAmount": "0"
      },
      {
        "rateName": "Premium",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTDiscountAmount",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTPerc",
        "quotedAmount": "0"
      },
      {
        "rateName": "GSTAmount",
        "quotedAmount": "0"
      },
      {
        "rateName": "SD_ME",
        "quotedAmount": "10"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "570.37"
      },
      {
        "rateName": "TotalAmountPayable",
        "quotedAmount": "570.37"
      },
      {
        "rateName": "SchedulePremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "ONLINEDISCPERC",
        "quotedAmount": "10.0"
      },
      {
        "rateName": "ONLINEDISC",
        "quotedAmount": "58.74"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "528.65"
      },
      {
        "rateName": "TrailerPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "TotalExtraCoverPremium",
        "quotedAmount": "0"
      },
      {
        "rateName": "NoClaimDiscount",
        "quotedAmount": "0"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "587.39"
      },
      {
        "rateName": "LOAD",
        "quotedAmount": "0"
      },
      {
        "rateName": "SST",
        "quotedAmount": "31.72"
      },
      {
        "rateName": "SSTPerc",
        "quotedAmount": "6.0"
      },
      {
        "rateName": "EXCESS",
        "quotedAmount": "200.7"
      },
      {
        "rateName": "NCDPerc",
        "quotedAmount": "55.0"
      },
      {
        "rateName": "TOTALEXTRAS",
        "quotedAmount": "178.77"
      },
      {
        "rateName": "sprayPainting",
        "quotedAmount": "103.77"
      },
      {
        "rateName": "windScreen",
        "quotedAmount": "75"
      },
      {
        "rateName": "driver",
        "quotedAmount": "0"
      }
    ],
    "optionalBenefits": [
      {
        "benefit": "sprayPainting",
        "sumInsured": 1000,
        "applicableAmount": 103.77
      },
      {
        "benefit": "windScreen",
        "sumInsured": 500,
        "applicableAmount": 75
      }
    ],
    "customerInformation": [
      {
        "name": "State",
        "value": "Johor"
      },
      {
        "name": "city",
        "value": "Bukit Bakri"
      },
      {
        "name": "postalCode",
        "value": "12322"
      },
      {
        "name": "addressLine2",
        "value": "test"
      },
      {
        "name": "addressLine1",
        "value": "test"
      },
      {
        "name": "fullName",
        "value": "TEST"
      },
      {
        "name": "documentType",
        "value": "nric"
      },
      {
        "name": "gender",
        "value": "Female"
      },
      {
        "name": "emailAddress",
        "value": "[email protected]"
      },
      {
        "name": "dob",
        "value": "1975/08/08"
      },
      {
        "name": "mobileNumber",
        "value": "919496711129"
      },
      {
        "name": "documentID",
        "value": "750808-10-5044"
      },
      {
        "name": "nationality",
        "value": "MYS"
      }
    ],
    "purchaserInformation": [],
    "additionalInformation": [
      {
        "name": "additionalDrivers",
        "value": "{}"
      }
    ],
    "eligibleForPayd": false,
    "loyaltyEnabled": true,
    "loyalty": {
      "eligibleForLoyalty": true,
      "loyaltyId": "2154810531",
      "pointsTobeEarned": 2640,
      "emailAddres": "[email protected]"
    }
  },
  "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
acceptTerms String
agreeDeclaration String
optionalBenefits Array
benefit String
sumInsured Double
AdditionalInformation Array
additionalDrivers String
CustomerInformation Array
nationality String
documentID String
mobileNumber String
dob String
emailAddress String
gender String
documentType String
fullName String
State String
city String
postalCode String
addressLine1 String
addressLine2 String
purchaserInformation Array (If purchasing for others)
nationality String
documentID String
mobileNumber String
dob String
emailAddress String
gender String
documentType String
fullName String
State String
city String
postalCode String
addressLine1 String
addressLine2 String

INIT Transaction API:

Request:

{
  "productCode": "MOTOREASY",
  "quoteId": "1623840867137818",
  "quotedAmount": "570.37",
  "paymentMethodType": 1,
  "loyaltySelected": 0,
  "currency": "MYR",
  "returnUrl": "https://tpmrsuat.tuneprotect.com/paymentStatus/"
}

Response:

{
"transactionId": "BC00007952",
"quotedAmount": "570.37",
"status": "INITIATED",
"customerId": "",
"paymentPasswordEncrypted": "O0qWOE9OnnV2979d1zASZs0ROyoH5rCP",
"paymentFailureCallbackUrl": "https://tpmrsuat.tuneprotect.com/rocketship/d/aQDOxKaRqeLk",
"token": null
}



Transaction API is used to initiate transaction before calling payment gateway for purchase. Initiate transaction API will create a transaction ID for the transaction and will return it. This transaction ID need to be used in the final create policy API after payment success/failed status.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions?locale=en_us Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethodType String
quotedAmount String
loyaltySelected Integer
currency String
returnUrl String

Create Policy


Request:

{
  "productCode": "MOTOREASY",
  "quoteId": "1623840867137818",
  "quotedAmount": "570.37",
  "currencyCode": "MYR",
  "status": "0",
  "authorizationCode": "TIS000",
  "gatewayId": "eghl",
  "referenceCode": "TIS0000000000BC00007952",
  "customerId": "",
  "paymentMethod": "1",
  "token": ""
}


Response

{
  "success": true,
  "messages": " Transaction Update success. Policy created",
  "data": {
    "quoteid": "1623840867137818",
    "policy": {
      "policystatus": "confirmed",
      "policynumber": "6550121b2ca1898",
      "policycreationdatetime": 1623838760241,
      "effectivedate": 1623772800000,
      "policyurl": null,
      "expirydate": 1655222400000,
      "forself": true
    },
    "transactionid": "bc00007952",
    "adaptorcustomerid": null,
    "policyholder": {
      "fullname": "test",
      "mobilenumber": 919496711129,
      "emailaddress": "[email protected]",
      "nationality": "MYS",
      "dob": 872265600000,
      "gender": "M",
      "addressLine1": "Test",
      "addressLine2": "Test",
      "state": null,
      "city": "Chaah",
      "postalCode": "13433",
      "documentID": null,
      "documentType": null
    },
    "loyalty": null,
    "userExists": false,
    "status": "POLICY_GENERATED"
  },
  "code": 200
}

After a payment success, you can trigger the create policy API for creating policy for customer. This API returns policy/certificate number, policy expiry date and other policy details.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions/BC00007952/status?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethod String
quotedAmount String
status Integer
currencyCode String
authorizationCode String
gatewayId String
referenceCode String
customerId String
paymentMethod String
token String

Home - API Request And Response Details

Get Basic Quote API:



Request:
{
   "quoteId": "",
   "customerId": "",
   "productCode": "HOHH",
   "parameters": [
      {
         "name": "buildingType",
         "value": "Landed"
      },
      {
         "name": "coverageType",
         "value": "HouseOwner"
      },
      {
         "name": "ownProperty",
         "value": "Yes"
      },
      {
         "name": "buildingMaterial",
         "value": "1"
      },
      {
         "name": "bankLoan",
         "value": "1"
      },
      {
         "name": "sumInsured",
         "value": "500000"
      }
   ]
}
Response:
{
   "productCode": "HOHH",
   "quoteId": "1624535973195186",
   "plans": [
      {
         "planCode": "HO",
         "currency": "MYR",
         "displayName": "Building",
         "quotedAmount": "296.52",
         "sumInsured": "500000.00",
         "sumInsuredHH": "25000.00",
         "basePremium": "270.30",
         "basePremiumHO": "318.00",
         "basePremiumHH": "0.00"
      }
   ],
   "userInformationDTO": null
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
customerId String
productCode String
Parameters Array
buildingType String
coverageType String
ownProperty String
buildingMaterial String
bankLoan String
sumInsured String

Get Basic Quote API (With ADD-ONs):


Request:
{
   "quoteId": "",
   "customerId": "",
   "productCode": "HOHH",
   "parameters": [
      {
         "name": "buildingType",
         "value": "Landed"
      },
      {
         "name": "coverageType",
         "value": "HouseOwner"
      },
      {
         "name": "ownProperty",
         "value": "Yes"
      },
      {
         "name": "buildingMaterial",
         "value": "1"
      },
      {
         "name": "bankLoan",
         "value": "1"
      },
      {
         "name": "sumInsured",
         "value": "500000"
      },
      {
         "name": "personalLiability",
         "value": true
      },
      {
         "name": "riotStrike&MaliciousDamageHO",
         "value": true
      },
      {
         "name": "subsidence&LandslipHO",
         "value": true
      },
      {
         "name": "plateGlassHO",
         "value": true
      }
   ]
}

Response:
{
   "productCode": "HOHH",
   "quoteId": "1624537533481246",
   "plans": [
      {
         "planCode": "HO",
         "currency": "MYR",
         "displayName": "Building",
         "quotedAmount": "722.69",
         "sumInsured": "500000.00",
         "sumInsuredHH": "25000.00",
         "basePremium": "672.35",
         "basePremiumHO": "318.00",
         "basePremiumHH": "0.00"
      }
   ],
   "userInformationDTO": null
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query parameters:

PARAMETER TYPE
locale String
customerId String
productCode String
Parameters Array
buildingType String
coverageType String
ownProperty String
buildingMaterial String
bankLoan String
sumInsured String
personalLiability Boolean
riotStrike&MaliciousDamageHO Boolean
subsidence&LandslipHO Boolean
plateGlassHO Boolean

Get Quote Details API:

Response:
{
   "success": true,
   "messages": "Requested Quote is : ",
   "data": {
      "productCode": "HOHH",
      "quoteId": "1624535973195186",
      "selectedPlanCode": "HO",
      "selectedPlanDisplayName": "Building",
      "quotedAmount": "296.52",
      "totalNumberOfPersons": 0,
      "totalNumberOfAdditionalDrivers": 0,
      "userInformationDTO": null,
      "detailedQuotation": [
         {
            "rateName": "BP01",
            "quotedAmount": "318.0"
         },
         {
            "rateName": "OP01",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "OP02",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "OP03",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "OTHE",
            "quotedAmount": "318.0"
         },
         {
            "rateName": "AO01",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "AO02",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "AO03",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "AO04",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "AO05",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "OP11",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "OP12",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "OP13",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "TEXT",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "SEC1",
            "quotedAmount": "318.0"
         },
         {
            "rateName": "SEC2",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "SEC3",
            "quotedAmount": "0.0"
         },
         {
            "rateName": "BAPA",
            "quotedAmount": "318.0"
         },
         {
            "rateName": "GPRE",
            "quotedAmount": "318.0"
         },
         {
            "rateName": "ORBTPERC",
            "quotedAmount": "15.0"
         },
         {
            "rateName": "ORBT",
            "quotedAmount": "-47.7"
         },
         {
            "rateName": "GROSS",
            "quotedAmount": "270.3"
         },
         {
            "rateName": "SST",
            "quotedAmount": "16.22"
         },
         {
            "rateName": "SD",
            "quotedAmount": "10.0"
         },
         {
            "rateName": "TOTAL",
            "quotedAmount": "296.52"
         },
         {
            "rateName": "REBAPERC",
            "quotedAmount": "0"
         },
         {
            "rateName": "SSTPERC",
            "quotedAmount": "6"
         },
         {
            "rateName": "PremiumAfterDiscount",
            "quotedAmount": "270.3"
         },
         {
            "rateName": "DISCPERC",
            "quotedAmount": "0"
         }
      ],
      "optionalBenefits": [],
      "customerInformation": [],
      "purchaserInformation": null,
      "additionalInformation": [],
      "eligibleForPayd": false,
      "loyaltyEnabled": false,
      "loyalty": null
   },
   "code": 200
}

get following details from get quote API.

https://apiuat.tuneprotect.com/d2c/1.0/products/quote?productCode=HOHH&planCode=HO&quoteId=1624535973195186&locale=en_us

Query and body parameters in request:

Method:GET

PARAMETER TYPE
productCode String
planCode String
quoteId String
locale String

Update Quote (with Customer details) API:

Request:

{
   "productCode": "HOHH",
   "quoteId": "1624537533481246",
   "selectedPlanCode": "HO",
   "quotedAmount": "1074.08",
   "optionalBenefits": [],
   "customerInformation": [
      {
         "name": "loanReferenceNumber",
         "value": "34344435"
      },
      {
         "name": "financialInterest",
         "value": "AGRO Bank"
      },
      {
         "name": "livingInPropertyAddress",
         "value": "false"
      },
      {
         "name": "propertyCountry",
         "value": "MYS"
      },
      {
         "name": "propertyPostalCode",
         "value": "45345"
      },
      {
         "name": "propertyHomeState",
         "value": "Johor"
      },
      {
         "name": "propertyHomeAddress2",
         "value": "add2"
      },
      {
         "name": "propertyHomeAddress1",
         "value": "add1"
      },
      {
         "name": "policyEndDate",
         "value": "2022/06/29"
      },
      {
         "name": "policyStartDate",
         "value": "2021/06/30"
      },
      {
         "name": "isMailingAddressSameHomeAddress",
         "value": "false"
      },
      {
         "name": "mailingAddressPostalCode",
         "value": "35426"
      },
      {
         "name": "mailingAddressState",
         "value": "kedah"
      },
      {
         "name": "mailingAddressCountry",
         "value": "MYS"
      },
      {
         "name": "mailingAddressLine2",
         "value": "madd2"
      },
      {
         "name": "mailingAddressLine1",
         "value": "madd1"
      },
      {
         "name": "addressPostalCode",
         "value": "65455"
      },
      {
         "name": "addressState",
         "value": "KEDAH"
      },
      {
         "name": "addressCountry",
         "value": "MYS"
      },
      {
         "name": "addressLine2",
         "value": "hadd2"
      },
      {
         "name": "addressLine1",
         "value": "hadd1"
      },
      {
         "name": "nationality",
         "value": "AFG"
      },
      {
         "name": "documentID",
         "value": "SDASD67565765"
      },
      {
         "name": "mobileNumber",
         "value": "919746149011"
      },
      {
         "name": "mobileCountryCode",
         "value": "+91"
      },
      {
         "name": "dob",
         "value": "1992/05/06"
      },
      {
         "name": "emailAddress",
         "value": "[email protected]"
      },
      {
         "name": "gender",
         "value": "Male"
      },
      {
         "name": "documentType",
         "value": "Passport"
      },
      {
         "name": "fullName",
         "value": "SREEJITH"
      },
      {
         "name": "landlordInsuraceRental",
         "value": "true"
      },
      {
         "name": "mortageLoanInstallementPack",
         "value": "true"
      },
      {
         "name": "smartHomeDevicePack",
         "value": "true"
      },
      {
         "name": "homeCarePack",
         "value": "true"
      },
      {
         "name": "underwriterQn1",
         "value": "0"
      },
      {
         "name": "underwriterQn2",
         "value": "0"
      },
      {
         "name": "underwriterQn3",
         "value": "0"
      }
   ],
   "purchaserInformation": [],
   "additionalInformation": [],
   "quoteItems1": [],
   "quoteItems2": []
}

Response:

{
   "success": true,
   "messages": " Update success. ",
   "data": {
      "productCode": "HOHH",
      "quoteId": "1624537533481246",
      "selectedPlanCode": "HO",
      "selectedPlanDisplayName": "Building",
      "quotedAmount": "1074.08",
      "totalNumberOfPersons": 0,
      "totalNumberOfAdditionalDrivers": 0,
      "userInformationDTO": null,
      "detailedQuotation": [
         {
            "rateName": "BP01",
            "quotedAmount": "318.00"
         },
         {
            "rateName": "OP01",
            "quotedAmount": "30.00"
         },
         {
            "rateName": "OP02",
            "quotedAmount": "243.00"
         },
         {
            "rateName": "OP03",
            "quotedAmount": "150.00"
         },
         {
            "rateName": "OTHE",
            "quotedAmount": "741.00"
         },
         {
            "rateName": "AO01",
            "quotedAmount": "250.00"
         },
         {
            "rateName": "AO02",
            "quotedAmount": "25.00"
         },
         {
            "rateName": "AO03",
            "quotedAmount": "50.00"
         },
         {
            "rateName": "AO04",
            "quotedAmount": "65.00"
         },
         {
            "rateName": "AO05",
            "quotedAmount": "50.00"
         },
         {
            "rateName": "OP11",
            "quotedAmount": "30.00"
         },
         {
            "rateName": "OP12",
            "quotedAmount": "243.00"
         },
         {
            "rateName": "OP13",
            "quotedAmount": "150.00"
         },
         {
            "rateName": "TEXT",
            "quotedAmount": "863.00"
         },
         {
            "rateName": "SEC1",
            "quotedAmount": "741.00"
         },
         {
            "rateName": "SEC2",
            "quotedAmount": "0.00"
         },
         {
            "rateName": "SEC3",
            "quotedAmount": "390.00"
         },
         {
            "rateName": "BAPA",
            "quotedAmount": "318.00"
         },
         {
            "rateName": "GPRE",
            "quotedAmount": "1181.00"
         },
         {
            "rateName": "ORBTPERC",
            "quotedAmount": "15.00"
         },
         {
            "rateName": "ORBT",
            "quotedAmount": "-177.15"
         },
         {
            "rateName": "GROSS",
            "quotedAmount": "1003.85"
         },
         {
            "rateName": "SST",
            "quotedAmount": "60.23"
         },
         {
            "rateName": "SD",
            "quotedAmount": "10.00"
         },
         {
            "rateName": "TOTAL",
            "quotedAmount": "1074.08"
         },
         {
            "rateName": "REBAPERC",
            "quotedAmount": "0"
         },
         {
            "rateName": "SSTPERC",
            "quotedAmount": "6"
         },
         {
            "rateName": "PremiumAfterDiscount",
            "quotedAmount": "1003.85"
         },
         {
            "rateName": "DISCPERC",
            "quotedAmount": "0"
         }
      ],
      "optionalBenefits": [],
      "customerInformation": [
         {
            "name": "loanReferenceNumber",
            "value": "34344435"
         },
         {
            "name": "financialInterest",
            "value": "AGRO Bank"
         },
         {
            "name": "livingInPropertyAddress",
            "value": "false"
         },
         {
            "name": "propertyCountry",
            "value": "MYS"
         },
         {
            "name": "propertyPostalCode",
            "value": "45345"
         },
         {
            "name": "propertyHomeState",
            "value": "Johor"
         },
         {
            "name": "propertyHomeAddress2",
            "value": "add2"
         },
         {
            "name": "propertyHomeAddress1",
            "value": "add1"
         },
         {
            "name": "policyEndDate",
            "value": "2022/06/29"
         },
         {
            "name": "policyStartDate",
            "value": "2021/06/30"
         },
         {
            "name": "isMailingAddressSameHomeAddress",
            "value": "false"
         },
         {
            "name": "mailingAddressPostalCode",
            "value": "35426"
         },
         {
            "name": "mailingAddressState",
            "value": "kedah"
         },
         {
            "name": "mailingAddressCountry",
            "value": "MYS"
         },
         {
            "name": "mailingAddressLine2",
            "value": "madd2"
         },
         {
            "name": "mailingAddressLine1",
            "value": "madd1"
         },
         {
            "name": "addressPostalCode",
            "value": "65455"
         },
         {
            "name": "addressState",
            "value": "KEDAH"
         },
         {
            "name": "addressCountry",
            "value": "MYS"
         },
         {
            "name": "addressLine2",
            "value": "hadd2"
         },
         {
            "name": "addressLine1",
            "value": "hadd1"
         },
         {
            "name": "nationality",
            "value": "AFG"
         },
         {
            "name": "documentID",
            "value": "SDASD67565765"
         },
         {
            "name": "mobileNumber",
            "value": "919746149011"
         },
         {
            "name": "mobileCountryCode",
            "value": "+91"
         },
         {
            "name": "dob",
            "value": "1992/05/06"
         },
         {
            "name": "emailAddress",
            "value": "[email protected]"
         },
         {
            "name": "gender",
            "value": "Male"
         },
         {
            "name": "documentType",
            "value": "Passport"
         },
         {
            "name": "fullName",
            "value": "SREEJITH"
         },
         {
            "name": "landlordInsuraceRental",
            "value": "true"
         },
         {
            "name": "mortageLoanInstallementPack",
            "value": "true"
         },
         {
            "name": "smartHomeDevicePack",
            "value": "true"
         },
         {
            "name": "homeCarePack",
            "value": "true"
         },
         {
            "name": "underwriterQn1",
            "value": "0"
         },
         {
            "name": "underwriterQn2",
            "value": "0"
         },
         {
            "name": "underwriterQn3",
            "value": "0"
         }
      ],
      "purchaserInformation": [],
      "additionalInformation": [],
      "eligibleForPayd": false,
      "loyaltyEnabled": true,
      "loyalty": {
         "eligibleForLoyalty": false,
         "loyaltyId": null,
         "pointsTobeEarned": 5015,
         "emailAddres": "[email protected]"
      }
   },
   "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
loanReferenceNumber String
financialInterest String
livingInPropertyAddress String
propertyCountry String
propertyPostalCode String
propertyHomeState String
propertyHomeAddress2 String
propertyHomeAddress1 String
policyEndDate String
policyStartDate String
isMailingAddressSameHomeAddress String
mailingAddressPostalCode String
mailingAddressState String
mailingAddressCountry String
mailingAddressLine2 String
mailingAddressLine1 String
addressPostalCode String
addressState String
addressCountry String
addressLine2 String
addressLine1 String
nationality String
documentID String
mobileNumber String
mobileCountryCode String
dob String
emailAddress String
gender String
documentType String
fullName String
landlordInsuraceRental String
mortageLoanInstallementPack String
smartHomeDevicePack String
homeCarePack String
underwriterQn1 String
underwriterQn2 String
underwriterQn3 String
purchaserInformation Array
additionalInformation Array
quoteItems1 Blank Array
quoteItems2 Blank Array
OptionalBenefits Array
applicableAmount Integer

INIT Transaction API:

Request:

{
   "productCode": "HOHH",
   "quoteId": "1624537533481246",
   "quotedAmount": "1074.08",
   "paymentMethodType": 1,
   "loyaltySelected": 0,
   "currency": "MYR",
   "returnUrl": "https://tpmrsuat.tuneprotect.com/paymentStatus/"
}

Response:

{
"transactionId": "PFTHOHH247578-3056",
"quotedAmount": "1074.08",
"status": "INITIATED",
"customerId": "",
"paymentPasswordEncrypted": "O0qWOE9OnnV2979d1zASZs0ROyoH5rCP",
"paymentFailureCallbackUrl": "https://tpmrsuat.tuneprotect.com/rocketship/d/aQDOxKaRqeLk",
"token": null
}


Transaction API is used to initiate transaction before calling payment gateway for purchase. Initiate transaction API will create a transaction ID for the transaction and will return it. This transaction ID need to be used in the final create policy API after payment success/failed status.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions?locale=en_us Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethodType String
quotedAmount String
loyaltySelected Integer
currency String
returnUrl String

Create Policy



Request:

{
   "productCode": "HOHH",
   "quoteId": "1624537533481246",
   "quotedAmount": "1074.08",
   "currencyCode": "MYR",
   "status": "0",
   "authorizationCode": "TIS000",
   "gatewayId": "eghl",
   "referenceCode": "TIS000PFTHOHH2475783056",
   "customerId": "108003",
   "paymentMethod": "1",
   "token": ""
}


Response

{
   "success": true,
   "messages": " Transaction Update success. Policy created",
   "data": {
      "quoteId": "1624537533481246",
      "policy": {
         "policyStatus": "CONFIRMED",
         "policyNumber": "6525321BFA0000372",
         "policyCreationDateTime": 1624541112000,
         "effectiveDate": 1625068740000,
         "policyUrl": "https://api-test.tuneprotect.com/DownloadPolicy/TuneDirectOnlinePDF/GetCOI?ProposalID=247578&Plan=HOHH",
         "expiryDate": 1656518340000,
         "forSelf": true
      },
      "transactionId": "PFTHOHH247578-3056",
      "adaptorCustomerId": "1414292",
      "policyHolder": {
         "fullName": "SREEJITH",
         "mobileNumber": 919746149011,
         "emailAddress": "[email protected]",
         "nationality": "AFG",
         "dob": 705081600000,
         "gender": "Male",
         "addressLine1": "",
         "addressLine2": "",
         "state": "",
         "city": "",
         "postalCode": "",
         "documentID": "SDASD67565765",
         "documentType": "passport"
      },
      "loyalty": null,
      "userExists": true,
      "status": "POLICY_GENERATED"
   },
   "code": 200
}

After a payment success, you can trigger the create policy API for creating policy for customer. This API returns policy/certificate number, policy expiry date and other policy details.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions/BC00007952/status?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethod String
quotedAmount String
status Integer
currencyCode String
authorizationCode String
gatewayId String
referenceCode String
customerId String
paymentMethod String
token String

Pro-Health Medical - API Request And Response Details

Get Basic Quote API:


Request:
{
  "quoteId": "",
  "customerId": "",
  "productCode": "Pro-Health",
  "referralTransactionId": "",
  "paymentFrequency": "Yearly",
  "parameters": [
    {
      "name": "nationalityCheck",
      "value": "0"
    },
    {
      "name": "jobDescription1",
      "value": "0"
    },
    {
      "name": "dob",
      "value": "2005/08/03"
    }
  ]
}
Response:
{
  "productCode": "Pro-Health",
  "quoteId": "1661825512986513",
  "plans": [
    {
      "planCode": "ProHealth100",
      "currency": "MYR",
      "displayName": "ProHealth100",
      "detailedQuotation": null,
      "quotedAmount": "448.60",
      "sumInsured": "100000.00",
      "sumInsuredHH": "0.00",
      "basePremium": "438.60",
      "basePremiumHO": "0.00",
      "basePremiumHH": "0.00"
    },
    {
      "planCode": "ProHealth150",
      "currency": "MYR",
      "displayName": "ProHealth150",
      "detailedQuotation": null,
      "quotedAmount": "520.00",
      "sumInsured": "150000.00",
      "sumInsuredHH": "0.00",
      "basePremium": "510.00",
      "basePremiumHO": "0.00",
      "basePremiumHH": "0.00"
    },
    {
      "planCode": "ProHealth30",
      "currency": "MYR",
      "displayName": "ProHealth30",
      "detailedQuotation": null,
      "quotedAmount": "389.95",
      "sumInsured": "30000.00",
      "sumInsuredHH": "0.00",
      "basePremium": "379.95",
      "basePremiumHO": "0.00",
      "basePremiumHH": "0.00"
    },
    {
      "planCode": "ProHealth60",
      "currency": "MYR",
      "displayName": "ProHealth60",
      "detailedQuotation": null,
      "quotedAmount": "429.05",
      "sumInsured": "60000.00",
      "sumInsuredHH": "0.00",
      "basePremium": "419.05",
      "basePremiumHO": "0.00",
      "basePremiumHH": "0.00"
    }
  ],
  "userInformationDTO": null,
  "affiliatePartnerURL": ""
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
customerId String
productCode String
referralTransactionId String
paymentFrequency String
Parameters Array
nationalityCheck String
jobDescription1 String
dob String

Get Quote Details API:

Response:
{
  "success": true,
  "messages": "Requested Quote is : ",
  "data": {
    "productCode": "Pro-Health",
    "quoteId": "1661825512986513",
    "selectedPlanCode": "ProHealth30",
    "selectedPlanDisplayName": "ProHealth30",
    "quotedAmount": "389.95",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": null,
    "detailedQuotation": [
      {
        "rateName": "BAPA",
        "quotedAmount": "447.00"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "447.00"
      },
      {
        "rateName": "REBA",
        "quotedAmount": "-67.05"
      },
      {
        "rateName": "REBAPERC",
        "quotedAmount": "15.00"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "379.95"
      },
      {
        "rateName": "TOTAP",
        "quotedAmount": "379.95"
      },
      {
        "rateName": "SD",
        "quotedAmount": "10.00"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "389.95"
      }
    ],
    "optionalBenefits": [],
    "customerInformation": [],
    "purchaserInformation": null,
    "additionalInformation": [],
    "eligibleForPayd": false,
    "loyaltyEnabled": false,
    "loyalty": null,
    "checkPromoCodeResponse": null,
    "eligibleForSpecialRewards": null
  },
  "code": 200
}

get following details from get quote API.

https://apiuat.tuneprotect.com/d2c/1.0/products/quote?productCode=Pro-Health&planCode=ProHealth30&quoteId=1661768854273140&locale=en_us

Query and body parameters in request:

Method:GET

PARAMETER TYPE
productCode String
planCode String
quoteId String
locale String

Update Quote (with Customer details) API:

Request:

{
  "productCode": "Pro-Health",
  "quoteId": "1661825512986513",
  "selectedPlanCode": "ProHealth30",
  "quotedAmount": "389.95",
  "optionalBenefits": [],
  "customerInformation": [
    {
      "name": "isMailAddress",
      "value": "true"
    },
    {
      "name": "visaValidity",
      "value": "2022/09/09"
    },
    {
      "name": "passportValidity",
      "value": "2022/08/31"
    },
    {
      "name": "addressPostalCode",
      "value": "23234"
    },
    {
      "name": "addressState",
      "value": "Perak"
    },
    {
      "name": "addressCountry",
      "value": "MYS"
    },
    {
      "name": "addressLine1",
      "value": "ashok nagar"
    },
    {
      "name": "nationality",
      "value": "AIA"
    },
    {
      "name": "documentID",
      "value": "DD2343"
    },
    {
      "name": "mobileNumber",
      "value": "601126487155"
    },
    {
      "name": "mobileCountryCode",
      "value": "+60"
    },
    {
      "name": "dob",
      "value": "2005/08/03"
    },
    {
      "name": "emailAddress",
      "value": "[email protected]"
    },
    {
      "name": "gender",
      "value": "Male"
    },
    {
      "name": "documentType",
      "value": "Passport"
    },
    {
      "name": "fullName",
      "value": "SANTHOSH GADDAM"
    },
    {
      "name": "height",
      "value": "155"
    },
    {
      "name": "weight",
      "value": "55"
    },
    {
      "name": "underwritingAns1",
      "value": "0"
    },
    {
      "name": "underwritingAns2",
      "value": "0"
    },
    {
      "name": "underwritingAns3",
      "value": "0"
    }
  ],
  "purchaserInformation": [],
  "additionalInformation": [],
  "quoteItems1": [],
  "quoteItems2": []
}

Response:

{
  "success": true,
  "messages": " Update success. ",
  "data": {
    "productCode": "Pro-Health",
    "quoteId": "1661825512986513",
    "selectedPlanCode": "ProHealth30",
    "selectedPlanDisplayName": "ProHealth30",
    "quotedAmount": "389.95",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": {
      "parameters": []
    },
    "detailedQuotation": [
      {
        "rateName": "BAPA",
        "quotedAmount": "447.00"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "447.00"
      },
      {
        "rateName": "REBA",
        "quotedAmount": "-67.05"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "379.95"
      },
      {
        "rateName": "TOTAP",
        "quotedAmount": "379.95"
      },
      {
        "rateName": "SD",
        "quotedAmount": "10.00"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "389.95"
      }
    ],
    "optionalBenefits": [],
    "customerInformation": [
      {
        "name": "isMailAddress",
        "value": "true"
      },
      {
        "name": "visaValidity",
        "value": "2022/09/09"
      },
      {
        "name": "passportValidity",
        "value": "2022/08/31"
      },
      {
        "name": "addressPostalCode",
        "value": "23234"
      },
      {
        "name": "addressState",
        "value": "Perak"
      },
      {
        "name": "addressCountry",
        "value": "MYS"
      },
      {
        "name": "addressLine1",
        "value": "ashok nagar"
      },
      {
        "name": "nationality",
        "value": "AIA"
      },
      {
        "name": "documentID",
        "value": "DD2343"
      },
      {
        "name": "mobileNumber",
        "value": "601126487155"
      },
      {
        "name": "mobileCountryCode",
        "value": "+60"
      },
      {
        "name": "dob",
        "value": "2005/08/03"
      },
      {
        "name": "emailAddress",
        "value": "[email protected]"
      },
      {
        "name": "gender",
        "value": "Male"
      },
      {
        "name": "documentType",
        "value": "Passport"
      },
      {
        "name": "fullName",
        "value": "SANTHOSH GADDAM"
      },
      {
        "name": "height",
        "value": "155"
      },
      {
        "name": "weight",
        "value": "55"
      },
      {
        "name": "underwritingAns1",
        "value": "0"
      },
      {
        "name": "underwritingAns2",
        "value": "0"
      },
      {
        "name": "underwritingAns3",
        "value": "0"
      }
    ],
    "purchaserInformation": [],
    "additionalInformation": [],
    "eligibleForPayd": false,
    "loyaltyEnabled": true,
    "loyalty": {
      "eligibleForLoyalty": false,
      "loyaltyId": null,
      "pointsTobeEarned": 379,
      "emailAddres": "[email protected]"
    },
    "checkPromoCodeResponse": null,
    "eligibleForSpecialRewards": false
  },
  "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
isMailAddress String
visaValidity String
passportValidity String
addressPostalCode String
addressState String
addressCountry String
addressLine2 String
addressLine1 String
nationality String
documentID String
mobileNumber String
mobileCountryCode String
dob String
emailAddress String
gender String
documentType String
fullName String
underwritingAns3 String
underwritingAns2 String
underwritingAns1 String
height String
weight String
purchaserInformation Array
additionalInformation Array
quoteItems1 Array
quoteItems2 Array

INIT Transaction API:


Request:

{
  "productCode": "Pro-Health",
  "quoteId": "1661825512986513",
  "quotedAmount": "389.95",
  "paymentMethodType": 1,
  "paymentMode": 2,
  "promoCode": null,
  "loyaltySelected": 0,
  "currency": "MYR",
  "returnUrl": "https://tpmrsuat.tuneprotect.com/paymentStatus/"
}

Response:

{
  "transactionId": "PFTPH002631-8196",
  "quotedAmount": "389.95",
  "status": "INITIATED",
  "customerId": "",
  "paymentPasswordEncrypted": "w9x5PnY1U5jWt9wsvTmOudTc3lE4P4/j",
  "paymentFailureCallbackUrl": null,
  "monthlyQuotedAmount": 0,
  "paymentDetails": [
    {
      "param": "callBackUrl",
      "value": "https://tpmrsuat.tuneprotect.com/rocketship/eghl/v1/callback"
    },
    {
      "param": "merchantID",
      "value": "null"
    },
    {
      "param": "invoiceNo",
      "value": "PFTPH002631-8196"
    },
    {
      "param": "description",
      "value": "Payment token request for transaction PFTPH002631-8196"
    },
    {
      "param": "amount",
      "value": "389.95"
    },
    {
      "param": "currencyCode",
      "value": "MYR"
    }
  ],
  "token": null
}

Transaction API is used to initiate transaction before calling payment gateway for purchase. Initiate transaction API will create a transaction ID for the transaction and will return it. This transaction ID need to be used in the final create policy API after payment success/failed status.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions?locale=en_us Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethodType Integer
paymentMode Integer
promoCode String
quotedAmount String
loyaltySelected Integer
currency String
returnUrl String

Create Policy


Request:

{
   "productCode": "Pro-Health",
   "quoteId": "1661825512986513",
   "quotedAmount": "389.95",
   "currencyCode": "MYR",
   "status": "0",
   "authorizationCode": "TIS000",
   "gatewayId": "eghl",
   "referenceCode": "TIS00000PFTPH2278354627",
   "customerId": "108003",
   "paymentMethod": "1",
   "token": ""
}


Response

{
  "success": true,
  "messages": "SUCCESS",
  "data": {
    "quoteId": null,
    "policy": {
      "policyStatus": "CONFIRMED",
      "policyNumber": "MEDICAL-2022-0000566.436",
      "policyCreationDateTime": 1661825999434,
      "effectiveDate": 1661797197000,
      "policyUrl": null,
      "expiryDate": 1693246797000,
      "forSelf": true
    },
    "transactionId": "PFTPH002631-8196",
    "adaptorCustomerId": null,
    "policyHolder": {
      "fullName": "SANTHOSH GADDAM",
      "mobileNumber": 601126487155,
      "emailAddress": "[email protected]",
      "nationality": "AIA",
      "dob": 1122998400000,
      "gender": null,
      "addressLine1": null,
      "addressLine2": null,
      "state": null,
      "city": null,
      "postalCode": null,
      "documentID": "DD2343",
      "documentType": "Passport"
    },
    "paxesPolicies": [],
    "loyalty": null,
    "applyPromoCodeResponse": null,
    "eligibleForSpecialRewards": null,
    "userExists": false,
    "status": "POLICY_GENERATED"
  },
  "code": 200
}

After a payment success, you can trigger the create policy API for creating policy for customer. This API returns policy/certificate number, policy expiry date and other policy details.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions/PFTPH002631-8196/status?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethod String
quotedAmount String
status Integer
currencyCode String
authorizationCode String
gatewayId String
referenceCode String
customerId String
paymentMethod String
token String

Dental - API Request And Response Details

Get Basic Quote API:



Request:
{
  "quoteId": "",
  "customerId": "",
  "productCode": "DENTALEASY",
  "referralTransactionId": "",
  "parameters": [
    {
      "name": "adultNo",
      "value": "Adult_Count_2"
    },
    {
      "name": "childrenNo",
      "value": "Children_Count_1"
    },
    {
      "name": "selectPlanType",
      "value": "Family"
    }
  ]
}
Response:
{
  "productCode": "DENTALEASY",
  "quoteId": "1639383701156577",
  "plans": [
    {
      "planCode": "Gold",
      "currency": "MYR",
      "displayName": "Gold",
      "quotedAmount": "1135.00",
      "sumInsured": "0.00",
      "sumInsuredHH": "0.00",
      "basePremium": "1125.00",
      "basePremiumHO": "0.00",
      "basePremiumHH": "0.00"
    },
    {
      "planCode": "Platinum",
      "currency": "MYR",
      "displayName": "Platinum",
      "quotedAmount": "1990.00",
      "sumInsured": "0.00",
      "sumInsuredHH": "0.00",
      "basePremium": "1980.00",
      "basePremiumHO": "0.00",
      "basePremiumHH": "0.00"
    }
  ],
  "userInformationDTO": null,
  "affiliatePartnerURL": "https://tpmrsuat.tuneprotect.com/quote/RS_Quote_Dental?sourceid=src12345&uid=163938370157373&productcode=DENTALEASY&data=fGFkdWx0Tm86QWR1bHRfQ291bnRfMnxjaGlsZHJlbk5vOkNoaWxkcmVuX0NvdW50XzF8c2VsZWN0UGxhblR5cGU6RmFtaWx5fA=="
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
customerId String
productCode String
referralTransactionId String
Parameters Array
adultNo String
childrenNo String
selectPlanType String

get following details from get quote API.

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote?productCode=DENTALEASY&planCode=Gold&quoteId=1639383701156577&locale=en_us


{
  "success": true,
  "messages": "Requested Quote is : ",
  "data": {
    "productCode": "DENTALEASY",
    "quoteId": "1639383701156577",
    "selectedPlanCode": "Gold",
    "selectedPlanDisplayName": "Gold",
    "quotedAmount": "1135.00",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": null,
    "detailedQuotation": [
      {
        "rateName": "BAPA",
        "quotedAmount": "1250.0"
      },
      {
        "rateName": "REBA",
        "quotedAmount": "-125.0"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "1125.0"
      },
      {
        "rateName": "SST",
        "quotedAmount": "0.0"
      },
      {
        "rateName": "SD",
        "quotedAmount": "10.0"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "1135.0"
      },
      {
        "rateName": "REBAPERC",
        "quotedAmount": "10"
      },
      {
        "rateName": "SSTPERC",
        "quotedAmount": "0"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "1125.0"
      },
      {
        "rateName": "DISCPERC",
        "quotedAmount": "0"
      }
    ],
    "optionalBenefits": [],
    "customerInformation": [],
    "purchaserInformation": null,
    "additionalInformation": [],
    "eligibleForPayd": false,
    "loyaltyEnabled": false,
    "loyalty": null,
    "checkPromoCodeResponse": null,
    "eligibleForSpecialRewards": null
  },
  "code": 200
}

Query and body parameters in request:

Method:GET

PARAMETER TYPE
productCode String
planCode String
quoteId String
locale String

Update Quote (with Customer details) API:

Request:

{
  "productCode": "DENTALEASY",
  "quoteId": "1659342464863232",
  "selectedPlanCode": "Gold",
  "quotedAmount": "359.20",
  "optionalBenefits": [],
  "customerInformation": [
    {
      "name": "mailAddress",
      "value": "false"
    },
    {
      "name": "mailingAddressPostalCode",
      "value": "12344"
    },
    {
      "name": "mailingAddressState",
      "value": "Kelantan"
    },
    {
      "name": "mailingAddressCountry",
      "value": "MYS"
    },
    {
      "name": "mailingAddressLine1",
      "value": "testAdd"
    },
    {
      "name": "addressPostalCode",
      "value": "12344"
    },
    {
      "name": "addressState",
      "value": "Kelantan"
    },
    {
      "name": "addressCountry",
      "value": "MYS"
    },
    {
      "name": "addressLine1",
      "value": "test"
    },
    {
      "name": "nationality",
      "value": "MYS"
    },
    {
      "name": "documentID",
      "value": "970204-22-2312"
    },
    {
      "name": "mobileNumber",
      "value": "919744667934"
    },
    {
      "name": "mobileCountryCode",
      "value": "+91"
    },
    {
      "name": "dob",
      "value": "1997/02/04"
    },
    {
      "name": "emailAddress",
      "value": "[email protected]"
    },
    {
      "name": "gender",
      "value": "Female"
    },
    {
      "name": "documentType",
      "value": "nric"
    },
    {
      "name": "fullName",
      "value": "MINNU"
    }
  ],
  "purchaserInformation": [],
  "additionalInformation": [],
  "quoteItems1": [],
  "quoteItems2": []
}

Response:

{
  "success": true,
  "messages": " Update success. ",
  "data": {
    "productCode": "DENTALEASY",
    "quoteId": "1659342464863232",
    "selectedPlanCode": "Gold",
    "selectedPlanDisplayName": "Gold",
    "quotedAmount": "359.20",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": null,
    "detailedQuotation": [
      {
        "rateName": "BAPA",
        "quotedAmount": "388.00"
      },
      {
        "rateName": "REBA",
        "quotedAmount": "-38.80"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "349.20"
      },
      {
        "rateName": "SST",
        "quotedAmount": "0.00"
      },
      {
        "rateName": "SD",
        "quotedAmount": "10.00"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "359.20"
      },
      {
        "rateName": "REBAPERC",
        "quotedAmount": "10"
      },
      {
        "rateName": "SSTPERC",
        "quotedAmount": "0"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "349.2"
      },
      {
        "rateName": "DISCPERC",
        "quotedAmount": "0"
      }
    ],
    "optionalBenefits": [],
    "customerInformation": [
      {
        "name": "mailAddress",
        "value": "false"
      },
      {
        "name": "mailingAddressPostalCode",
        "value": "12344"
      },
      {
        "name": "mailingAddressState",
        "value": "Kelantan"
      },
      {
        "name": "mailingAddressCountry",
        "value": "MYS"
      },
      {
        "name": "mailingAddressLine1",
        "value": "testAdd"
      },
      {
        "name": "addressPostalCode",
        "value": "12344"
      },
      {
        "name": "addressState",
        "value": "Kelantan"
      },
      {
        "name": "addressCountry",
        "value": "MYS"
      },
      {
        "name": "addressLine1",
        "value": "test"
      },
      {
        "name": "nationality",
        "value": "MYS"
      },
      {
        "name": "documentID",
        "value": "970204-22-2312"
      },
      {
        "name": "mobileNumber",
        "value": "919744667934"
      },
      {
        "name": "mobileCountryCode",
        "value": "+91"
      },
      {
        "name": "dob",
        "value": "1997/02/04"
      },
      {
        "name": "emailAddress",
        "value": "[email protected]"
      },
      {
        "name": "gender",
        "value": "Female"
      },
      {
        "name": "documentType",
        "value": "nric"
      },
      {
        "name": "fullName",
        "value": "MINNU"
      }
    ],
    "purchaserInformation": [],
    "additionalInformation": [],
    "eligibleForPayd": false,
    "loyaltyEnabled": true,
    "loyalty": {
      "eligibleForLoyalty": false,
      "loyaltyId": null,
      "pointsTobeEarned": 349,
      "emailAddres": "[email protected]"
    },
    "checkPromoCodeResponse": null,
    "eligibleForSpecialRewards": false
  },
  "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
mailAddress String
mailingAddressPostalCode String
mailingAddressState String
mailingAddressCountry String
mailingAddressLine2 String
mailingAddressLine1 String
addressPostalCode String
addressState String
addressCountry String
addressLine2 String
addressLine1 String
nationality String
documentID String
mobileNumber String
mobileCountryCode String
dob String
emailAddress String
gender String
documentType String
fullName String
purchaserInformation Array
additionalInformation Array
quoteItems1 Array
quoteItems2 Array
OptionalBenefits Array

Update Quote (with Customer details) API:

Request:

{
  "productCode": "DENTALEASY",
  "quoteId": "1659347989580442",
  "selectedPlanCode": "Gold",
  "quotedAmount": "640.00",
  "optionalBenefits": [],
  "customerInformation": [
    {
      "name": "mailAddress",
      "value": "false"
    },
    {
      "name": "mailingAddressPostalCode",
      "value": "12345"
    },
    {
      "name": "mailingAddressState",
      "value": "Melaka"
    },
    {
      "name": "mailingAddressCountry",
      "value": "MYS"
    },
    {
      "name": "mailingAddressLine1",
      "value": "ggggg"
    },
    {
      "name": "addressPostalCode",
      "value": "12345"
    },
    {
      "name": "addressState",
      "value": "Kelantan"
    },
    {
      "name": "addressCountry",
      "value": "MYS"
    },
    {
      "name": "addressLine1",
      "value": "testt"
    },
    {
      "name": "nationality",
      "value": "AIA"
    },
    {
      "name": "documentID",
      "value": "TEST4567"
    },
    {
      "name": "mobileNumber",
      "value": "919744667934"
    },
    {
      "name": "mobileCountryCode",
      "value": "+91"
    },
    {
      "name": "dob",
      "value": "2004/08/01"
    },
    {
      "name": "emailAddress",
      "value": "[email protected]"
    },
    {
      "name": "gender",
      "value": "Female"
    },
    {
      "name": "documentType",
      "value": "Passport"
    },
    {
      "name": "fullName",
      "value": "MINNU"
    }
  ],
  "purchaserInformation": [],
  "additionalInformation": [
    {
      "name": "additionalCustomers",
      "value": "[{\"fullName\":\"TEST\",\"documentType\":\"Other\",\"relationship\":\"Spouse\",\"dob\":\"2004/08/01\",\"documentID\":\"FTYUU\",\"nationality\":\"AGO\"}]"
    }
  ],
  "quoteItems1": [],
  "quoteItems2": []
}

Response:

{
  "success": true,
  "messages": " Update success. ",
  "data": {
    "productCode": "DENTALEASY",
    "quoteId": "1659347989580442",
    "selectedPlanCode": "Gold",
    "selectedPlanDisplayName": "Gold",
    "quotedAmount": "640.00",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": null,
    "detailedQuotation": [
      {
        "rateName": "BAPA",
        "quotedAmount": "700.00"
      },
      {
        "rateName": "REBA",
        "quotedAmount": "-70.00"
      },
      {
        "rateName": "GROSS",
        "quotedAmount": "630.00"
      },
      {
        "rateName": "SST",
        "quotedAmount": "0.00"
      },
      {
        "rateName": "SD",
        "quotedAmount": "10.00"
      },
      {
        "rateName": "TOTAL",
        "quotedAmount": "640.00"
      },
      {
        "rateName": "REBAPERC",
        "quotedAmount": "10"
      },
      {
        "rateName": "SSTPERC",
        "quotedAmount": "0"
      },
      {
        "rateName": "PremiumAfterDiscount",
        "quotedAmount": "630.0"
      },
      {
        "rateName": "DISCPERC",
        "quotedAmount": "0"
      }
    ],
    "optionalBenefits": [],
    "customerInformation": [
      {
        "name": "mailAddress",
        "value": "false"
      },
      {
        "name": "mailingAddressPostalCode",
        "value": "12345"
      },
      {
        "name": "mailingAddressState",
        "value": "Melaka"
      },
      {
        "name": "mailingAddressCountry",
        "value": "MYS"
      },
      {
        "name": "mailingAddressLine1",
        "value": "ggggg"
      },
      {
        "name": "addressPostalCode",
        "value": "12345"
      },
      {
        "name": "addressState",
        "value": "Kelantan"
      },
      {
        "name": "addressCountry",
        "value": "MYS"
      },
      {
        "name": "addressLine1",
        "value": "testt"
      },
      {
        "name": "nationality",
        "value": "AIA"
      },
      {
        "name": "documentID",
        "value": "TEST4567"
      },
      {
        "name": "mobileNumber",
        "value": "919744667934"
      },
      {
        "name": "mobileCountryCode",
        "value": "+91"
      },
      {
        "name": "dob",
        "value": "2004/08/01"
      },
      {
        "name": "emailAddress",
        "value": "[email protected]"
      },
      {
        "name": "gender",
        "value": "Female"
      },
      {
        "name": "documentType",
        "value": "Passport"
      },
      {
        "name": "fullName",
        "value": "MINNU"
      }
    ],
    "purchaserInformation": [],
    "additionalInformation": [
      {
        "name": "additionalCustomers",
        "value": "[{\"fullName\":\"TEST\",\"documentType\":\"Other\",\"relationship\":\"Spouse\",\"dob\":\"2004/08/01\",\"documentID\":\"FTYUU\",\"nationality\":\"AGO\"}]"
      }
    ],
    "eligibleForPayd": false,
    "loyaltyEnabled": true,
    "loyalty": {
      "eligibleForLoyalty": false,
      "loyaltyId": null,
      "pointsTobeEarned": 630,
      "emailAddres": "[email protected]"
    },
    "checkPromoCodeResponse": null,
    "eligibleForSpecialRewards": false
  },
  "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
mailAddress String
mailingAddressPostalCode String
mailingAddressState String
mailingAddressCountry String
mailingAddressLine2 String
mailingAddressLine1 String
addressPostalCode String
addressState String
addressCountry String
addressLine2 String
addressLine1 String
nationality String
documentID String
mobileNumber String
mobileCountryCode String
dob String
emailAddress String
gender String
documentType String
fullName String
purchaserInformation Array
additionalInformation Array
quoteItems1 Array
quoteItems2 Array
OptionalBenefits Array
agreeDeclaration String,
acceptTerms" String

INIT Transaction API:

Request:

{
  "productCode": "DENTALEASY",
  "quoteId": "1639383701156577",
  "quotedAmount": "1135.00",
  "paymentMethodType": 1,
  "promoCode": "",
  "loyaltySelected": 0,
  "currency": "MYR",
  "returnUrl": "https://tpmrsuat.tuneprotect.com/paymentStatus/"
}
Response:

{
"transactionId": "PFTHOHH247578-3056",
"quotedAmount": "1074.08",
"status": "INITIATED",
"customerId": "",
"paymentPasswordEncrypted": "O0qWOE9OnnV2979d1zASZs0ROyoH5rCP",
"paymentFailureCallbackUrl": "https://tpmrsuat.tuneprotect.com/rocketship/d/aQDOxKaRqeLk",
"token": null
}


Transaction API is used to initiate transaction before calling payment gateway for purchase. Initiate transaction API will create a transaction ID for the transaction and will return it. This transaction ID need to be used in the final create policy API after payment success/failed status.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions?locale=en_us Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethodType String
quotedAmount String
loyaltySelected Integer
currency String
returnUrl String

Create Policy



Request:

{
   "productCode": "DENTALEASY",
   "quoteId": "1639383701156577",
   "quotedAmount": "1135.00",
   "currencyCode": "MYR",
   "status": "0",
   "authorizationCode": "TIS000",
   "gatewayId": "eghl",
   "referenceCode": "TIS000PFTHOHH2475783056",
   "customerId": "108003",
   "paymentMethod": "1",
   "token": ""
}


Response

{
   "success": true,
   "messages": " Transaction Update success. Policy created",
   "data": {
      "quoteId": "1624537533481246",
      "policy": {
         "policyStatus": "CONFIRMED",
         "policyNumber": "6525321BFA0000372",
         "policyCreationDateTime": 1624541112000,
         "effectiveDate": 1625068740000,
         "policyUrl": "https://api-test.tuneprotect.com/DownloadPolicy/TuneDirectOnlinePDF/GetCOI?ProposalID=247578&Plan=HOHH",
         "expiryDate": 1656518340000,
         "forSelf": true
      },
      "transactionId": "PFTHOHH247578-3056",
      "adaptorCustomerId": "1414292",
      "policyHolder": {
         "fullName": "UNNI",
         "mobileNumber": 919496711129,
         "emailAddress": "[email protected]",
         "nationality": "AND",
         "dob": 705081600000,
         "gender": "Male",
         "addressLine1": "",
         "addressLine2": "",
         "state": "",
         "city": "",
         "postalCode": "",
         "documentID": "SDASD67565765",
         "documentType": "passport"
      },
      "loyalty": null,
      "userExists": true,
      "status": "POLICY_GENERATED"
   },
   "code": 200
}

After a payment success, you can trigger the create policy API for creating policy for customer. This API returns policy/certificate number, policy expiry date and other policy details.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions/BC00007952/status?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethod String
quotedAmount String
status Integer
currencyCode String
authorizationCode String
gatewayId String
referenceCode String
customerId String
paymentMethod String
token String

TRAVEL Easy - API Request And Response Details

Get Basic Quote API: Trip Type - one way

Request:
{
    "quoteId": "",
    "customerId": "",
    "productCode": "TRAVELEASY",
    "referralTransactionId": "",
    "parameters": [
        {
            "name": "passengerType",
            "value": "Individual"
        },
        {
            "name": "tripType",
            "value": "OneWay"
        },
        {
            "name": "departureDate",
            "value": "2023/02/22"
        },
        {
            "name": "ageCheck",
            "value": false
        },
        {
            "name": "location",
            "value": "WorldwideEx"
        }
    ]
}


Response :
{
    "productCode": "TRAVELEASY",
    "quoteId": "1676624886136655",
    "plans": [
        {
            "planCode": "COVIDLITE",
            "currency": "MYR",
            "displayName": "COVID LITE",
            "detailedQuotation": null,
            "quotedAmount": "52.00",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "42.00",
            "oldBasePremium": "42.00",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        },
        {
            "planCode": "TRAVELEASY",
            "currency": "MYR",
            "displayName": "Travel Easy",
            "detailedQuotation": null,
            "quotedAmount": "42.25",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "32.25",
            "oldBasePremium": "32.25",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        },
        {
            "planCode": "COVIDPLUS",
            "currency": "MYR",
            "displayName": "COVID PLUS",
            "detailedQuotation": null,
            "quotedAmount": "68.50",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "58.50",
            "oldBasePremium": "58.50",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        }
    ],
    "userInformationDTO": null,
    "affiliatePartnerURL": "https://tpmrsuat.tuneprotect.com/quote/RS_Quote_Travel?sourceid=src12345&uid=167662488726147&productcode=TRAVELEASY&data=fHBhc3NlbmdlclR5cGU6SW5kaXZpZHVhbHx0cmlwVHlwZTpPbmVXYXl8ZGVwYXJ0dXJlRGF0ZToyMDIzLzAyLzIyfGFnZUNoZWNrOmZhbHNlfGxvY2F0aW9uOldvcmxkd2lkZUV4fA=="
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
quoteId String
customerId String
productCode String
referralTransactionId String
Parameters Array
passengerType String
tripType String
departureDate String
returnDate String
ageCheck Boolean
location String

Get Basic Quote API: Trip Type - Annual

Request:
{
    "quoteId": "1676624886136655",
    "customerId": "",
    "productCode": "TRAVELEASY",
    "referralTransactionId": "",
    "parameters": [
        {
            "name": "tripType",
            "value": "Annual"
        },
        {
            "name": "departureDate",
            "value": "2023/02/23"
        },
        {
            "name": "returnDate",
            "value": "2024/02/22"
        },
        {
            "name": "location",
            "value": "AsiaPacific"
        },
        {
            "name": "ageCheck",
            "value": false
        },
        {
            "name": "passengerType",
            "value": "Individual"
        }
    ]
}

Response :
{
    "productCode": "TRAVELEASY",
    "quoteId": "1676625220632583",
    "plans": [
        {
            "planCode": "TRAVELEASY",
            "currency": "MYR",
            "displayName": "Travel Easy",
            "detailedQuotation": null,
            "quotedAmount": "167.50",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "157.50",
            "oldBasePremium": "157.50",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        }
    ],
    "userInformationDTO": null,
    "affiliatePartnerURL": "https://tpmrsuat.tuneprotect.com/quote/RS_Quote_Travel?sourceid=src12345&uid=167662522116031&productcode=TRAVELEASY&data=fHRyaXBUeXBlOkFubnVhbHxkZXBhcnR1cmVEYXRlOjIwMjMvMDIvMjN8cmV0dXJuRGF0ZToyMDI0LzAyLzIyfGxvY2F0aW9uOkFzaWFQYWNpZmljfGFnZUNoZWNrOmZhbHNlfHBhc3NlbmdlclR5cGU6SW5kaXZpZHVhbHw="
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
quoteId String
customerId String
productCode String
referralTransactionId String
Parameters Array
passengerType String
tripType String
departureDate String
returnDate String
ageCheck Boolean
location String

Get Basic Quote API: Passenger Type - Group

Request:
{
    "quoteId": "1676625220632583",
    "customerId": "",
    "productCode": "TRAVELEASY",
    "referralTransactionId": "",
    "parameters": [
        {
            "name": "tripType",
            "value": "Annual"
        },
        {
            "name": "departureDate",
            "value": "2023/02/23"
        },
        {
            "name": "returnDate",
            "value": "2024/02/22"
        },
        {
            "name": "location",
            "value": "AsiaPacific"
        },
        {
            "name": "ageCheck",
            "value": false
        },
        {
            "name": "noOfInsured",
            "value": "2"
        },
        {
            "name": "passengerType",
            "value": "Group"
        }
    ]
}

Response :
{
    "productCode": "TRAVELEASY",
    "quoteId": "1676625519104715",
    "plans": [
        {
            "planCode": "TRAVELEASY",
            "currency": "MYR",
            "displayName": "Travel Easy",
            "detailedQuotation": null,
            "quotedAmount": "335.00",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "315.00",
            "oldBasePremium": "315.00",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        }
    ],
    "userInformationDTO": null,
    "affiliatePartnerURL": "https://tpmrsuat.tuneprotect.com/quote/RS_Quote_Travel?sourceid=src12345&uid=167662551975564&productcode=TRAVELEASY&data=fHRyaXBUeXBlOkFubnVhbHxkZXBhcnR1cmVEYXRlOjIwMjMvMDIvMjN8cmV0dXJuRGF0ZToyMDI0LzAyLzIyfGxvY2F0aW9uOkFzaWFQYWNpZmljfGFnZUNoZWNrOmZhbHNlfG5vT2ZJbnN1cmVkOjJ8cGFzc2VuZ2VyVHlwZTpHcm91cHw="
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
quoteId String
customerId String
productCode String
referralTransactionId String
Parameters Array
passengerType String
noOfInsured String
tripType String
departureDate String
returnDate String
ageCheck Boolean
location String

Get Basic Quote API: Passenger Type - Family

Request:
{
    "quoteId": "1676625519104715",
    "customerId": "",
    "productCode": "TRAVELEASY",
    "referralTransactionId": "",
    "parameters": [
        {
            "name": "passengerType",
            "value": "Family"
        },
        {
            "name": "tripType",
            "value": "OneWay"
        },
        {
            "name": "departureDate",
            "value": "2023/02/22"
        },
        {
            "name": "ageCheck",
            "value": false
        },
        {
            "name": "location",
            "value": "WorldwideEx"
        }
    ]
}

Response :
{
    "productCode": "TRAVELEASY",
    "quoteId": "1676625729576236",
    "plans": [
        {
            "planCode": "COVIDLITE",
            "currency": "MYR",
            "displayName": "COVID LITE",
            "detailedQuotation": null,
            "quotedAmount": "124.00",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "114.00",
            "oldBasePremium": "114.00",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        },
        {
            "planCode": "TRAVELEASY",
            "currency": "MYR",
            "displayName": "Travel Easy",
            "detailedQuotation": null,
            "quotedAmount": "97.75",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "87.75",
            "oldBasePremium": "87.75",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        },
        {
            "planCode": "COVIDPLUS",
            "currency": "MYR",
            "displayName": "COVID PLUS",
            "detailedQuotation": null,
            "quotedAmount": "168.25",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "158.25",
            "oldBasePremium": "158.25",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        }
    ],
    "userInformationDTO": null,
    "affiliatePartnerURL": "https://tpmrsuat.tuneprotect.com/quote/RS_Quote_Travel?sourceid=src12345&uid=167662573067265&productcode=TRAVELEASY&data=fHBhc3NlbmdlclR5cGU6RmFtaWx5fHRyaXBUeXBlOk9uZVdheXxkZXBhcnR1cmVEYXRlOjIwMjMvMDIvMjJ8YWdlQ2hlY2s6ZmFsc2V8bG9jYXRpb246V29ybGR3aWRlRXh8"
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
quoteId String
customerId String
productCode String
referralTransactionId String
Parameters Array
passengerType String
tripType String
departureDate String
returnDate String
ageCheck Boolean
location String

Get Quote Details API:



Response:
{
    "success": true,
    "messages": "Requested Quote is : ",
    "data": {
        "productCode": "TRAVELEASY",
        "quoteId": "1676625729576236",
        "selectedPlanCode": "TRAVELEASY",
        "selectedPlanDisplayName": "Travel Easy",
        "quotedAmount": "97.75",
        "totalNumberOfPersons": 0,
        "totalNumberOfAdditionalDrivers": 0,
        "userInformationDTO": null,
        "detailedQuotation": [
            {
                "rateName": "BAPA",
                "quotedAmount": "117.0"
            },
            {
                "rateName": "CBAPA",
                "quotedAmount": "117.0"
            },
            {
                "rateName": "ORBTPERC",
                "quotedAmount": "25.0"
            },
            {
                "rateName": "REBA",
                "quotedAmount": "-29.25"
            },
            {
                "rateName": "GROSS",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "SST",
                "quotedAmount": "0.0"
            },
            {
                "rateName": "SD",
                "quotedAmount": "10.0"
            },
            {
                "rateName": "REFBAPA",
                "quotedAmount": "117.0"
            },
            {
                "rateName": "REFREBA",
                "quotedAmount": "-29.25"
            },
            {
                "rateName": "REFTOTL",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "EBDISC",
                "quotedAmount": "0.0"
            },
            {
                "rateName": "EBDISCPERC",
                "quotedAmount": "15"
            },
            {
                "rateName": "TOTAL",
                "quotedAmount": "97.75"
            },
            {
                "rateName": "REBAPERC",
                "quotedAmount": "25"
            },
            {
                "rateName": "SSTPERC",
                "quotedAmount": "0"
            },
            {
                "rateName": "PremiumAfterDiscount",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "DISCPERC",
                "quotedAmount": "0"
            }
        ],
        "optionalBenefits": [],
        "customerInformation": [],
        "purchaserInformation": null,
        "additionalInformation": [],
        "eligibleForPayd": false,
        "loyaltyEnabled": false,
        "loyalty": null,
        "checkPromoCodeResponse": null,
        "eligibleForSpecialRewards": null
    },
    "code": 200
}

get following details from get quote API.

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote?productCode=TRAVELEASY&planCode=TRAVELEASY&quoteId=1641971167358309&locale=en_us

Query and body parameters in request:

Method:GET

PARAMETER TYPE
productCode String
planCode String
quoteId String
locale String

Update Quote (with Customer details) API:


Request:
{
    "productCode": "TRAVELEASY",
    "quoteId": "1676625729576236",
    "selectedPlanCode": "TRAVELEASY",
    "quotedAmount": "97.75",
    "optionalBenefits": [],
    "customerInformation": [
        {
            "name": "mailAddress",
            "value": "true"
        },
        {
            "name": "addressPostalCode",
            "value": "23423"
        },
        {
            "name": "addressState",
            "value": "Kelantan"
        },
        {
            "name": "addressCountry",
            "value": "MYS"
        },
        {
            "name": "addressLine1",
            "value": "ashok nagar"
        },
        {
            "name": "nationality",
            "value": "MYS"
        },
        {
            "name": "documentID",
            "value": "890909-34-2342"
        },
        {
            "name": "mobileNumber",
            "value": "601126487155"
        },
        {
            "name": "mobileCountryCode",
            "value": "+60"
        },
        {
            "name": "dob",
            "value": "1989/09/09"
        },
        {
            "name": "emailAddress",
            "value": "[email protected]"
        },
        {
            "name": "gender",
            "value": "Female"
        },
        {
            "name": "documentType",
            "value": "nric"
        },
        {
            "name": "fullName",
            "value": "SANTHOSH GADDAM"
        }
    ],
    "purchaserInformation": [],
    "additionalInformation": [],
    "quoteItems1": [],
    "quoteItems2": []
}

Response:
{
    "success": true,
    "messages": " Update success. ",
    "data": {
        "productCode": "TRAVELEASY",
        "quoteId": "1676625729576236",
        "selectedPlanCode": "TRAVELEASY",
        "selectedPlanDisplayName": "Travel Easy",
        "quotedAmount": "87.75",
        "totalNumberOfPersons": 0,
        "totalNumberOfAdditionalDrivers": 0,
        "userInformationDTO": null,
        "detailedQuotation": [
            {
                "rateName": "BAPA",
                "quotedAmount": "117.00"
            },
            {
                "rateName": "CBAPA",
                "quotedAmount": "117.00"
            },
            {
                "rateName": "ORBTPERC",
                "quotedAmount": "25.00"
            },
            {
                "rateName": "REBA",
                "quotedAmount": "-29.25"
            },
            {
                "rateName": "GROSS",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "SST",
                "quotedAmount": "0.00"
            },
            {
                "rateName": "SD",
                "quotedAmount": "0.00"
            },
            {
                "rateName": "REFBAPA",
                "quotedAmount": "117.00"
            },
            {
                "rateName": "REFREBA",
                "quotedAmount": "-29.25"
            },
            {
                "rateName": "REFTOTL",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "EBDISC",
                "quotedAmount": "0.00"
            },
            {
                "rateName": "EBDISCPERC",
                "quotedAmount": "15"
            },
            {
                "rateName": "TOTAL",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "REBAPERC",
                "quotedAmount": "25"
            },
            {
                "rateName": "SSTPERC",
                "quotedAmount": "0"
            },
            {
                "rateName": "PremiumAfterDiscount",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "DISCPERC",
                "quotedAmount": "0"
            }
        ],
        "optionalBenefits": [],
        "customerInformation": [
            {
                "name": "mailAddress",
                "value": "true"
            },
            {
                "name": "addressPostalCode",
                "value": "23423"
            },
            {
                "name": "addressState",
                "value": "Kelantan"
            },
            {
                "name": "addressCountry",
                "value": "MYS"
            },
            {
                "name": "addressLine1",
                "value": "ashok nagar"
            },
            {
                "name": "nationality",
                "value": "MYS"
            },
            {
                "name": "documentID",
                "value": "890909-34-2342"
            },
            {
                "name": "mobileNumber",
                "value": "601126487155"
            },
            {
                "name": "mobileCountryCode",
                "value": "+60"
            },
            {
                "name": "dob",
                "value": "1989/09/09"
            },
            {
                "name": "emailAddress",
                "value": "[email protected]"
            },
            {
                "name": "gender",
                "value": "Female"
            },
            {
                "name": "documentType",
                "value": "nric"
            },
            {
                "name": "fullName",
                "value": "SANTHOSH GADDAM"
            }
        ],
        "purchaserInformation": [],
        "additionalInformation": [],
        "eligibleForPayd": false,
        "loyaltyEnabled": true,
        "loyalty": {
            "eligibleForLoyalty": false,
            "loyaltyId": null,
            "pointsTobeEarned": 87,
            "emailAddres": "[email protected]"
        },
        "checkPromoCodeResponse": null,
        "eligibleForSpecialRewards": false
    },
    "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
mailAddress String
mailingAddressPostalCode String
mailingAddressState String
mailingAddressCountry String
mailingAddressLine2 String
mailingAddressLine1 String
addressPostalCode String
addressState String
addressCountry String
addressLine2 String
addressLine1 String
nationality String
documentID String
mobileNumber String
mobileCountryCode String
dob String
emailAddress String
gender String
documentType String
fullName String
purchaserInformation Array
additionalInformation Array
quoteItems1 Blank Array
quoteItems2 Blank Array
OptionalBenefits Array
agreeDeclaration String,
acceptTerms" String

Update Quote (with Customer details and additional persons) API:


Request:
{
    "productCode": "TRAVELEASY",
    "quoteId": "1676625729576236",
    "selectedPlanCode": "TRAVELEASY",
    "quotedAmount": "87.75",
    "optionalBenefits": [],
    "customerInformation": [
        {
            "name": "mailAddress",
            "value": "true"
        },
        {
            "name": "addressPostalCode",
            "value": "23423"
        },
        {
            "name": "addressState",
            "value": "Kelantan"
        },
        {
            "name": "addressCountry",
            "value": "MYS"
        },
        {
            "name": "addressLine1",
            "value": "ashok nagar"
        },
        {
            "name": "nationality",
            "value": "MYS"
        },
        {
            "name": "documentID",
            "value": "890909-34-2342"
        },
        {
            "name": "mobileNumber",
            "value": "601126487155"
        },
        {
            "name": "mobileCountryCode",
            "value": "+60"
        },
        {
            "name": "dob",
            "value": "1989/09/09"
        },
        {
            "name": "emailAddress",
            "value": "[email protected]"
        },
        {
            "name": "gender",
            "value": "Female"
        },
        {
            "name": "documentType",
            "value": "nric"
        },
        {
            "name": "fullName",
            "value": "SANTHOSH GADDAM"
        }
    ],
    "purchaserInformation": [],
    "additionalInformation": [
        {
            "name": "additionalCustomers",
            "value": "[{\"fullName\":\"ASDFSA\",\"documentType\":\"nric\",\"documentID\":\"990909-23-4234\",\"relationship\":\"Spouse\",\"dob\":\"1999/09/09\",\"nationality\":\"MYS\"},{\"fullName\":\"ASDFSAD\",\"documentType\":\"nric\",\"documentID\":\"210909-23-4234\",\"relationship\":\"Child\",\"dob\":\"2021/09/09\",\"nationality\":\"MYS\"}]"
        }
    ],
    "quoteItems1": [],
    "quoteItems2": []
}

Response:
{
    "success": true,
    "messages": " Update success. ",
    "data": {
        "productCode": "TRAVELEASY",
        "quoteId": "1676625729576236",
        "selectedPlanCode": "TRAVELEASY",
        "selectedPlanDisplayName": "Travel Easy",
        "quotedAmount": "87.75",
        "totalNumberOfPersons": 0,
        "totalNumberOfAdditionalDrivers": 0,
        "userInformationDTO": null,
        "detailedQuotation": [
            {
                "rateName": "BAPA",
                "quotedAmount": "117.00"
            },
            {
                "rateName": "CBAPA",
                "quotedAmount": "117.00"
            },
            {
                "rateName": "ORBTPERC",
                "quotedAmount": "25.00"
            },
            {
                "rateName": "REBA",
                "quotedAmount": "-29.25"
            },
            {
                "rateName": "GROSS",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "SST",
                "quotedAmount": "0.00"
            },
            {
                "rateName": "SD",
                "quotedAmount": "0.00"
            },
            {
                "rateName": "REFBAPA",
                "quotedAmount": "117.00"
            },
            {
                "rateName": "REFREBA",
                "quotedAmount": "-29.25"
            },
            {
                "rateName": "REFTOTL",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "EBDISC",
                "quotedAmount": "0.00"
            },
            {
                "rateName": "EBDISCPERC",
                "quotedAmount": "15"
            },
            {
                "rateName": "TOTAL",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "REBAPERC",
                "quotedAmount": "25"
            },
            {
                "rateName": "SSTPERC",
                "quotedAmount": "0"
            },
            {
                "rateName": "PremiumAfterDiscount",
                "quotedAmount": "87.75"
            },
            {
                "rateName": "DISCPERC",
                "quotedAmount": "0"
            }
        ],
        "optionalBenefits": [],
        "customerInformation": [
            {
                "name": "mailAddress",
                "value": "true"
            },
            {
                "name": "addressPostalCode",
                "value": "23423"
            },
            {
                "name": "addressState",
                "value": "Kelantan"
            },
            {
                "name": "addressCountry",
                "value": "MYS"
            },
            {
                "name": "addressLine1",
                "value": "ashok nagar"
            },
            {
                "name": "nationality",
                "value": "MYS"
            },
            {
                "name": "documentID",
                "value": "890909-34-2342"
            },
            {
                "name": "mobileNumber",
                "value": "601126487155"
            },
            {
                "name": "mobileCountryCode",
                "value": "+60"
            },
            {
                "name": "dob",
                "value": "1989/09/09"
            },
            {
                "name": "emailAddress",
                "value": "[email protected]"
            },
            {
                "name": "gender",
                "value": "Female"
            },
            {
                "name": "documentType",
                "value": "nric"
            },
            {
                "name": "fullName",
                "value": "SANTHOSH GADDAM"
            }
        ],
        "purchaserInformation": [],
        "additionalInformation": [
            {
                "name": "additionalCustomers",
                "value": "[{\"fullName\":\"ASDFSA\",\"documentType\":\"nric\",\"documentID\":\"990909-23-4234\",\"relationship\":\"Spouse\",\"dob\":\"1999/09/09\",\"nationality\":\"MYS\"},{\"fullName\":\"ASDFSAD\",\"documentType\":\"nric\",\"documentID\":\"210909-23-4234\",\"relationship\":\"Child\",\"dob\":\"2021/09/09\",\"nationality\":\"MYS\"}]"
            }
        ],
        "eligibleForPayd": false,
        "loyaltyEnabled": true,
        "loyalty": {
            "eligibleForLoyalty": false,
            "loyaltyId": null,
            "pointsTobeEarned": 87,
            "emailAddres": "[email protected]"
        },
        "checkPromoCodeResponse": null,
        "eligibleForSpecialRewards": false
    },
    "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
mailAddress String
mailingAddressPostalCode String
mailingAddressState String
mailingAddressCountry String
mailingAddressLine2 String
mailingAddressLine1 String
addressPostalCode String
addressState String
addressCountry String
addressLine2 String
addressLine1 String
nationality String
documentID String
mobileNumber String
mobileCountryCode String
dob String
emailAddress String
gender String
documentType String
fullName String
purchaserInformation Array
additionalInformation Array
quoteItems1 Blank Array
quoteItems2 Blank Array
OptionalBenefits Array
agreeDeclaration String,
acceptTerms" String

INIT Transaction API:

Request :
{
   "productCode": "TRAVELEASY",
   "quoteId": "1676625729576236",
   "quotedAmount": "87.75",
   "paymentMethodType": 1,
   "loyaltySelected": 0,
   "currency": "MYR",
   "returnUrl": "https://tpmrsuat.tuneprotect.com/paymentStatus/"
}
Response :
{
"transactionId": "PFTT247578-3056",
"quotedAmount": "87.75",
"status": "INITIATED",
"customerId": "",
"paymentPasswordEncrypted": "O0qWOE9OnnV2979d1zASZs0ROyoH5rCP",
"paymentFailureCallbackUrl": "https://tpmrsuat.tuneprotect.com/rocketship/d/aQDOxKaRqeLk",
"token": null
}

Transaction API is used to initiate transaction before calling payment gateway for purchase. Initiate transaction API will create a transaction ID for the transaction and will return it. This transaction ID need to be used in the final create policy API after payment success/failed status.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethodType String
quotedAmount String
loyaltySelected Integer
currency String
returnUrl String

Create Policy



Request:

{
   "productCode": "TRAVELEASY",
   "quoteId": "1676625729576236",
   "quotedAmount": "87.75",
   "currencyCode": "MYR",
   "status": "0",
   "authorizationCode": "TIS000",
   "gatewayId": "eghl",
   "referenceCode": "TIS000PFTT2475783056",
   "customerId": "108003",
   "paymentMethod": "1",
   "token": ""
}


Response

{
    "success": true,
    "messages": "SUCCESS",
    "data": {
        "quoteId": null,
        "policy": {
            "policyStatus": "CONFIRMED",
            "policyNumber": "AMC-TRAVEL-EASY-2017-0005513",
            "policyCreationDateTime": 1676626436000,
            "effectiveDate": 1676649540000,
            "policyUrl": null,
            "expiryDate": 1677081540000,
            "forSelf": true
        },
        "transactionId": "PFTT409445-7936",
        "adaptorCustomerId": null,
        "policyHolder": {
            "fullName": "SANTHOSH GADDAM",
            "mobileNumber": 601126487155,
            "emailAddress": "[email protected]",
            "nationality": "MYS",
            "dob": 621273600000,
            "gender": null,
            "addressLine1": null,
            "addressLine2": null,
            "state": null,
            "city": null,
            "postalCode": null,
            "documentID": "890909-34-2342",
            "documentType": "nric"
        },
        "paxesPolicies": [],
        "loyalty": null,
        "applyPromoCodeResponse": null,
        "eligibleForSpecialRewards": null,
        "status": "POLICY_GENERATED",
        "userExists": false
    },
    "code": 200
}

After a payment success, you can trigger the create policy API for creating policy for customer. This API returns policy/certificate number, policy expiry date and other policy details.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions/BC00007952/status?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethod String
quotedAmount String
status Integer
currencyCode String
authorizationCode String
gatewayId String
referenceCode String
customerId String
paymentMethod String
token String

TRAVELINBOUND - API Request And Response Details

Get Basic Quote API:



Request:
{
  "quoteId":"",
  "customerId":"",
  "productCode":"TRAVELINBOUND",
  "referralTransactionId":"",
  "parameters":[
    {
      "name":"arrivalDate",
      "value":"2022/01/07"
    },
    {
      "name":"departureDate",
      "value":"2022/01/08"
    },
    {
      "name":"nationality",
      "value":"AUS"
    },
    {
      "name":"noOfInsured",
      "value":"1"
    }
 ]
}
Response:
{
     "productCode":"TRAVELINBOUND",
     "quoteId":"1641554210280164",
     "plans":[
        {
            "planCode":"PLAN1",
            "currency":"MYR",
            "displayName":"BASIC",
            "detailedQuotation":null,
            "quotedAmount":"105.40",
            "sumInsured":"0.00",
            "sumInsuredHH":"0.00",
            "basePremium":"90.00",
            "basePremiumHO":"0.00",
            "basePremiumHH":"0.00"
        },
        {
            "planCode":"PLAN2",
            "currency":"MYR",
            "displayName":"PREMIUM",
            "detailedQuotation":null,
            "quotedAmount":"208.75",
            "sumInsured":"0.00",
            "sumInsuredHH":"0.00",
            "basePremium":"187.50",
            "basePremiumHO":"0.00",
            "basePremiumHH":"0.00"
        }
    ],
    "userInformationDTO":null,
    "affiliatePartnerURL":"https://tpmrsuat.tuneprotect.com/quote/RS_Quote_TravelinBound?sourceid=src12345&uid=164155421208211&productcode=TRAVELINBOUND&data=fGFycml2YWxEYXRlOjIwMjIvMDEvMDd8ZGVwYXJ0dXJlRGF0ZToyMDIyLzAxLzA4fG5hdGlvbmFsaXR5OkFVU3xub09mSW5zdXJlZDoxfA=="
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
quoteId String
customerId String
productCode String
referralTransactionId String
Parameters Array
arrivalDate String
departureDate String
nationality String
noOfInsured String

Get Quote Details API:



{
    "success":true,
    "messages":"Requested Quote is : ",
    "data":{
        "productCode":"TRAVELINBOUND",
        "quoteId":"1641554210280164",
        "selectedPlanCode":"PLAN1",
        "selectedPlanDisplayName":"BASIC",
        "quotedAmount":"105.40",
        "totalNumberOfPersons":0,
        "totalNumberOfAdditionalDrivers":0,
        "userInformationDTO":null,
        "detailedQuotation":[
          {
            "rateName":"BAPA",
            "quotedAmount":"120.0"
          },
          {
            "rateName":"REBA",
            "quotedAmount":"-30.0"
          },
          {
           "rateName":"GROSS",
           "quotedAmount":"90.0"
          },
          {
            "rateName":"SST",
            "quotedAmount":"5.4"
          },
          {
            "rateName":"SD",
            "quotedAmount":"10.0"
          },
          {
            "rateName":"TOTAL",
             "quotedAmount":"105.4"
          },
          {
            "rateName":"REBAPERC",
            "quotedAmount":"25"
          },
          {
            "rateName":"SSTPERC",
            "quotedAmount":"6"
          },
          {
            "rateName":"PremiumAfterDiscount",
            "quotedAmount":"90.0"
          },
          {
            "rateName":"DISCPERC",
            "quotedAmount":"0"
          }
            ],
            "optionalBenefits":[],
            "customerInformation":[],
            "purchaserInformation":null,
            "additionalInformation":[],
            "eligibleForPayd":false,
            "loyaltyEnabled":false,
            "loyalty":null,
            "checkPromoCodeResponse":null,
            "eligibleForSpecialRewards":null
    },
    "code":200
}

get following details from get quote API.

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote?productCode=TRAVELINBOUND&planCode=PLAN1&quoteId=1641554210280164&locale=en_us

Query and body parameters in request:

Method:GET

PARAMETER TYPE
productCode String
planCode String
quoteId String
locale String

Update Quote (with Customer details) API:

Request:


{
  "productCode":"TRAVELINBOUND",
  "quoteId":"1641872256925111",
  "selectedPlanCode":"PLAN1",
  "quotedAmount":"105.40",
  "optionalBenefits":[],
  "customerInformation":[
    {
      "name":"documentType",
      "value":"Passport"
    },
    {
      "name":"postalCode",
      "value":"1234"
    },
    {
      "name":"addressState",
      "value":"Kedah"
    },
    {
      "name":"addressLine2",
      "value":"address2"
    },
    {
      "name":"addressLine1",
      "value":"addresss"
    },
    {
      "name":"emailAddress",
      "value":"[email protected]"
    },
    {
      "name":"mobileNumber",
      "value":"919744667934"
    },
    {
      "name":"gender",
      "value":"Female"
    },
    {
       "name":"dob",
       "value":"2021/12/12"
    },
    {
      "name":"nationality",
      "value":"AUS"
    },
    {
      "name":"documentID",
      "value":"RE45"
    },
    {
      "name":"fullName",
      "value":"MINNU"
    },
    {
      "name":"underwriterQn",
      "value":"0"
    }
    ],
    "purchaserInformation":[],
    "additionalInformation":[],
    "quoteItems1":[],
    "quoteItems2":[],
    "agreeDeclaration":"0",
    "acceptTerms":"1"
}

Response:

{
    "productCode": "TRAVELINBOUND",
    "quoteId": "1641877724316631",
    "selectedPlanCode": "PLAN1",
    "selectedPlanDisplayName": "BASIC",
    "quotedAmount": "105.40",
    "totalNumberOfPersons": 0,
    "totalNumberOfAdditionalDrivers": 0,
    "userInformationDTO": null,
    "detailedQuotation": [
        {
            "rateName": "BAPA",
            "quotedAmount": "120.00"
        },
        {
            "rateName": "REBA",
            "quotedAmount": "-30.00"
        },
        {
            "rateName": "GROSS",
            "quotedAmount": "90.00"
        },
        {
            "rateName": "SST",
            "quotedAmount": "5.40"
        },
        {
            "rateName": "SD",
            "quotedAmount": "10.00"
        },
        {
            "rateName": "TOTAL",
            "quotedAmount": "105.40"
        },
        {
            "rateName": "REBAPERC",
            "quotedAmount": "25"
        },
        {
            "rateName": "SSTPERC",
            "quotedAmount": "6"
        },
        {
            "rateName": "PremiumAfterDiscount",
            "quotedAmount": "90.0"
        },
        {
            "rateName": "DISCPERC",
            "quotedAmount": "0"
        }
    ],
    "optionalBenefits": [],
    "customerInformation": [
        {
            "name": "documentType",
            "value": "Passport"
        },
        {
            "name": "postalCode",
            "value": "123"
        },
        {
            "name": "addressState",
            "value": "Kelantan"
        },
        {
            "name": "addressLine2",
            "value": "address"
        },
        {
            "name": "addressLine1",
            "value": "address"
        },
        {
            "name": "emailAddress",
            "value": "[email protected]"
        },
        {
            "name": "mobileNumber",
            "value": "919744667934"
        },
        {
            "name": "gender",
            "value": "Female"
        },
        {
            "name": "dob",
            "value": "1997/02/04"
        },
        {
            "name": "nationality",
            "value": "AUS"
        },
        {
            "name": "documentID",
            "value": "MI67"
        },
        {
            "name": "fullName",
            "value": "MINNU"
        },
        {
            "name": "underwriterQn",
            "value": "0"
        }
    ],
    "purchaserInformation": [],
    "additionalInformation": [],
    "eligibleForPayd": false,
    "loyaltyEnabled": true,
    "loyalty": {
        "eligibleForLoyalty": false,
        "loyaltyId": null,
        "pointsTobeEarned": 450,
        "emailAddres": "[email protected]"
    },
    "checkPromoCodeResponse": null,
    "eligibleForSpecialRewards": false
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
underwriterQn String
purchaserInformation Array
additionalInformation Array
quoteItems1 Array
quoteItems2 Array

INIT Transaction API:

Request:
{
    "productCode":"TRAVELINBOUND",
    "quoteId":"1641554210280164",
    "quotedAmount":"105.40",
    "paymentMethodType":1,
    "paymentMode":2,
    "promoCode":null,
    "loyaltySelected":0,
    "currency":"MYR",
    "returnUrl":"https://tpmrsuat.tuneprotect.com/paymentStatus/"
}

Response:
{
 "paymentFailureCallbackUrl": "https://tpmrsuat.tuneprotect.com/rocketship/d/PHQdvGinCnQv",
"paymentPasswordEncrypted": "w9x5PnY1U5jWt9wsvTmOudTc3lE4P4/j",
"quotedAmount": "105.40",
"status": "INITIATED",
"token": null,
"transactionId": "PFTTI281570-2314"
}

Transaction API is used to initiate transaction before calling payment gateway for purchase. Initiate transaction API will create a transaction ID for the transaction and will return it. This transaction ID need to be used in the final create policy API after payment success/failed status.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions?locale=en_us Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
quotedAmount String
paymentMethodType String
paymentMode String
promoCode String
loyaltySelected Integer
currency String
returnUrl String

Create Policy


Request:

{
   "productCode": "TRAVELINBOUND",
   "quoteId": "1641554210280164",
   "quotedAmount": "105.40",
   "currencyCode": "MYR",
   "status": "0",
   "authorizationCode": "TIS000",
   "gatewayId": "eghl",
   "referenceCode": "TIS000PFTTI281570-6114",
   "customerId": "108003",
   "paymentMethod": "1",
   "token": ""
}


Response

{
   "success": true,
   "messages": " Transaction Update success. Policy created",
   "data": {
      "quoteId": "1641554210280164",
      "policy": {
         "policyStatus": "CONFIRMED",
         "policyNumber": "UAT-TRAVEL-INBOUND-2021-0000195",
         "policyCreationDateTime": 1641564152000,
         "effectiveDate": 1641571140000,
         "policyUrl": "https://api-test.tuneprotect.com/DownloadPolicy/TuneDirectOnlinePDF/GetCOI?ProposalID=247578&Plan=HOHH",
         "expiryDate": 1641657540000,
         "forSelf": true
      },
      "transactionId": "PFTTI281570-6114",
      "adaptorCustomerId": "108003",
     {
                "fullName":"MINNU",
                "mobileNumber":919744667934,
                "emailAddress":"[email protected]",
                "nationality":"AUS",
                "dob":null,
                "gender":null,
                "addressLine1":null,
                "addressLine2":null,
                "state":null,
                "city":null,
                "postalCode":null,
                "documentID":"IN12",
                "documentType":"passport"
    },
      "loyalty": null,
      "userExists": true,
      "status": "POLICY_GENERATED"
   },
   "code": 200
}

After a payment success, you can trigger the create policy API for creating policy for customer. This API returns policy/certificate number, policy expiry date and other policy details.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions/PFTTI281570-6114/status?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethod String
quotedAmount String
status Integer
currencyCode String
authorizationCode String
gatewayId String
referenceCode String
customerId String
paymentMethod String
token String

PA EASY - API Request And Response Details

Get Basic Quote API:



Request:
{
    "quoteId": "",
    "customerId": "",
    "productCode": "PAEASY",
    "referralTransactionId": "",
    "parameters": [
        {
            "name": "restrictedOccupation",
            "value": "0"
        }
    ]
}

Response:
{
    "productCode": "PAEASY",
    "quoteId": "1676627380471887",
    "plans": [
        {
            "planCode": "Basic",
            "currency": "MYR",
            "displayName": "PA Easy ",
            "detailedQuotation": null,
            "quotedAmount": "38.62",
            "sumInsured": "0.00",
            "sumInsuredHH": "0.00",
            "basePremium": "27.00",
            "oldBasePremium": "0.00",
            "basePremiumHO": "0.00",
            "basePremiumHH": "0.00"
        }
    ],
    "userInformationDTO": null,
    "affiliatePartnerURL": "https://tpmrsuat.tuneprotect.com/quote/RS_Quote_PA?sourceid=src12345&uid=167662738095786&productcode=PAEASY&data=fHJlc3RyaWN0ZWRPY2N1cGF0aW9uOjB8"
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
quoteId String
customerId String
productCode String
referralTransactionId String
Parameters Array
restrictedOccupation String

Get Quote Details API:


Response:
{
    "success": true,
    "messages": "Requested Quote is : ",
    "data": {
        "productCode": "PAEASY",
        "quoteId": "1676627380471887",
        "selectedPlanCode": "Basic",
        "selectedPlanDisplayName": "PA Easy ",
        "quotedAmount": "38.62",
        "totalNumberOfPersons": 0,
        "totalNumberOfAdditionalDrivers": 0,
        "userInformationDTO": null,
        "detailedQuotation": [
            {
                "rateName": "BAPA",
                "quotedAmount": "36.0"
            },
            {
                "rateName": "REBA",
                "quotedAmount": "-9.0"
            },
            {
                "rateName": "GROSS",
                "quotedAmount": "27.0"
            },
            {
                "rateName": "SST",
                "quotedAmount": "1.62"
            },
            {
                "rateName": "SD",
                "quotedAmount": "10.0"
            },
            {
                "rateName": "TOTAL",
                "quotedAmount": "38.62"
            },
            {
                "rateName": "REBAPERC",
                "quotedAmount": "25"
            },
            {
                "rateName": "SSTPERC",
                "quotedAmount": "6"
            },
            {
                "rateName": "PremiumAfterDiscount",
                "quotedAmount": "27.0"
            },
            {
                "rateName": "DISCPERC",
                "quotedAmount": "0"
            }
        ],
        "optionalBenefits": [],
        "customerInformation": [],
        "purchaserInformation": null,
        "additionalInformation": [],
        "eligibleForPayd": false,
        "loyaltyEnabled": false,
        "loyalty": null,
        "checkPromoCodeResponse": null,
        "eligibleForSpecialRewards": null
    },
    "code": 200
}

get following details from get quote API.

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote?productCode=TRAVELINBOUND&planCode=PLAN1&quoteId=1641554210280164&locale=en_us

Query and body parameters in request:

Method:GET

PARAMETER TYPE
productCode String
planCode String
quoteId String
locale String

Update Quote (with Customer details) API:

Request:


{
    "productCode": "PAEASY",
    "quoteId": "1676627380471887",
    "selectedPlanCode": "Basic",
    "quotedAmount": "38.62",
    "optionalBenefits": [],
    "customerInformation": [
        {
            "name": "mailAddress",
            "value": "true"
        },
        {
            "name": "addressLine1",
            "value": "ashok nagar"
        },
        {
            "name": "addressPostalCode",
            "value": "23423"
        },
        {
            "name": "addressState",
            "value": "Kedah"
        },
        {
            "name": "addressCountry",
            "value": "MYS"
        },
        {
            "name": "nationality",
            "value": "MYS"
        },
        {
            "name": "documentID",
            "value": "880909-32-3432"
        },
        {
            "name": "mobileNumber",
            "value": "601126487155"
        },
        {
            "name": "mobileCountryCode",
            "value": "+60"
        },
        {
            "name": "dob",
            "value": "1988/09/09"
        },
        {
            "name": "emailAddress",
            "value": "[email protected]"
        },
        {
            "name": "gender",
            "value": "Female"
        },
        {
            "name": "documentType",
            "value": "nric"
        },
        {
            "name": "fullName",
            "value": "SANTHOSH GADDAM"
        }
    ],
    "purchaserInformation": [],
    "additionalInformation": [],
    "quoteItems1": [],
    "quoteItems2": []
}

Response:

{
    "success": true,
    "messages": " Update success. ",
    "data": {
        "productCode": "PAEASY",
        "quoteId": "1676627380471887",
        "selectedPlanCode": "Basic",
        "selectedPlanDisplayName": "PA Easy ",
        "quotedAmount": "28.62",
        "totalNumberOfPersons": 0,
        "totalNumberOfAdditionalDrivers": 0,
        "userInformationDTO": null,
        "detailedQuotation": [
            {
                "rateName": "BAPA",
                "quotedAmount": "36.00"
            },
            {
                "rateName": "REBA",
                "quotedAmount": "-9.00"
            },
            {
                "rateName": "GROSS",
                "quotedAmount": "27.00"
            },
            {
                "rateName": "SST",
                "quotedAmount": "1.62"
            },
            {
                "rateName": "SD",
                "quotedAmount": "0.00"
            },
            {
                "rateName": "TOTAL",
                "quotedAmount": "28.62"
            },
            {
                "rateName": "REBAPERC",
                "quotedAmount": "25"
            },
            {
                "rateName": "SSTPERC",
                "quotedAmount": "6"
            },
            {
                "rateName": "PremiumAfterDiscount",
                "quotedAmount": "27.0"
            },
            {
                "rateName": "DISCPERC",
                "quotedAmount": "0"
            }
        ],
        "optionalBenefits": [],
        "customerInformation": [
            {
                "name": "mailAddress",
                "value": "true"
            },
            {
                "name": "addressLine1",
                "value": "ashok nagar"
            },
            {
                "name": "addressPostalCode",
                "value": "23423"
            },
            {
                "name": "addressState",
                "value": "Kedah"
            },
            {
                "name": "addressCountry",
                "value": "MYS"
            },
            {
                "name": "nationality",
                "value": "MYS"
            },
            {
                "name": "documentID",
                "value": "880909-32-3432"
            },
            {
                "name": "mobileNumber",
                "value": "601126487155"
            },
            {
                "name": "mobileCountryCode",
                "value": "+60"
            },
            {
                "name": "dob",
                "value": "1988/09/09"
            },
            {
                "name": "emailAddress",
                "value": "[email protected]"
            },
            {
                "name": "gender",
                "value": "Female"
            },
            {
                "name": "documentType",
                "value": "nric"
            },
            {
                "name": "fullName",
                "value": "SANTHOSH GADDAM"
            }
        ],
        "purchaserInformation": [],
        "additionalInformation": [],
        "eligibleForPayd": false,
        "loyaltyEnabled": true,
        "loyalty": {
            "eligibleForLoyalty": false,
            "loyaltyId": null,
            "pointsTobeEarned": 27,
            "emailAddres": "[email protected]"
        },
        "checkPromoCodeResponse": null,
        "eligibleForSpecialRewards": false
    },
    "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
underwriterQn String
purchaserInformation Array
additionalInformation Array
quoteItems1 Array
quoteItems2 Array

Update Quote (with Customer details, acceptTerms and agreeDeclaration) API:

Request:


{
    "productCode": "PAEASY",
    "quoteId": "1676627380471887",
    "selectedPlanCode": "Basic",
    "quotedAmount": "28.62",
    "optionalBenefits": [],
    "customerInformation": [
        {
            "name": "mailAddress",
            "value": "true"
        },
        {
            "name": "addressLine1",
            "value": "ashok nagar"
        },
        {
            "name": "addressPostalCode",
            "value": "23423"
        },
        {
            "name": "addressState",
            "value": "Kedah"
        },
        {
            "name": "addressCountry",
            "value": "MYS"
        },
        {
            "name": "nationality",
            "value": "MYS"
        },
        {
            "name": "documentID",
            "value": "880909-32-3432"
        },
        {
            "name": "mobileNumber",
            "value": "601126487155"
        },
        {
            "name": "mobileCountryCode",
            "value": "+60"
        },
        {
            "name": "dob",
            "value": "1988/09/09"
        },
        {
            "name": "emailAddress",
            "value": "[email protected]"
        },
        {
            "name": "gender",
            "value": "Female"
        },
        {
            "name": "documentType",
            "value": "nric"
        },
        {
            "name": "fullName",
            "value": "SANTHOSH GADDAM"
        }
    ],
    "purchaserInformation": [],
    "additionalInformation": [],
    "quoteItems1": [],
    "quoteItems2": [],
    "agreeDeclaration": "1",
    "acceptTerms": "1"
}

Response:

{
    "success": true,
    "messages": " Update success. ",
    "data": {
        "productCode": "PAEASY",
        "quoteId": "1676627380471887",
        "selectedPlanCode": "Basic",
        "selectedPlanDisplayName": "PA Easy ",
        "quotedAmount": "28.62",
        "totalNumberOfPersons": 0,
        "totalNumberOfAdditionalDrivers": 0,
        "userInformationDTO": null,
        "detailedQuotation": [
            {
                "rateName": "BAPA",
                "quotedAmount": "36.00"
            },
            {
                "rateName": "REBA",
                "quotedAmount": "-9.00"
            },
            {
                "rateName": "GROSS",
                "quotedAmount": "27.00"
            },
            {
                "rateName": "SST",
                "quotedAmount": "1.62"
            },
            {
                "rateName": "SD",
                "quotedAmount": "0.00"
            },
            {
                "rateName": "TOTAL",
                "quotedAmount": "28.62"
            },
            {
                "rateName": "REBAPERC",
                "quotedAmount": "25"
            },
            {
                "rateName": "SSTPERC",
                "quotedAmount": "6"
            },
            {
                "rateName": "PremiumAfterDiscount",
                "quotedAmount": "27.0"
            },
            {
                "rateName": "DISCPERC",
                "quotedAmount": "0"
            }
        ],
        "optionalBenefits": [],
        "customerInformation": [
            {
                "name": "mailAddress",
                "value": "true"
            },
            {
                "name": "addressLine1",
                "value": "ashok nagar"
            },
            {
                "name": "addressPostalCode",
                "value": "23423"
            },
            {
                "name": "addressState",
                "value": "Kedah"
            },
            {
                "name": "addressCountry",
                "value": "MYS"
            },
            {
                "name": "nationality",
                "value": "MYS"
            },
            {
                "name": "documentID",
                "value": "880909-32-3432"
            },
            {
                "name": "mobileNumber",
                "value": "601126487155"
            },
            {
                "name": "mobileCountryCode",
                "value": "+60"
            },
            {
                "name": "dob",
                "value": "1988/09/09"
            },
            {
                "name": "emailAddress",
                "value": "[email protected]"
            },
            {
                "name": "gender",
                "value": "Female"
            },
            {
                "name": "documentType",
                "value": "nric"
            },
            {
                "name": "fullName",
                "value": "SANTHOSH GADDAM"
            }
        ],
        "purchaserInformation": [],
        "additionalInformation": [],
        "eligibleForPayd": false,
        "loyaltyEnabled": true,
        "loyalty": {
            "eligibleForLoyalty": false,
            "loyaltyId": null,
            "pointsTobeEarned": 27,
            "emailAddres": "[email protected]"
        },
        "checkPromoCodeResponse": null,
        "eligibleForSpecialRewards": false
    },
    "code": 200
}

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
purchaserInformation Array
additionalInformation Array
quoteItems1 Array
quoteItems2 Array
acceptTerms Boolean
agreeDeclaration Boolean

INIT Transaction API:

Request:
{
    "productCode": "PAEASY",
    "quoteId": "1676627380471887",
    "quotedAmount": "28.62",
    "paymentMethodType": 1,
    "paymentMode": 2,
    "promoCode": null,
    "loyaltySelected": 0,
    "currency": "MYR",
    "returnUrl": "https://tpmrsuat.tuneprotect.com/paymentStatus/"
}

Response:
{
 "paymentFailureCallbackUrl": "https://tpmrsuat.tuneprotect.com/rocketship/d/PHQdvGinCnQv",
"paymentPasswordEncrypted": "w9x5PnY1U5jWt9wsvTmOudTc3lE4P4/j",
"quotedAmount": "28.62",
"status": "INITIATED",
"token": null,
"transactionId": "PFTPA409477-8210"
}

Transaction API is used to initiate transaction before calling payment gateway for purchase. Initiate transaction API will create a transaction ID for the transaction and will return it. This transaction ID need to be used in the final create policy API after payment success/failed status.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions?locale=en_us Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
quotedAmount String
paymentMethodType String
paymentMode String
promoCode String
loyaltySelected Integer
currency String
returnUrl String

Create Policy


Request:

{
   "productCode": "PAEASY",
   "quoteId": "1676627380471887",
   "quotedAmount": "105.40",
   "currencyCode": "MYR",
   "status": "0",
   "authorizationCode": "TIS000",
   "gatewayId": "eghl",
   "referenceCode": "TIS000PFTPA409477-8210",
   "customerId": "108003",
   "paymentMethod": "1",
   "token": ""
}


Response

{
    "success": true,
    "messages": "SUCCESS",
    "data": {
        "quoteId": null,
        "policy": {
            "policyStatus": "CONFIRMED",
            "policyNumber": "AMC-PA-EASY-2017-0005257",
            "policyCreationDateTime": 1676628345000,
            "effectiveDate": 1676649540000,
            "policyUrl": null,
            "expiryDate": 1708099140000,
            "forSelf": true
        },
        "transactionId": "PFTPA409477-8210",
        "adaptorCustomerId": null,
        "policyHolder": {
            "fullName": "SANTHOSH GADDAM",
            "mobileNumber": 601126487155,
            "emailAddress": "[email protected]",
            "nationality": "MYS",
            "dob": null,
            "gender": null,
            "addressLine1": null,
            "addressLine2": null,
            "state": null,
            "city": null,
            "postalCode": null,
            "documentID": "880909-32-3432",
            "documentType": "nric"
        },
        "paxesPolicies": [],
        "loyalty": null,
        "applyPromoCodeResponse": null,
        "eligibleForSpecialRewards": null,
        "status": "POLICY_GENERATED",
        "userExists": false
    },
    "code": 200
}

After a payment success, you can trigger the create policy API for creating policy for customer. This API returns policy/certificate number, policy expiry date and other policy details.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions/PFTTI281570-6114/status?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethod String
quotedAmount String
status Integer
currencyCode String
authorizationCode String
gatewayId String
referenceCode String
customerId String
paymentMethod String
token String

Home Shield - API Request And Response Details

Get Basic Quote API:



Request:
{
  "quoteId":"",
  "customerId":"",
  "productCode":"HOME-SHIELD",
  "parameters":[
    {
      "name":"buildingType",
      "value":"Landed"
    },
    {
      "name":"coverageType",
      "value":"HOHH"
    },
    {
      "name":"proposerType",
      "value":"Yes"
    },
    {
      "name":"constructionCode",
      "value":"C1A"
    },
    {
      "name":"bankLoan",
      "value":"No"
    },
    {
      "name":"sumInsuredHO",
      "value":"123456"
    },
    {
      "name":"planType",
      "value":"Premier"
    },
    {
      "name":"useOfHouse",
      "value":"OS"
    }
    ]
}
Response:


{
  "productCode":"HOME-SHIELD",
  "quoteId":"1650433422085355",
  "plans":[
    {
      "planCode":"HO",
      "currency":"MYR",
      "displayName":"Building",
      "detailedQuotation":null,
      "quotedAmount":"93.23",
      "sumInsured":"123456.00",
      "sumInsuredHH":"0.00",
      "basePremium":"78.52",
      "basePremiumHO":"78.52",
      "basePremiumHH":"0.00"
    }
    ],
    "userInformationDTO":null,
    "affiliatePartnerURL":""
}

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query and body parameters in request:

PARAMETER TYPE
locale String
customerId String
productCode String
Parameters Array
buildingType String
coverageType String
ownProperty String
buildingMaterial String
bankLoan String
sumInsured String

Get Basic Quote API (With ADD-ONs):


Request:
{
  "quoteId":"",
  "customerId":"",
  "productCode":"HOME-SHIELD",
  "parameters":[
    {
      "name":"buildingType",
      "value":"Landed"
      },
      {
        "name":"coverageType",
        "value":"HO"
      },
      {
        "name":"proposerType",
        "value":"Yes"
      },
      {
        "name":"constructionCode",
        "value":"C1A"
      },
      {
        "name":"bankLoan",
        "value":"No"
      },
      {
        "name":"useOfHouse",
        "value":"OS"
      },
      {
        "name":"sumInsuredHO",
        "value":"123456"
      },
      {
        "name":"HOHGFSumInsured",
        "value":"1234"
      },
      {
        "name":"HOaddonHGF",
        "value":true
      },
      {
        "name":"HOaddonPG",
        "value":true
      },
      {
        "name":"HOaddonDMG",
        "value":true
      },
      {
        "name":"HOaddonARA",
        "value":true
      }
    ]
}
Response:
 {
   "productCode":"HOME-SHIELD",
   "quoteId":"1650433961372969",
   "plans":[
     {
       "planCode":"HO",
       "currency":"MYR",
       "displayName":"Building",
       "detailedQuotation":null,
       "quotedAmount":"163.50",
       "sumInsured":"123456.00",
       "sumInsuredHH":"0.00",
       "basePremium":"144.81",
       "basePremiumHO":"78.52",
       "basePremiumHH":"0.00"
      }
    ],
  "userInformationDTO":null,
  "affiliatePartnerURL":""
  }

This API is used to fetch basic quote details for product. We will get following details from basic quote API:

Request URL:

https://apiuat.tuneprotect.com/d2c/1.0/products/quote/options?locale=en_us

Method : POST

Query parameters:

PARAMETER TYPE
locale String
customerId String
productCode String
Parameters Array
buildingType String
coverageType String
ownProperty String
buildingMaterial String
bankLoan String
sumInsured String
personalLiability Boolean
riotStrike&MaliciousDamageHO Boolean
subsidence&LandslipHO Boolean
plateGlassHO Boolean

Get Quote Details API:

Response:
{
  "success":true,
  "messages":"Requested Quote is : ",
  "data":{
    "productCode":"HOME-SHIELD",
    "quoteId":"1650433803208893",
    "selectedPlanCode":"HO",
    "selectedPlanDisplayName":"Building",
    "quotedAmount":"95.57",
    "totalNumberOfPersons":0,
    "totalNumberOfAdditionalDrivers":0,
    "userInformationDTO":null,
    "detailedQuotation":[
      {
        "rateName":"BP01",
        "quotedAmount":"78.52"
      },
      {
        "rateName":"AO01",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"AO02",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"AO03",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"AO04",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"AO05",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP14",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP11",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP12",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP15",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP16",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP17",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP18",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP19",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP20",
        "quotedAmount":"2.21"
      },
      {
        "rateName":"OP13",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP30",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"OP31",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"TEXT",
        "quotedAmount":"2.21"
      },
      {
        "rateName":"SEC1",
        "quotedAmount":"80.73"
      },
      {
        "rateName":"SEC2",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"SEC3",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"BAPA",
        "quotedAmount":"78.52"
      },
      {
        "rateName":"GPRE",
        "quotedAmount":"80.73"
      },
      {
        "rateName":"ORBT",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"ORBTPERC",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"GROSS",
        "quotedAmount":"80.73"
      },
      {
        "rateName":"SST",
        "quotedAmount":"4.84"
      },
      {
        "rateName":"SD",
        "quotedAmount":"10.0"
      },
      {
        "rateName":"COMM",
        "quotedAmount":"12.11"
      },
      {
        "rateName":"COM%",
        "quotedAmount":"15.0"
      },
      {
        "rateName":"COMT",
        "quotedAmount":"0.0"
      },
      {
        "rateName":"TOTAL",
        "quotedAmount":"95.57"
      },
      {
        "rateName":"REBAPERC",
        "quotedAmount":"0"
      },
      {
        "rateName":"SSTPERC",
        "quotedAmount":"6"
      },
      {
        "rateName":"PremiumAfterDiscount",
        "quotedAmount":"80.73"
      },
      {
        "rateName":"DISCPERC",
        "quotedAmount":"0"
      }
  ],
   "optionalBenefits":[],
   "customerInformation":[],
   "purchaserInformation":null,
   "additionalInformation":[],
   "eligibleForPayd":false,
   "loyaltyEnabled":false,
   "loyalty":null,
   "checkPromoCodeResponse":null,
   "eligibleForSpecialRewards":null
 },
 "code":200
}

get following details from get quote API.

https://apiuat.tuneprotect.com/d2c/1.0/products/quote?productCode=HOHH&planCode=HO&quoteId=1624535973195186&locale=en_us

Query and body parameters in request:

Method:GET

PARAMETER TYPE
productCode String
planCode String
quoteId String
locale String

Update Quote (with Customer details) API:

Request:
 {
   "productCode":"HOME-SHIELD",
   "quoteId":"1650433961372969",
   "selectedPlanCode":"HO",
   "quotedAmount":"153.50",
   "optionalBenefits":[
     {
       "applicableAmount":0
     },
     {
       "applicableAmount":0
     },
     {
       "applicableAmount":0
     },
     {
       "applicableAmount":0
     },
     {
       "applicableAmount":0
     }
    ],
    "customerInformation":[
      {
        "name":"proposer",
        "value":"Individual"
      },
      {
        "name":"title",
        "value":"ms"
      },
      {
        "name":"homeTelephoneNo",
        "value":"9744667934"
      },
      {
        "name":"officeTelephoneNo",
        "value":"9744667934"
      },
      {
        "name":"maritalStatus",
        "value":"Single"
      },
      {
        "name":"occupation",
        "value":"test"
      },
      {
        "name":"noOfTenants",
        "value":"2"
      },
      {
        "name":"OccupiedBy",
        "value":"Self"
      },
      {
        "name":"occupiedAs",
        "value":"Private Dwelling"
      },
      {
        "name":"noOfStoreys",
        "value":"2"
      },
      {
        "name":"yearOfConstruction",
        "value":"2012"
      },
      {
        "name":"propertyCountry",
        "value":"MYS"
      },
      {
        "name":"propertyPostalCode",
        "value":"12345"
      },
      {
        "name":"propertyHomeState",
        "value":"Kedah"
      },
      {
        "name":"propertyHomeAddress3",
        "value":"home address"
      },
      {
        "name":"propertyHomeAddress2",
        "value":"test address1"
      },
      {
        "name":"propertyHomeAddress1",
        "value":"test address"
      },
      {
        "name":"policyEndDate",
        "value":"2023/04/19"
      },
      {
        "name":"policyStartDate",
        "value":"2022/04/20"
      },
      {
        "name":"livingInPropertyAddress",
        "value":"true"
      },
      {
        "name":"nationality",
        "value":"MYS"
      },
      {
        "name":"documentID",
        "value":"660421-33-3478"
      },
      {
        "name":"mobileNumber",
        "value":"609744667934"
      },
      {
        "name":"mobileCountryCode",
        "value":"+60"
      },
      {
        "name":"dob",
        "value":"1966/04/21"
      },
      {
        "name":"emailAddress",
        "value":"[email protected]"
      },
      {
        "name":"gender",
        "value":"Female"
      },
      {
        "name":"documentType",
        "value":"nric"
      },
      {
        "name":"fullName",
        "value":"TEST"
      },
      {
        "name":"underwriterQn3",
        "value":"0"
      },
      {
        "name":"underwriterQn2",
        "value":"0"
      },
      {
        "name":"underwriterQn1",
        "value":"0"
      }
    ],
    "purchaserInformation":[],
    "additionalInformation":[],
    "quoteItems1":[],
    "quoteItems2":[]
}

Response:
 {
   "success":true,
   "messages":" Update success. ",
   "data":{
     "productCode":"HOME-SHIELD",
     "quoteId":"1650433961372969",
     "selectedPlanCode":"HO",
     "selectedPlanDisplayName":"Building",
     "quotedAmount":"153.50",
     "totalNumberOfPersons":0,
     "totalNumberOfAdditionalDrivers":0,
     "userInformationDTO":null,
     "detailedQuotation":[
       {
         "rateName":"BP01",
         "quotedAmount":"78.52"
       },
       {
         "rateName":"AO01",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"AO02",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"AO03",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"AO04",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"AO05",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP14",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP11",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP12",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP15",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP16",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP17",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP18",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP19",
         "quotedAmount":"0.00"
       },
       {
         "rateName":"OP20",
         "quotedAmount":"2.21"
      },
      {
        "rateName":"OP13",
        "quotedAmount":"37.04"
      },
      {
        "rateName":"OP30",
        "quotedAmount":"7.41"
      },
      {
        "rateName":"OP31",
        "quotedAmount":"19.63"
      },
      {
        "rateName":"TEXT",
        "quotedAmount":"66.29"
      },
      {
        "rateName":"SEC1",
        "quotedAmount":"144.81"
      },
      {
        "rateName":"SEC2",
        "quotedAmount":"0.00"
      },
      {
        "rateName":"SEC3",
        "quotedAmount":"0.00"
      },
      {
        "rateName":"BAPA",
        "quotedAmount":"78.52"
      },
      {
        "rateName":"GPRE",
        "quotedAmount":"144.81"
      },
      {
        "rateName":"ORBT",
        "quotedAmount":"0.00"
      },
      {
        "rateName":"ORBTPERC",
        "quotedAmount":"0.00"
      },
      {
        "rateName":"GROSS",
        "quotedAmount":"144.81"
      },
      {
        "rateName":"SST",
        "quotedAmount":"8.69"
      },
      {
        "rateName":"SD",
        "quotedAmount":"0.00"
      },
      {
        "rateName":"COMM",
        "quotedAmount":"21.72"
      },
      {
        "rateName":"COM%",
        "quotedAmount":"15.00"
      },
      {
        "rateName":"COMT",
        "quotedAmount":"0.00"
      },
      {
        "rateName":"TOTAL",
        "quotedAmount":"153.50"
      },
      {
        "rateName":"REBAPERC",
        "quotedAmount":"0"
      },
      {
        "rateName":"SSTPERC",
        "quotedAmount":"6"
      },
      {
        "rateName":"PremiumAfterDiscount",
        "quotedAmount":"144.81"
      },
      {
        "rateName":"DISCPERC",
        "quotedAmount":"0"
      }
    ],
    "optionalBenefits":[],
    "customerInformation":[
      {
        "name":"proposer",
        "value":"Individual"
      },
      {
        "name":"title",
        "value":"ms"
      },
      {
        "name":"homeTelephoneNo",
        "value":"9744667934"
      },
      {
        "name":"officeTelephoneNo",
        "value":"9744667934"
      },
      {
        "name":"maritalStatus",
        "value":"Single"
      },
      {
        "name":"occupation",
        "value":"test"
      },
      {
        "name":"noOfTenants",
        "value":"2"
      },
      {
        "name":"OccupiedBy",
        "value":"Self"
      },
      {
        "name":"occupiedAs",
        "value":"Private Dwelling"
      },
      {
        "name":"noOfStoreys",
        "value":"2"
      },
      {
        "name":"yearOfConstruction",
        "value":"2012"
      },
      {
        "name":"propertyCountry",
        "value":"MYS"
      },
      {
        "name":"propertyPostalCode",
        "value":"12345"
      },
      {
        "name":"propertyHomeState",
        "value":"Kedah"
      },
      {
        "name":"propertyHomeAddress3",
        "value":"home address"
      },
      {
        "name":"propertyHomeAddress2",
        "value":"test address1"
      },
      {
        "name":"propertyHomeAddress1",
        "value":"test address"
      },
      {
        "name":"policyEndDate",
        "value":"2023/04/19"
      },
      {
        "name":"policyStartDate",
        "value":"2022/04/20"
      },
      {
        "name":"livingInPropertyAddress",
        "value":"true"
      },
      {
        "name":"nationality",
        "value":"MYS"
      },
      {
        "name":"documentID",
        "value":"660421-33-3478"
      },
      {
        "name":"mobileNumber",
        "value":"609744667934"
      },
      {
        "name":"mobileCountryCode",
        "value":"+60"
      },
      {
        "name":"dob",
        "value":"1966/04/21"
      },
      {
        "name":"emailAddress",
        "value":"[email protected]"
      },
      {
        "name":"gender",
        "value":"Female"
      },
      {
        "name":"documentType",
        "value":"nric"
      },
      {
        "name":"fullName",
        "value":"TEST"
      },
      {
        "name":"underwriterQn3",
        "value":"0"
      },
      {
        "name":"underwriterQn2",
        "value":"0"
      },
      {
        "name":"underwriterQn1",
        "value":"0"
      }
    ],
    "purchaserInformation":[],
    "additionalInformation":[],
    "eligibleForPayd":false,
    "loyaltyEnabled":false,
    "loyalty":null,
    "checkPromoCodeResponse":null,
    "eligibleForSpecialRewards":false
  },
  "code":200
  }

Update quote API is used to update customer details, additonal information and other details like accept terms and conditions. This API can be triggered multiple times to update customer and other details for a purchase.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/updatequote?locale=en_us

Method:POST

Query and body parameters in request:

PARAMETER TYPE
locale String
productCode String
quoteId String
selectedPlanCode String
quotedAmount String
customerInformation Array
loanReferenceNumber String
financialInterest String
livingInPropertyAddress String
propertyCountry String
propertyPostalCode String
propertyHomeState String
propertyHomeAddress2 String
propertyHomeAddress1 String
policyEndDate String
policyStartDate String
isMailingAddressSameHomeAddress String
mailingAddressPostalCode String
mailingAddressState String
mailingAddressCountry String
mailingAddressLine2 String
mailingAddressLine1 String
addressPostalCode String
addressState String
addressCountry String
addressLine2 String
addressLine1 String
nationality String
documentID String
mobileNumber String
mobileCountryCode String
dob String
emailAddress String
gender String
documentType String
fullName String
landlordInsuraceRental String
mortageLoanInstallementPack String
smartHomeDevicePack String
homeCarePack String
underwriterQn1 String
underwriterQn2 String
underwriterQn3 String
purchaserInformation Array
additionalInformation Array
quoteItems1 Blank Array
quoteItems2 Blank Array
OptionalBenefits Array
applicableAmount Integer

INIT Transaction API:

Request:
{
   "productCode": "HOME-SHIELD",
   "quoteId": "1649844530999114",
   "quotedAmount": "342.42",
   "paymentMethodType": 1,
   "loyaltySelected": 0,
   "currency": "MYR",
   "returnUrl": "https://tpmrsuat.tuneprotect.com/paymentStatus/"
}
Response:
{
    "transactionId": "PFTHS372106-1635",
    "quotedAmount": "342.42",
    "status": "INITIATED",
    "customerId": "",
    "paymentPasswordEncrypted": "dIavO0zmN4guHt/Y2ryLtHYW62kXVoE4",
    "paymentFailureCallbackUrl": null,
    "monthlyQuotedAmount": 0,
    "paymentDetails": null,
    "token": null
}

Transaction API is used to initiate transaction before calling payment gateway for purchase. Initiate transaction API will create a transaction ID for the transaction and will return it. This transaction ID need to be used in the final create policy API after payment success/failed status.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions?locale=en_us Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethodType String
quotedAmount String
loyaltySelected Integer
currency String
returnUrl String

Create Policy


Request:
{
   "productCode": "HOME-SHIELD",
   "quoteId": "1649844530999114",
   "quotedAmount": "342.42",
   "currencyCode": "MYR",
   "status": "0",
   "authorizationCode": "TIS000",
   "gatewayId": "eghl",
   "referenceCode": "TIS000PFTPFTHS3721061635",
   "customerId": "",
   "paymentMethod": "1",
   "token": ""
}
Response :
{
    "success": true,
    "messages": " Transaction Update success. Policy created",
    "data": {
        "quoteId": "1649844530999114",
        "policy": {
            "policyStatus": "CONFIRMED",
            "policyNumber": "25321MSFA0000197",
            "policyCreationDateTime": 1649845692000,
            "effectiveDate": 1650038340000,
            "policyUrl": "https://api-test.tuneprotect.com/DownloadPolicy/TuneDirectOnlinePDF/GetCOI?ProposalID=372106&Plan=HOHH",
            "expiryDate": 1681487940000,
            "forSelf": true
        },
        "transactionId": "PFTHS372106-1635",
        "adaptorCustomerId": "1658225",
        "policyHolder": {
            "fullName": "TESTNAME",
            "mobileNumber": 60756453455,
            "emailAddress": "[email protected]",
            "nationality": "AFG",
            "dob": null,
            "gender": "Male",
            "addressLine1": "",
            "addressLine2": "",
            "state": "",
            "city": "",
            "postalCode": "",
            "documentID": "1234ASDF",
            "documentType": "passport"
        },
        "paxesPolicies": null,
        "loyalty": null,
        "applyPromoCodeResponse": null,
        "eligibleForSpecialRewards": false,
        "status": "POLICY_GENERATED",
        "userExists": false
    },
    "code": 200
}

After a payment success, you can trigger the create policy API for creating policy for customer. This API returns policy/certificate number, policy expiry date and other policy details.

Request URL: https://apiuat.tuneprotect.com/d2c/1.0/products/transactions/BC00007952/status?locale=en_us

Method:POST

Query and request body parameters:

PARAMETER TYPE
locale String
productCode String
quoteId String
paymentMethod String
quotedAmount String
status Integer
currencyCode String
authorizationCode String
gatewayId String
referenceCode String
customerId String
paymentMethod String
token String

Critical Illness - API Request And Response Details

Get Basic Quote API:

Request:
{
  "quoteId": "",
  "customerId": "",
  "productCode": "CRITICALSAFE",
  "referralTransactionId": "",
  "paymentFrequency": "Yearly",
  "parameters": [
    {
      "name": "dob",
      "value": "2022/08/04"
    },
    {
      "name": "gender",
      "value": "Female"
    },
    {
      "name": "smoker",
      "value": "Yes"
    },
    {
      "name": "sumInsured",
      "value": "30000"
    },
    {
      "name": "nationalityCheck",
      "value": "Yes"
    }
  ]
}


Response :
{
  "productCode": "CRITICALSAFE",
  "quoteId": "1661827156405468",
  "plans": [
    {
      "planCode": "TPM2CI",
      "currency": "MYR",
      "displayName": "Top 2 CI"