The majority of objects in the Claims Manager Api contain an extendedFields array to cater for passing data into the diverse fields that are available
across the various clients we support. As shown in the Metadata page, we can use the various /metadata endpoints
to get a list of available fields for each object in the Api. When the mapsTo field in the response from these metadata endpoints is extendedFields, then
we know that in order to populate this field with data we have to pass it in the extendedFields array.
The extendedFields array is a list of one or more fields that you wish to populate with data. Each object in the array should have the following two properties:
| Property Name | Description | Type |
|---|---|---|
identifier
|
Unique identifier for the field | string |
value
|
The value to populate the field with | string |
Any field in the extendedFields array that is not valid in the current context will be ignored when processing the request and no validation errors will be raised.
Make sure that you check the relevant /metadata endpoint to ensure that the fields you are passing in this array are available for the relevant context.
The data type of the value property in the extended field object is always a string. This means that whatever the underlying data type of the field in question
is, the value must be converted to its string representation. As an example, if the dataType property of the field returned from the relevant
/metadata endpoint indicates that the field should be of type integer, then if we wanted to populate this field with the integer of 1234 this
should be passed in the extendedFields array as "value": "1234".
To explore this concept further lets have a look at the following partial response from the /metadata/incidents endpoint:
[
{
"identifier": "Global_Incident_Form:IsStarredClaim",
"mapsTo": "extendedFields",
"name": "Starred Claim",
"section": "Status",
"dataType": "boolean",
"maxLength": null,
"isRequired": true,
"listSource": null
},
{
"identifier": "Global_Incident_Form:PLBroadspire_IncidentEndDate",
"mapsTo": "extendedFields",
"name": "Incident End Date",
"section": "Details",
"dataType": "string($date)",
"maxLength": null,
"isRequired": false,
"listSource": null
},
{
"identifier": "Global_Incident_Form:Incident_Time",
"mapsTo": "extendedFields",
"name": "Incident Time",
"section": "Details",
"dataType": "string($time)",
"maxLength": null,
"isRequired": false,
"listSource": null
},
{
"identifier": "Global_Incident_Form:Vehicle_Manufacture_Year",
"mapsTo": "extendedFields",
"name": "Year of Vehicle Manufacture",
"section": "Motor Details",
"dataType": "integer",
"maxLength": 5,
"isRequired": true,
"listSource": null
},
{
"identifier": "Global_Incident_Form:Vehicle_Value_PolicyCurrency",
"mapsTo": "extendedFields",
"name": "Vehicle Value (Policy Currency)",
"section": "Motor Details",
"dataType": "number($double)",
"maxLength": 19,
"isRequired": false,
"listSource": null
},
]
Here we have 5 fields each with a different dataType that we want to populate with data in the extendedFields array. We
are going to set the Starred Claim field to False, the Incident End Date to 20th April 2020,
the Incident Time field to 2:45 PM, the Year of Vehicle Manufacture field to 2019 and finally,
the Vehicle Value (Policy Currency) field to £14,999.99.
In the example extendedFields array below, we can see that each field is represented by its identifier given in the metadata response
and each value has been converted into its relevant string representation:
{
.......
"extendedFields": [
{
"identifier": "Global_Incident_Form:IsStarredClaim",
"value": "false"
},
{
"identifier": "Global_Incident_Form:PLBroadspire_IncidentEndDate",
"value": "2020-04-20"
},
{
"identifier": "Global_Incident_Form:Incident_Time",
"value": "14:45"
},
{
"identifier": "Global_Incident_Form:Vehicle_Manufacture_Year",
"value": "2019"
},
{
"identifier": "Global_Incident_Form:Vehicle_Value_PolicyCurrency",
"value": "14999.99"
}
]
}