Create Quote Endpoints: CreateQuoteWebService — Enable

API endpoints for creating quotes and variants

Enable

Go to Setup / Reference Data → gbcontrols) and find the "apiwebserviceswrapper_login" control.

Populate this control with a 'web_services' user login and password.
This user will be used to run the API from within code.

Permissions

To run this API, the nominated 'web-services' role needs to be given permission.

If you are not actively using the API, leave the permission off for better security.

Go to Roles / Apis and check on WebServices.

Authentication

Authenticate with the API before running this API.

HTTP Method

Use the HTTP Method 'POST' for consuming this web service.

URL Examples

https://api.test.catch-e.com/web-services/qt/salesforce/createQuote

Body (JSON)

JSON FieldFormatNotesMandatory
Contract
deal_typestringDeal Type field in Salesforceno
annual_kilometresintegerNon-zero positive numberyes
state_registeredstringState codes, VIC, NSW, ACT, NT, TAS, WA, SA, QLD, NZ. When is 'AUS' then it must be either 'NSW', 'VIC', 'QLD', 'ACT', 'TAS', 'SA', 'WA', or 'NT'. When is 'NZ' then it must be 'NZ'.yes
terminteger1 - 60yes
Client Details
client_codestringCatch-e client_code, a short text string identifying the clientyes
useridclient_managerintActive Catch-e user_id i.e. not at 'deleted' statusyes
Driver Details
createnewdriver_flagstringSet this to 'yes' to create a new Driver. Requires driverexternalcode if set to 'yes'.no
driverexternalcodestringPacman Unique reference used to identify this driverno
driver_idstringAn alternative to passing the driverexternalcode. The driverid passed in here will be updated with data submitted in this call. If URL contains: ‘driverid=100000’ then, If driverid match is found, update Driver record (if any changes required). If URL contains: ‘driverid=0’ or not passed then, Do not create a new Driver Record. Simply add the driversurname to driversurname and driverannualsalary to annualsalary. If URL contains: ‘createnewdriverflag=yes’ then, Create a new Driver.no
driver_surnamestringSurname of the driveryes
drivergivennamestringGiven nameno
driver_salutationstringenum('Mr','Mrs','Ms','Miss','Dr','Prof','Rev','Capt')no
driver_genderstringenum('Male','Female','Other')no
driveraddress1stringPostal / Home address line 1 e.g. Level 1, 30 Coora Road'no
driveraddress2stringPostal / Home address line 2no
driver_areastringPostal / Home area e.g. 'Oakleigh South'no
driver_statestringPostal / Home stateno
driver_postcodestringPostal / Home postcodeno
driverhomeemailstringHome emailno
driver_phonestringHome phone number for Driverno
driverworkphonestringWork phone numberno
driverdateof_birthstringDate of Birthno
driverannualsalarydecimalAnnual gross salaryyes
employerfbttypestringChoose from 'full-fbt-payable', 'concessional-30000-exempt', 'concessional-17000-exempt', 'rebatable' or 'not-applicable'. If this field is passed, the value must conform to the Employer FBT Type business rules, otherwise the call is rejected. If this field is not passed, the quote will update based on the Employer FBT Type business rules.no
fbtbenefittypestringChoose from 'statutory','operating' or 'exempt'. If Clients / Quote Defaults "Allow Operating FBT Type" is un-checked, then 'operating' is not a valid choice for the client's quotes.no
fbtbusinessusestringBus. Use%no
Other
variant_idintCatch-e variant identifieryes
aftermarketrequestedflagstringOverride the default Aftermarket inclusion flag, 'yes' or 'no'no
colour_preferencestringSet the colour preferenceno
fbt_valuedecimalSets the FBT Value in the quote and turn on the lockfbtvalue_flagno

| inclusions | string | Adds one or more Lease Inclusion Plans Note this is a different approach to the legacy createQuote feature. An example is shown here.

"inclusions": [ { "inclusion_code": "IC1", "inclusion_plan_code": "IPC1" }, { "inclusion_code": "IC2", "inclusion_plan_code": "IPC2" } ]

| no |
| insuranceloadingtypedriverrestriction | string | One of nodriverslessthan26yo, alldrivers, nodriverslessthan22yo. Insert one of the 'loadingcode' values stored in | no |
| insuranceloadingtypelicence | string | One of noloss, lossin2to5years, lossin0to2years. Insert one of the 'loadingcode' values stored in | no || insuranceloadingtypepastclaims | string | One of noclaims0to5years, 1claimin12months, 1claimin1to3years, 2+claims0to3years, 3+claimsin0to5years. Insert one of the 'loadingcode' values stored in | no |
| insurerlocationpostcode | integer | Use this if your insurance set-up is configured by postcode, otherwise locationname should be used. The postcode must be valid for the supplied stateregistered. If not passed in the respective postcode from Global Controls 'postcodebystatedefault' will be used to determine the Insurance price. | no || listpricegross | decimal | Numeric dollar value, takes precedent over listpricenet i.e. if this is set then listpricenet is ignored | no || listpricegst | decimal | Numeric dollar value | no || listpricenet | decimal | Numeric dollar value | no || locationname | string | Set the Insurance location you want applied. This will display on the Quotes → Contract tab. | no |
| newused | string | Indicates whether the vehicle is new or used, defaults to 'new' | no || odometer | string | If 'newused' is set to 'used' or 'demonstrator' this value must bet set to a non-zero integer | no |
| opportunityid | string | Salesforce opportunity id | no || opportunitynumber | string | Salesforce opportunity # | no |
| parentquoteid | int | Quote ID to use as the parent of the new quote | no |
| paycyclecode | string | Allows you to set the Pay Cycle for this quote. The list of available codes is stored in If not passed the Client Pay Cycle will be used. | no |
| postingmapcode | string | Contract type code | no |
| procurementflag | string | Sets the quote vehicle procurement flag | no || productcarbonemissionsoffsetflag | string | Override the default Carbon Emissions profile flag, 'yes' or 'no' | no || productcomprehensiveinsuranceflag | string | Override the default Comprehensive Insurance profile flag, 'yes' or 'no' | no |
| productextendedwarrantyflag | string | Override the default Extended Warranty profile flag, 'yes' or 'no' | no || productltitopupbenefitname | string | If more than one active “Top Up Benefit” exists for the “Plan” passed, then a ‘productltitopupbenefitname’ should be passed as well. The Quote created should pre-populate the “Plan” and “Top Up Benefit” and include the “Premium” in its calculations. | no || productnlpiflag | string | Override the default NLPI inclusion flag, 'yes' or 'no' | no || productroadsideassistanceflag | string | Override the default Roadside Asistance inclusion flag, 'yes' or 'no' | no |
| productrvehamountnet | string | Add the Relief Vehicle monthly cost to the Profile (Quotes / Lease -> 'Monthly Budget') | no || productrvehflag | string | Override the default Relief Vehicle inclusion flag, 'yes' or 'no' | no || productsmalldamagerepairsflag | string | Override the default Small Damage Repairs profile flag, 'yes' or 'no'. If the quote term does not match one of the SDR profile records, SDR will be checked on but the premium will not calculate. | no || producttyreandrimflag | string | Override the default Tyre and Rim inclusion flag, 'yes' or 'no' | no || productvehiclemaintenanceprogramflag | string | Override the default Vehicle Maintenanace profile flag, 'yes' or 'no' | no || productwalkawayflag | string | Override the default Walkaway inclusion flag, 'yes' or 'no' | no || purchasestampduty | decimal | Sets the Purchase Stamp Duty in the quote and turn on the lockpurchasestampdutyflag | no || suppliercodefinancier | string | Set an alternative Financier. This will override the Financier default set on the Quote Defaults and must map to a Supplier with a 'Supplier Type' set to "Financier" on the Suppliers / Account tab. | no || useridassigned | int | Set the Quote 'Assigned' user. Must be an active Catch-e userid i.e. not at 'deleted' status | no |
| driverdriverlicence | string | If Driver found or new Driver created, Driver's "Licence No" will be updated. | no |
| driverdriverlicencestate | string | If Driver found or new Driver created, Driver's "Licence State" will be updated. | no || drivermobile | string | If Driver found or new Driver created, Driver's "Mobile" will be updated. | no |
| previousfbtvalue | integer | It's optional and can only be a positive number. | no |
| previousleasestart | integer | User can give a previous lease start date | no |
| productltiflag | string | Either yes or no are the only acceptable values to be passed,if the fag is set to yes, If ‘productltiflag’ = yes is passed, and only one active “Plan” / “Top Up Benefit” is found, the Quote created should pre-populate the “Plan” and “Top Up Benefit” and include the “Premium” in its calculations. | no |
| productltiplancode | string | If the ‘productltiplancode’ passed has only one active “Top Up Benefit”, the Quote created should pre-populate the “Plan” and “Top Up Benefit” and include the “Premium” in its calculations. | no |
| statusflag | string | Must be one of values. Default value is stored in . | no || costcentre | string | Must be one of values. | no |
| division | string | Must be one of values. | no |
| plateyear | string | Pass a value to specify the Plate Year. The plateyear can be any year between 1900-2099. If plateyear not passed, the value for Default Year is used. | no || Vehicle | | | || datefirstheld | string | date (yyyy-mm-dd). See also FBT Treatment Type. | No || luxurycartaxpaid_flag | string | yes or no. See also FBT Treatment Type. | No |

Input Fields (Body) Example

{ "variant_id": "167317", "user_id_client_manager": "10000", "term": "36", "annual_kilometres": "10000", "state_registered": "VIC", "client_code": "MATT", "driver_annual_salary": "77777.77", "driver_surname": "TestSurname", "inclusions": [ { "inclusion_code": "IC1", "inclusion_plan_code": "IPC1" }, { "inclusion_code": "IC2", "inclusion_plan_code": "IPC2" } ], "insurance_loading_type_driver_restriction": "all_drivers", "insurance_loading_type_licence": "loss_in_0_to_3_years", "insurance_loading_type_past_claims": "3_or_more_claims_in_0_to_5_years", "insurer_location_postcode": "3000", "product_lti_plan_code": "LTIMP", "status_flag": "draft"}