Qt Salesforce createQuote

This API allows you to create quotes directly from Salesforce into Catch-e.

Audit history is created when using this web service. The history is attributed to the userid passed in the parameter 'user_id_client_manager'.

Input Fields

#Query

String

Key

Format Notes

Mandatory

1

annual_kilometres

integer

Non-zero positive number

Yes

2

client_code

string

Catch-e client_code, a short text string identifying the client

Yes

3

driver_annual_salary

decimal

Annual gross salary

Yes

4

driver_surname

string

Surname of the driver

Yes

5

state_registered

string

State codes: VIC, NSW, ACT, NT, TAS, WA, SA, QLD, NZ. When 'AUS' then must be one of the Australian states. When 'NZ' then must be 'NZ'.

Yes

6

term

integer

1 - 60

Yes

7

user_id_client_manager

int

Active Catch-e user_id (not at 'deleted' status)

Yes

8

variant_id

int

Catch-e variant identifier

Yes

9

aftermarket_requested_flag

string

Override the default Aftermarket inclusion flag: 'yes' or 'no'

No

10

colour_preference

string

Set the colour preference

No

11

create_new_driver_flag

string

Set to 'yes' to create a new Driver. Requires driver_external_code if set to 'yes'.

No

12

deal_type

string

Deal Type field in Salesforce

No

13

driver_address_1

string

Postal / Home address line 1 e.g. 'Level 1, 30 Coora Road'

No

14

driver_address_2

string

Postal / Home address line 2

No

15

driver_area

string

Postal / Home area e.g. 'Oakleigh South'

No

16

driver_external_code

string

Pacman Unique reference used to identify this driver

No

17

driver_given_name

string

Given name

No

18

driver_home_email

string

Home email

No

19

driver_id

string

An alternative to passing driver_external_code. The driver_id will be updated with data submitted. If driver_id=100000, update existing Driver. If driver_id=0 or not passed, do not create new Driver. If create_new_driver_flag=yes, create new Driver.

No

20

driver_phone

string

Home phone number for Driver

No

21

driver_postcode

string

Postal / Home postcode

No

22

driver_state

string

Postal / Home state

No

23

driver_work_phone

string

Work phone number

No

24

fbt_value

decimal

Sets the FBT Value in the quote and turn on the lock_fbt_value_flag

No

25

inclusion_{inclusioncode}_flag

string

Setting to 'yes' will select and apply the inclusion. 'no' or omitting will leave unchecked. e.g. inclusion_INC1_flag='yes'

No

26

inclusion_{inclusionplancode}_plan

string

If multiple plans available, specify plan code. e.g. inclusion_INC1_plan='LIPLAN2'

No

27

insurance_loading_type_driver_restriction

string

One of: nodriverslessthan26yo, alldrivers, nodriverslessthan22yo

No

28

insurance_loading_type_licence

string

One of: noloss, lossin2to5years, lossin0to2years

No

29

insurance_loading_type_past_claims

string

One of: noclaims0to5years, 1claimin12months, 1claimin1to3years, 2+claims0to3years, 3+claimsin0to5years

No

30

insurer_location_postcode

integer

Use if insurance configured by postcode. Must be valid for state_registered. If not passed, default from Global Controls used.

No

31

list_price_gross

decimal

Numeric dollar value; takes precedence over list_price_net

No

32

list_price_gst

decimal

Numeric dollar value

No

33

list_price_net

decimal

Numeric dollar value

No

34

location_name

string

Set the Insurance location to apply. Displays on Quotes > Contract tab.

No

35

new_used

string

Indicates vehicle status: 'new', 'used', or 'demonstrator'. Defaults to 'new'.

No

36

odometer

string

If new_used is 'used' or 'demonstrator', must be set to non-zero integer

No

37

opportunity_id

string

Salesforce opportunity id

No

38

opportunity_number

string

Salesforce opportunity #

No

39

parent_quote_id

int

Quote ID to use as the parent of the new quote

No

40

pay_cycle_code

string

Allows setting Pay Cycle for quote. If not passed, Client Pay Cycle used.

No

41

posting_map_code

string

Contract type code

No

42

procurement_flag

string

Sets the quote vehicle procurement flag

No

43

product_carbon_emissions_offset_flag

string

Override default Carbon Emissions profile flag: 'yes' or 'no'

No

44

product_comprehensive_insurance_flag

string

Override default Comprehensive Insurance profile flag: 'yes' or 'no'

No

45

product_extended_warranty_flag

string

Override default Extended Warranty profile flag: 'yes' or 'no'

No

46

product_lti_top_up_benefit_name

string

If multiple "Top Up Benefits" exist, specify which one to use

No

47

product_nlpi_flag

string

Override default NLPI inclusion flag: 'yes' or 'no'

No

48

product_roadside_assistance_flag

string

Override default Roadside Assistance inclusion flag: 'yes' or 'no'

No

49

product_rveh_amount_net

string

Add Relief Vehicle monthly cost to Profile

No

50

product_rveh_flag

string

Override default Relief Vehicle inclusion flag: 'yes' or 'no'

No

51

product_small_damage_repairs_flag

string

Override default Small Damage Repairs profile flag: 'yes' or 'no'

No

52

product_tyre_and_rim_flag

string

Override default Tyre and Rim inclusion flag: 'yes' or 'no'

No

53

product_vehicle_maintenance_program_flag

string

Override default Vehicle Maintenance profile flag: 'yes' or 'no'

No

54

product_walkaway_flag

string

Override default Walkaway inclusion flag: 'yes' or 'no'

No

55

purchase_stamp_duty

decimal

Sets Purchase Stamp Duty and turn on lock_purchase_stamp_duty_flag

No

56

supplier_code_financier

string

Set alternative Financier. Must map to Supplier with 'Supplier Type'='Financier'.

No

57

user_id_assigned

int

Set Quote 'Assigned' user. Must be active Catch-e user_id.

No

58

driver_driver_licence

string

Driver's "Licence No" if Driver found or created

No

59

driver_driver_licence_state

string

Driver's "Licence State" if Driver found or created

No

60

driver_mobile

string

Driver's "Mobile" if Driver found or created

No

61

previous_fbt_value

integer

Optional; must be positive number

No

62

previous_lease_start

integer

User can provide previous lease start date

No

63

product_lti_flag

string

'yes' or 'no'; pre-populates Plan and Top Up Benefit if only one found

No

64

product_lti_plan_code

string

If only one active "Top Up Benefit" for plan, pre-populate it

No

65

status_flag

string

Must be valid value; default stored in config

No

66

cost_centre

string

Must be valid value

No

67

division

string

Must be valid value

No

68

plate_year

string

Specify Plate Year (1900-2099); default used if not passed

No

69

driver_salutation

string

enum: 'Mr', 'Mrs', 'Ms', 'Miss', 'Dr', 'Prof', 'Rev', 'Capt'

No

70

driver_gender

string

enum: 'Male', 'Female', 'Other'

No

71

driver_date_of_birth

string

Date of Birth

No

72

employer_fbt_type

string

Choose: 'full-fbt-payable', 'concessional-30000-exempt', 'concessional-17000-exempt', 'rebatable', 'not-applicable'

No

73

fbt_benefit_type

string

Choose: 'statutory', 'operating', 'exempt'; operating not allowed if "Allow Operating FBT Type" unchecked

No

74

fbt_business_use

string

Bus. Use %

No

Input URL Examples

https://yourname.catch-e.net.au/services/qt/salesforce/createQuote/?opportunity_id=006O0000001sxBWIAY&opportunity_number=61&variant_id=123456&state_registered=VIC&annual_kilometres=20000&term=36&client_code=ABC&driver_annual_salary=70000&driver_external_code=1233456&driver_surname=smith&deal_type=dealer-sourced&insurer_location_postcode=3000&login=yourlogin&password=yourpassword
https://yourname.catch-e.net.au/services/qt/salesforce/createQuote?login=yourlogin&password=yourpassword&variant_id=163522&user_id_client_manager=10133&term=36&annual_kilometres=5000&state_registered=WA&client_code=ABC&driver_annual_salary=100000&driver_surname=DSurname&posting_map_code=NOFB&location_name=location%20test

Output

On success, returns the created quote_id:

<result>
  <quote_id>123456</quote_id>
</result>

Error Codes

#Error

Code

Notes

1

CATCHEERROR_OPPORTUNITY_ID_MISSING

Input field missing

2

CATCHEERROR_OPPORTUNITY_NUMBER_MISSING

Input field missing

3

CATCHEERROR_VARIANT_ID_MISSING

Input field missing

4

CATCHEERROR_USER_ID_CLIENT_MANAGER_MISSING

Input field missing

5

CATCHEERROR_MISSING_FIELD_LEASE_PERIOD

Input field missing

6

CATCHEERROR_MISSING_FIELD_ANNUAL_KILOMETRES

Input field missing

7

CATCHEERROR_TERM_MISSING

Input field missing

8

CATCHEERROR_ANNUAL_KILOMETRES_MISSING

Input field missing

9

CATCHEERROR_STATE_REGISTERED_MISSING

Input field missing

10

CATCHEERROR_INSURER_LOCATION_POSTCODE_MISSING

Input field missing

11

CATCHEERROR_CLIENT_CODE_MISSING

Input field missing

12

CATCHEERROR_DRIVER_ANNUAL_SALARY_MISSING

Input field missing

13

CATCHEERROR_DRIVER_EXTERNAL_CODE_MISSING

Input field missing

14

CATCHEERROR_DRIVER_SURNAME_MISSING

Input field missing

15

CATCHEERROR_DEAL_TYPE_MISSING

Input field missing

16

CATCHEERROR_DEAL_TYPE_INVALID

Must be: 'dealer-non-sourced', 'dealer-sourced', 'private-sale', 'refinance', 'sale-and-leaseback', 'generic-quote'

17

CATCHEERROR_STATE_REGISTERED_MISSING

Input field missing

18

CATCHEERROR_LIST_PRICE_NET_MISSING

Missing when list_price_gst included

19

CATCHEERROR_LIST_PRICE_GST_MISSING

Missing when list_price_net included

20

CATCHEERROR_ODOMETER_MISSING

Missing if NEW_USED is not 'new'

21

CATCHEERROR_OPPORTUNITY_ID_INVALID

Input field is empty

22

CATCHEERROR_OPPORTUNITY_NUMBER_INVALID

Input field is empty

23

CATCHEERROR_VARIANT_ID_INVALID

Record not found

24

CATCHEERROR_LIST_PRICE_GROSS_INVALID

Evaluates to zero

25

CATCHEERROR_LIST_PRICE_NET_INVALID

Evaluates to zero

26

CATCHEERROR_ANNUAL_KILOMETRES_INVALID

Evaluates to zero

27

CATCHEERROR_STATE_REGISTERED_INVALID

Must be valid state code

28

CATCHEERROR_TERM_INVALID

Evaluates to zero

29

CATCHEERROR_USER_ID_CLIENT_MANAGER_INVALID

Unknown account manager

30

CATCHEERROR_DRIVER_ANNUAL_SALARY_INVALID

Evaluates to zero

31

CATCHEERROR_BAD_QUOTE_TEMPLATE

Data setup issue

32

CATCHEERROR_QUOTE_VALIDATION_FAILED

Data setup issue with additional details

33

CATCHEERROR_CLIENT_CODE_INVALID

Client cannot be read

34

CATCHEERROR_DRIVER_EXTERNAL_CODE_INVALID

Input field is blank

35

CATCHEERROR_DRIVER_SURNAME_INVALID

Input field is blank

36

CATCHEERROR_PARENT_QUOTE_ID_INVALID

Quote cannot be read

37

CATCHEERROR_FAILED_CREATING_DRIVER

Driver record insert failed

38

CATCHEERROR_FAILED_UPDATING_DRIVER

Driver record update failed

39

CATCHEERROR_INSURER_LOCATION_POSTCODE_INVALID

Not an integer

40

CATCHEERROR_NEW_USED_INVALID

Invalid value

41

CATCHEERROR_ODOMETER_INVALID

Evaluates to zero if NEW_USED not 'new'

42

CATCHEERROR_READING_ENCRYPTED_FIELDS

Error reading encrypted fields on callback

43

CATCHEERROR_POSTING_MAP_CODE_INVALID

Invalid contract type

44

CATCHEERROR_FBT_VALUE_INVALID

Must be non-zero currency value

45

CATCHEERROR_UPDATING_OPPORTUNITY

Failed to update Salesforce database

46

CATCHEERROR_QUOTE_SAVE_FAILED

Failed saving quote in Catch-e database

47

CATCHEERROR_BAD_CONTRACT_TYPE_DEFAULT

Contract Type 'Status' may be inactive or missing Quote Template

48

CATCHEERROR_LOADING_TYPE_PAST_CLAIMS_INVALID

Input field invalid

49

CATCHEERROR_LOADING_TYPE_LICENCE_INVALID

Input field invalid

50

CATCHEERROR_LOADING_TYPE_DRIVER_RESTRICTION_INVALID

Input field invalid

51

CATCHEERROR_PROCUREMENT_FLAG_INVALID

Input field invalid

52

CATCHEERROR_FINANCIER_CODE_INVALID

Must map to Supplier with 'Supplier Type'='Financier'

53

CATCHEERROR_PAY_CYCLE_CODE_INVALID

Pay Cycle Code invalid

54

CATCHEERROR_LTI_PLAN_CODE_MISSING

Required if multiple active Plans found

55

CATCHEERROR_LTI_PLAN_CODE_INVALID

Plan code not found

56

CATCHEERROR_LTI_TOP_UP_BENEFIT_NAME_MISSING

Required if multiple Top Up Benefits found

57

CATCHEERROR_LTI_TOP_UP_BENEFIT_NAME_INVALID

Top Up Benefit name not found

58

CATCHEERROR_INCLUSION_PLAN_{CODE}_INVALID

No match for nominated Inclusion Plan Code

59

CATCHEERROR_INCLUSION_SELECTION_INVALID

No match found for nominated plans

60

CATCHEERROR_QUOTE_VALIDATION_FAILED

Previous FBT Value must be 0 or positive

61

CATCHEERROR_INVALID_COST_CENTRE

Cost centre not stored for Client

62

CATCHEERROR_INVALID_DIVISION

Division not stored for Client

63

CATCHEERROR_INVALID_PLATE_YEAR

Plate year not within valid range 1900-2099

64

CATCHEERROR_EMPLOYER_FBT_TYPE_INVALID

Not valid for this client

65

CATCHEERROR_OPERATING_FBT_BENEFIT_TYPE_NOT_ALLOWED

Operating FBT type not allowed due to Client configuration

Error Output Example

CATCHEERROR_VARIANT_ID_MISSING

Error Output Example 2

CATCHEERROR_QUOTE_VALIDATION_FAILED Validation failed due to the following error(s):  1. Contract Term(Months) must be between 1 and 60. 2. A valid Insurance Postcode is required!

Troubleshooting

The Financier used for this service will default from the Clients / Quote Defaults "Financier" record.

This Financier must have all of the following table records present (if not the Financier will be blank):

  • Populated when creating a new Suppliers record.

  • Populated when creating a new Suppliers record and the Supplier Type is 'Financier'.

  • Go to Reference Data screen to create/edit these records.