Other Integrations: BMW Interface
AutoGuru, BMW, Eric, 1Link, and other system integrations
BMW Interface
An interface is being developed with BMW / DealerPoint. BMW / Dealerpoint uses Redbook data to identify the motor vehicle and will not work where Glass's data is used.
Web service using "Apply" button
An "Apply" button appears on the Quote/Finance screen when certain criteria are met:
a) The Financier must be BMW
b) The Status in the Finance Application section must not be "successful"
c) Login credentials for the BMW / DealerPoint service must have been set up for the relevant user_id (further details may be given in your Wiki)
d) Supplier "Interface Type" of 'bmwdfe' must be selected on Fleet / Administration / Suppliers / Account
When clicked the system sends the application details to BMW / DealerPoint. You can login to BMW / DealerPoint to view and edit the application if required.
To use the interface, BMW / DealerPoint logins and passwords need to be supplied to Catch-e for storing in the system table gbuserlogins and the web service activated.
The apply button will not appear unless this is done. The BMW / DealerPoint user login may be associated with the A/C Manager on the quote OR the user logged in to Catch-e. Catch-e needs to be notified of the association method to be used.
Note: a Drivers's BMW / DealerPoint application will not work unless their salutation is Ms, Miss, Mrs, Mr or Dr.
A number of fields are compulsory for the interface to proceed - users are prompted if these fields are not populated:
- Title (driver salutation).
- Surname.
- First name (note middle name is appended to this field in the interface.
- Date of Birth.
- Address 1.
- Address 3.
- State.
- Postcode.
- Previous Address 1 IF years at address < 2.
- Previous Surburb/City IF years at address < 2.
- Previous State IF years at address < 2.
- Previous Postcode IF years at address < 2.
- Residential Status.
- Landlord name IF residential status is Rented.
- Landlord phone IF residential status is Rented.
- Years employed.
- Position (i.e. occupation).
- Previous Employer Name if years employed < 2.
The BMW / DealerPoint user account must be setup within BMW / DealerPoint.
BMW DealerPoint
An interface is being developed with BMW / DealerPoint.
Web service using "Apply" button
An "Apply" button appears on the Quote/Finance screen when certain criteria are met:
a) The Financier must be BMW
b) The Status in the Finance Application section must not be "successful"
c) Login credentials for the BMW / DealerPoint service must have been set up for the relevant user_id (further details may be given in your Wiki)
d) Supplier "Interface Type" of 'bmwdfe' must be selected on Fleet / Administration / Suppliers / Account
When clicked the system sends the application details to BMW / DealerPoint. You can login to BMW / DealerPoint to view and edit the application if required.
To use the interface, BMW / DealerPoint logins and passwords need to be supplied to Catch-e for storing in the system table gbuserlogins and the web service activated.
The apply button will not appear unless this is done. The BMW / DealerPoint user login may be associated with the A/C Manager on the quote OR the user logged in to Catch-e. Catch-e needs to be notified of the association method to be used.
Note: a Drivers's BMW / DealerPoint application will not work unless their salutation is Ms, Miss, Mrs, Mr or Dr.
A number of fields are compulsory for the interface to proceed - users are prompted if these fields are not populated:
- Title (driver salutation).
- Surname.
- First name (note middle name is appended to this field in the interface.
- Date of Birth.
- Address 1.
- Address 3.
- State.
- Postcode.
- Previous Address 1 IF years at address < 2.
- Previous Surburb/City IF years at address < 2.
- Previous State IF years at address < 2.
- Previous Postcode IF years at address < 2.
- Residential Status.
- Landlord name IF residential status is Rented.
- Landlord phone IF residential status is Rented.
- Years employed.
- Position (i.e. occupation).
- Previous Employer Name if years employed < 2.
The BMW / DealerPoint user account must be setup within BMW / DealerPoint.
Eric Interface
If the Eric Interface is set-up, the mapped inclusions will use API calls to source pricing from Eric's system. Eric inclusions are created using the existing Lease Inclusion Plans tables in conjunction with other tables that are needed. Only clients who use RedBook data can use this interface.
When quoting, the inclusions can be selected and the quote saved. In the save process, the data is validated and the user is alerted if any required data is missing. Once populated, the interface is engaged and pricing is returned and saved down into the quote. If the pricing cannot be provided, the chosen inclusions remain selected, but are stored with a 0 value. Quotes in this status cannot be printed or emailed to the driver until the inclusion pricing is completed.
Each time a quote is updated, the eric inclusions are re-priced. Each time the eric interface is invoked, the details are stored in a table called . The details of each call can be seen in the quote's Audit History pop-up.
Eric quotes are valid for a maximum of 90 days after which updated pricing will be required.
Eric Interface Flowchart
Enter your Eric Login
Eric will provide you with "Username", "Password" and "Endpoint Url" for access to their system and you should receive different login details for your Live and Staging environments to allow for testing.
- In each environment, navigate to Setup / Reference Data 'gbcontrols' and locate the control named 'ericlogin')
- Enter and save the appropriate login details
If this is not set up correctly, users will see the following message when they try to add and save Eric products to a quote:
*Error: *
Client error: POST https://middlewaresit.ericinsurance.com.au:8088/api/Quote/BeginQuote resulted in a 401 Missing access token response:\n\r\n
Add Dealer records
Eric will provide the required Dealer Name, Dealer ID, User ID for each Contract Type.
A record is required for each Contract Type that you will be using this interface for.
- Go to Setup / Export Table Data
- Choose and export the table
- Use this as a basis to create the required dealer records for this table.
- Go to Setup / Import Table Data and upload the file into the table to create the required records.
If this is not set up correctly, users will see the following message when they try to add and save Eric products to a quote:
ericQuoteValidationErrors
Code: BQE01
Description: Missing dealer identifier
Add Financier records
A record is required for each Financier that you will be using in conjunction with this interface when you quote.
Eric will provided a Financier Code for each Financier you are using.
- Go to Setup / Export Table Data
- Choose and export the table
- Use this as a basis to create the required financier records for this table.
- Go to Setup / Import Table Data and import the prepared file into the table
If this is not set up correctly, users will see the following message when they try to add and save Eric products to a quote:
Eric Financier configuration not found for Supplier Id #100634. Aborting…
Set-up Lease Inclusion Plans
The set-up and management information for using Lease Inclusion Plans generally still applies when the Eric Interface is being used.
The notes below highlight specific details for setting up Eric Interface inclusions and plans.
The general information about Lease Inclusion Plans is also still applicable to these plans, so visit the Lease Inclusion Plans page for further set-up and maintenance notes.
Add the Inclusions
- Prepare an import file for the table
- Create a new record for each eric inclusion you will be offering
- The inclusions that can currently be offered are
- Extended Warranty (WAR)
- Loan Termination Insurance (LTI)
- Tyre & Rim (TYW)
- Total Assist Insurance (TAI)
- The field must be set to 'no' on these records. Because the pricing is sourced from Eric directly, the "Retail" field should not be editable.
- The field must be set to 'eric' on these records. This is used by the system to use the Eric Interface for this inclusion.
- Go to Setup / Import Table Data and import this file.
Add the Plans
- Prepare an import file for the table
- Create a new record that is linked to each eric inclusion you are be offering
- Set the retailpricegross, retailpricenet, ''costpricenet' field values to '0.00'.
- The inclusionplancodequalified and marginnet fields are system generated. Do not include these columns in your import file.
- The you enter in the file will appear in the list box on the Quotes / Lease tab. As only one plan is being added for each inclusion, this will default in when the inclusion is selected.
- Go to Setup / Import Table Data and import the prepared file.
Data Validations
Eric Insurance pricing uses a 'risk-based' model and pricing is relative to numerous factors. These may change from time to time.
Validation Errors
Catch-e System
The fields below are required by the Eric Interface. Catch-e will validate these fields and alert the user if data is missing.
A submission to Eric will not be initiated until these fields are populated.
- Drivers Date of Birth
- Drivers Email
- Drivers Home Phone
- Drivers Mobile
- Drivers License number
- Drivers License state
- Drivers Address suburb
- Drivers Address postcode
- Vehicle Variant code
- Vehicle Registration state
- Vehicle New or Used
- Vehicle Odometer
Quotes failing these validations are not considered 'Failed' requests because a request is not submitted until these validations are passed.
Users will see this message if this occurs:
*The Eric Pricing submission cannot proceed until the following inputs have been corrected: *
Validation error(s):
(example only) 1. Mobile 0 Value is required and can't be empty
2. Additional validation notes as applicable
Product Limits
Some products have limitations typically set by Eric themselves on a client by client basis. These limits are stored in Client specific settings and may require Catch-e development to update. These limitations will be detailed in your Client wiki documentation.
Eric System
Some product combinations are not allowed by Eric. These combinations are known only to Eric Insurance. A warning message will alert users if this is the case.
Quotes that have failed an interface validation will have the corresponding set to 'failed'.
Known Eric Error Codes
If an error occurs, users will see a message like this:
*An API error occurred… Please see details below: *
(example only) EricCannotQuoteAllItems
CoverType: TC1
Product: TAI
ProductCode:
GroupId: a785561d-0de1-4d04-a93c-5e5dedd3a8b5
Description: Cannot quote TAI/TC1 in quote group:
d1754bb1-497f-4045-8d89-11c62884403a
Printing a quote that has failed a validation
Quotes that have failed a Catch-e or Eric Interface validation are saved with a "Retail" value of 0.00.
If the Eric Interface validation has failed, then the = 'failed'.
The Inclusion will remain selected.
Users will see this message if this occurs:
***The last Eric Quote was not successful! ***
You must request new pricing before you can proceed.
Quotes that have failed a Catch-e or Eric system validation cannot be printed or emailed, because the quote is in an incomplete state (pricing has not been received).
You will need to fix the validation issues and then Edit and Save the quote again to trigger a new Eric Interface request.
You will also not be able to return a getQuote#error-codes) webservice request for the same reason and will receive a 'CATCHEERRORERICQUOTE_EXPIRED' error.
Editing an quote at ‘Accepted’ status
There may be an instance when a modification to the ‘Accepted’ quote is required, yet pricing is not affected eg: changing the vehicle’s colour preference. Rather than launching into a new Eric pricing request on ‘Save’, a message will be displayed to give the User an option of whether new pricing is required. This will only appear when there is at least one entry where = ‘eric’ AND = AND = ‘successful’.
Quote has been Accepted! Do you wish to source new Eric pricing?
[OK] or [Cancel]
1link Interface
1Link is a web-based application that provides an engine for processing repair and maintenance bookings and authorisations. Its primary advantages are enabling fleet managers to outsource some or all of their maintenance functions and access a wide network of repairers. It creates efficiencies through the use of technology and business rules to automatically allow standard, routine work. Thus repairers can receive authority to repair quickly via the internet and the payments process can be streamlined.
How it works
When the 1link interface is initially configured in Catch-e, supplier information is configured and loaded into 1link’s system one time only.
Routinely, Vehicle, Client and Maintenance History information is exported from Catch-e and uploaded into 1link.
Authorisations generated by 1link are then imported back into Catch-e (go to 1Link Approvals for details).
These file exports/imports can be configured by Catch-e and 1link to occur nightly as automatic web services.
For more information about the service 1link offers, visit 1link
1link Data Mapping
This page describes mapping required between various 1link and Catch-E codes for 1link import process to work properly.
URN to Redbook Mapping
@TODO
URN to NVIC Mapping
@TODO
1link Product Code to Catch-E VMRS + Posting Class code Mapping (held in fminterfacevmrs_mappings)
This section describes how 1link product codes are mapped.
- Determine what new mapping codes to be added from 1link Product Catalogue - CatcheYYYY-MM-DDxxxx.txt (Tab separated) by dumping it into a temp table and doing a query against fminterfacevmrsmappings and fmvmrs_codes.
File Sent by 1link : 1link Product Catalogue - CatcheYYYY-MM-DDxxxx.txt (Tab separated)
File Structure
Field 1 - Our Unique Code.
Field 2 - OEM Product Code.
Field 3 - Product Type (1 = Tyre Service, 2-12 = Tyre, 13-26 = FastFit Products)
1 = 1link (NB: used only by epyx)
2 = Car Tyre All Year
3 = LCV Tyre All Year
4 = Car Tyre Winter
5 = LCV Tyre Winter
6 = Car Tyre Summer
7 = LCV Tyre Summer
8 = Wheel Rim Steel
9 = Wheel Rim Alloy
10 = Off road All Year
11 = Off road Summer
12 = Off road Winter
13 = Air and Ventilation
14 = Batteries
15 = Brakes
16 = Cooling system
17 = Engine
18 = Exhausts
19 = Fuel System
20 = Globes
21= Suspension
22 = Transmission
23 = Windscreens
24 = Wipers
25 = Tubes
26 = Service Charges
Each Product Type maps to a Posting Class Code and a VMRS Code as follows
1 = Tyre Service
Posting Class Code = 'S' (Service)
VMRS Code = Tyre Services (If you don't have a VMRS code for Tyre Service in fmvmrscodes then you need to create one). Make sure fmvmrscodes.actioncode NOT tyrecount.
2-12 = Tyre
Posting Class Code = 'T' (Tyre)
VMRS Code = Single Tyre usually 'T1' (If you don't have a VMRS code for Tyre Service in fmvmrscodes then you need to create one). Make sure fmvmrscodes.actioncode = 'tyrecount'. All these product type should usually map to single VMRS Code of T1.
13-26 = FastFit Products
Posting Class Code = 'M' (Service)
VMRS Code = Code from fmvmrscodes matching 13-26 in list above. Make sure fmvmrscodes.actioncode NOT 'tyrecount'. These product codes need to be added to fmvmrscodes if not in the table.
Field 4 - Tyre Brand (e.g. Bridgestone, Dunlop, Goodyear, Continental etc)
Field 5 - Product Description as supplied by the distributor
- Create a temporary table to hold 1link codes from 1link Product Catalogue - CatcheYYYY-MM-DDxxxx.txt
CREATE TABLE 1link_product_catalogue_mapping_tmp ( 1link_product_code varchar(20) NOT NULL default *, OEM_code varchar(20) NOT NULL default *, product_type tinyint(4) NOT NULL default '0', product_brand varchar(20) NOT NULL default *, description varchar(100) NOT NULL default *, PRIMARY KEY (1link_product_code), KEY oem_code (OEM_code), KEY product_type (product_type)) ENGINE=MyISAM;Dump 1link Product Catalogue - CatcheYYYY-MM-DDxxxx.txt into a CSV (fields separated by comma)
Upload the CSV into 1linkproductcataloguemappingtmp using Whole table Import in Catch-E aplication.
Run follwoing to determine what new codes need to be added.
```
1 = Tyre Service
SELECT t1.*
FROM 1linkproductcataloguemappingtmp t1, fmvmrscodes t2, glpostingclasses t3, fminterfaces t4LEFT JOIN fminterfacevmrsmappings AS t5 ON t5.productcode = t1.1linkproductcode AND t5.interfaceid = t4.interfaceidWHERE t4.interfacecode = '1link'
-- Replace 'SUND006' with appropriate VMRS Code for Tyre Services
AND t2.vmrscode = 'SUND006'-- Replace 'S' with appropriate postingclasscode for ServiceAND t3.postingclasscode = 'S' AND producttype = 1
AND t5.product_code IS NULL;