Create Quote Endpoints: CreateQuoteWebService — Response Details

API endpoints for creating quotes and variants

Response Details

Validation MessagesComments
200 OK
{ "quote_id": 132657}

| The request was a successful request. |
| 401 - Unauthorized | | |

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Unauthorized", "status": 401, "detail": "Unauthorized"}

| You have not authenticated before running this API or The token_timeout of the current session has passed. You need to authenticate again. |
| 403 - Forbidden | | |

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Forbidden", "status": 403, "detail": "Forbidden"}

| You do not have permissions for this request. Go to System Roles and enter 'web_services' Navigate to the Roles / APIs tab to make sure the permission you need to run this API is checked. |
| 418 - Invalid Credentials | | |

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Invalid Credentials", "status": 418, "detail": "Web services API wrapper credentials have not been configured"}

| You need to enable Web Services Go to Setup / Reference Data → gbcontrols) and find the "apiwebserviceswrapperlogin" control. Populate this control with a 'webservices' user login and password. This user will be used to run the API from within code. |
| 422 - Unprocessable Entity | | |

 "annual_kilometreS": { "isEmpty": "Value is required and can't be empty",

| Input field annual_kilometres is missing. | |

 "variant_id": { "isEmpty": "Value is required and can't be empty", "noRecordFound": "No record matching the input was found"}}

| Variant ID is missing from request | |

{ "employer_fbt_type": { "notInArray": "The input was not found in the haystack" } },|

| Unknown input. This error may be returned for a variety of fields. employerfbttype is one example. | |

 "web_service_error": { "CATCH_E_ERROR_FBT_BENEFIT_TYPE_INVALID": "" } },|

| Invalid benefit type |
| CATCHEERROROPPORTUNITYIDMISSING | Input field missing || CATCHEERROROPPORTUNITYNUMBERMISSING | Input field missing |
| CATCHEERRORVARIANTIDMISSING | Input field missing || CATCHEERRORUSERIDCLIENTMANAGERMISSING | Input field missing |
| CATCHEERRORMISSINGFIELDLEASEPERIOD | Input field missing |
| CATCHEERRORMISSINGFIELDANNUALKILOMETRES | Input field missing |
| CATCHEERRORTERMMISSING | Input field missing |
| CATCHEERRORANNUALKILOMETRESMISSING | Input field missing || CATCHEERRORSTATEREGISTEREDMISSING | Input field missing |
| CATCHEERRORINSURERLOCATIONPOSTCODEMISSING | Input field missing |
| CATCHEERRORCLIENTCODEMISSING | Input field missing || CATCHEERRORDRIVERANNUALSALARYMISSING | Input field missing || CATCHEERRORDRIVEREXTERNALCODEMISSING | Input field missing || CATCHEERRORDRIVERSURNAMEMISSING | Input field missing |
| CATCHEERRORDEALTYPEMISSING | Input field missing || CATCHEERRORDEALTYPEINVALID | Input field invalid, must be either 'dealer-non-sourced', 'dealer-sourced', 'private-sale', 'refinance', 'sale-and-leaseback', or 'generic-quote' |
| CATCHEERRORSTATEREGISTEREDMISSING | Input field missing || CATCHEERRORLISTPRICENETMISSING | Input field missing, this only occurs if the listpricegst has been included || CATCHEERRORLISTPRICEGSTMISSING | Input field missing, this only occurs if the listpricenet has been included || CATCHEERRORODOMETERMISSING | Input field missing, this only applicable if NEWUSED is not 'new' e.g. 'used' or 'demonstrator' |
| CATCHEERROROPPORTUNITYIDINVALID | Input field is empty || CATCHEERROROPPORTUNITYNUMBERINVALID | Input field is empty |
| CATCHEERRORVARIANTIDINVALID | Input field invalid record not found || CATCHEERRORLISTPRICEGROSSINVALID | Input field invalid evaluates to zero || CATCHEERRORLISTPRICENETINVALID | Input field invalid evaluates to zero || CATCHEERRORANNUALKILOMETRESINVALID | Input field invalid evaluates to zero |
| CATCHEERRORSTATEREGISTEREDINVALID | Input field invalid. 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'. || CATCHEERRORTERMINVALID | Input field invalid evaluates to zero || CATCHEERRORUSERIDCLIENTMANAGERINVALID | Input field contains unknown account manager |
| CATCHEERRORDRIVERANNUALSALARYINVALID | Input field invalid evaluates to zero |
| CATCHEERRORBADQUOTETEMPLATE | Data set up issue || CATCHEERRORCLIENTCODEINVALID | Client cannot be read |
| CATCHEERRORDRIVEREXTERNALCODEINVALID | Input field is blank |
| CATCHEERRORDRIVERSURNAMEINVALID | Input field is blank || CATCHEERRORPARENTQUOTEIDINVALID | Quote cannot be read || CATCHEERRORFAILEDCREATINGDRIVER | Driver record insert failed |
| CATCHEERRORFAILEDUPDATINGDRIVER | Driver record update failed || CATCHEERRORINSURERLOCATIONPOSTCODEINVALID | Input field not an int || CATCHEERRORNEWUSEDINVALID | Input field invalid |
| CATCHEERRORODOMETERINVALID | Input field evaluates to zero, this is only applicable if NEWUSED is not 'new', e.g. 'used' or 'demonstrator' || CATCHEERRORREADINGENCRYPTEDFIELDS | Error reading encrypted fields on callback |
| CATCHEERRORPOSTINGMAPCODEINVALID | Invalid contract type |
| CATCHEERRORFBTVALUEINVALID | Must be a non-zero currency value || CATCHEERRORUPDATINGOPPORTUNITY | Failed to update Salesforce database || CATCHEERRORQUOTESAVEFAILED | Failed saving quote in Catch-e database |
| CATCHEERRORBADCONTRACTTYPEDEFAULT | Bad setup in Catch-e. Contract Type "Status" may be 'inactive'. |
| CATCHEERRORLOADINGTYPEPASTCLAIMSINVALID | Input field invalid || CATCHEERRORLOADINGTYPELICENCEINVALID | Input field invalid || CATCHEERRORLOADINGTYPEDRIVERRESTRICTIONINVALID | Input field invalid |
| CATCHEERRORPROCUREMENTFLAGINVALID | Input field invalid || CATCHEERRORFINANCIERCODEINVALID | An invalid suppliercodefinancier has been set. The code must map to a Supplier with a 'Supplier Type' set to "Financier" on the Suppliers / Account tab. |
| CATCHEERRORPAYCYCLECODEINVALID | The Pay Cycle Code is invalid. |
| CATCHEERRORLTIPLANCODEMISSING | If more than one active “Plan” is found and ‘productltiplancode’ not passed. || CATCHEERRORLTIPLANCODEINVALID | If ‘productltiplancode’ not found. |
| CATCHEERRORLTITOPUPBENEFITNAMEMISSING | If more than one active “Top Up Benefit” is found and ‘productltitopupbenefitname’ not passed. || CATCHEERRORLTITOPUPBENEFITNAMEINVALID | If ‘productltitopupbenefitname’ not found. |
| CATCHEERRORINCLUSIONPLAN{CODE}INVALID | No match found for nominated Inclusion Plan Code |
| CATCHEERRORINCLUSIONSELECTIONINVALID | No match has been found for against the Inclusion for one or more nominated plans || CATCHEERRORQUOTEVALIDATIONFAILED | Previous FBT Value must be 0 or a positive number. | |

 CATCH_E_ERROR_QUOTE_VALIDATION_FAILED Validation failed due to the following error(s): 1. Term must be greater than Months Deferred.

| Term must be greater than months deferred | |

 CATCH_E_ERROR_QUOTE_VALIDATION_FAILED Validation failed due to the following error(s): 1. Procurement fee must contain a value.

| There is a data setup issue for procurement. In this example, the default = '0', but the = 'no'. To fix this, update to contain a value or set the input field procurement_flag = 'no' or remove it from the call. | |

 CATCH_E_ERROR_QUOTE_VALIDATION_FAILED Validation failed due to the following error(s): 1. A valid Insurance Postcode is required!

| There is a data set up issue. This could be 1. Data setup for an insurance postcode - The qtinsurerlocationsbypostcode table should be populated with all the locations in the qtinsurerlocation table 2. Insurance Type not set for the variant | |

CATCH_E_ERROR_QUOTE_VALIDATION_FAILED Validation failed due to the following error(s): 1. Insurance Location is required!

| There is a data set up issue. When "productcomprehensiveinsurance_flag" = 'yes', then table MUST be populated with a minimum dataset for each Australian State/Territory. | |

 "cost_centre": { "noRecordFound": "No record matching the input was found"

| The cost_centre passed is not stored in the database for the Client. | |

 "division": { "noRecordFound": "No record matching the input was found"

| The division passed is not stored in the database for the Client. | |

 "plate_year": { "invalidPlateYear": "Not within valid range 1900-2099"

| The plate_year is invalid. | |

 "client_code": { "quoteException": "Quote employer_fbt_type must be 'concessional-30000-exempt' or 'full-fbt-payable'"

| The employerfbttype is not valid. The validation message returns the types that are valid for this client. Visit the Employer FBT Type page to see the required conditions for this field. | |

 "fbt_benefit_type": { "operatingFbtTypeNotAllowed": "Operating FBT type is not allowed due to client configuration"

| If Clients / Quote Defaults "Allow Operating FBT Type" is un-checked, then 'operating' is not a valid choice for the client's quotes. Choose a different FBT type or update the client's settings to allow it. |
| 424 - Failed Dependency | | |

 "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Failed Dependency", "status": 422, "detail": "Upstream service temporarily unavailable. Please retry."}

| The API cannot run at this time. This can happen for a various reasons, for example: service resource limits have been exceeded the system is in maintenance mode |

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.