CrashBoxx API Description

The following is a description of the CrashBoxx APIs for First Notice of Loss, Accident Reconstruction, and Predictive Physical Damage. The user must authenticate with the CTC Login endpoint prior to using these APIs.

First Notice of Loss

The primary First Notice of Loss (FNL) endpoint gathers the FNL data for a crash based on the case ID sent to customers in the FNL alert.

Retrieving Incident FNL Data

Assuming you have the case ID, you can pull up the FNL data using this API:

GET {BaseURL}/icn/{id}

The BaseURL for CrashBoxx endpoints is

https://connect.calamp.com/crashboxx/services

Searching for FNL Data

There are two endpoints you can use to search for FNL data. The first returns the searchable properties that can work as search keys:

GET {BaseURL}/icn/searchableproperties

The second endpoint is a POST to send your structured search criteria to CTC:

POST {BaseURL}/icn/search

The body of this request requires a JSON object with your search criteria. An example search object follows:

{
    "search" : {
      "maxResults": 15,
      "searchTerms": {
            "accountIdType":"AccountType",
            "accountId":123
        }
    }
}

This will return an array of results with up to 15 records from account 123, with the same result object scheme that is obtained from the GET /icn/{id} endpoint.

It is very helpful if you have a related case ID to find account IDs and makes/models of vehicles to use as examples to reduce trial and error. There is also generic help on CTC's structured search capability available here that covers recommended practices for date ranges and sorting that can be useful if you need to retrieve data from a large set of records. (See the section "Structured Search.")

Accident Reconstruction

There are three main endpoints used for accident reconstruction that are all part of the “icnplus” API collection. The three primary GET endpoints below are all keyed using the CrashBoxx case ID that is sent in the CrashBoxx FNL alert.

Retrieving Accident Reconstruction Data

The first endpoint gathers additional crash data not shared in the FNL alert:

GET {BaseURL}/icnplus/{id}

There is also a composite endpoint, which returns all the data from the FNL endpoint shown earlier, plus the additional fields returned by the “icnplus” endpoint.

GET {BaseURL}/icnplus/composite{id}

Retrieving Accident Speed Data

The second endpoint retrieves the speed and location data associated to the crash as an array of “speeddetails” objects. The data returned typically represents 34 seconds of data before and after the crash.

GET {BaseURL}/icnplus/speeddata/{id}

Here is an example of a speeddetails object:

"speeddetails": [
{
    "id": 1691595311,
    "icnId": 77618991,
    "latitude": -26.4001293,
    "longitude": -49.1907556,
    "speed": 10,
    "altitude": 44178,
    "time": -34
},

Retrieving Acceleration Pairs

The third endpoint downloads an array of accelerationPairs that will show the peak accelerations experienced during the crash. The raw acceleration data is gathered from the LMU at a 400Hz rate. When the crash happens, 3.4 seconds of acceleration data (centered around the crash) is sent to the CrashBoxx server for analysis. This endpoint returns approximately 0.2 seconds of acceleration data about the apex of the acceleration event. The full 3.4 seconds of raw data is maintained on the server if required for further analysis.

GET {BaseURL}/icnplus/accelerationpairs/{id}

An example of the accelerations pair object follows:

"accelerationPairs": [
{
    "id": 351015798,
    "icnId": 77618991, 
    "accX": -0.53637075,
    "accY": -0.47314835,    
    "accZ": -0.11624765,
    "time": 1.877499958
},

The time field in this object is relative to the start of the 3.4s window retrieved in the raw data. accX is forward acceleration, accY is lateral acceleration, and accZ is vertical acceleration.

Searching for Accident Reconstruction Data

As with the FNL data, you can use a range of criteria with CTC’s structured search method to find the accident reconstruction information.

The two endpoints associated with this are the searchable properties endpoint, which returns the properties available for structured search, and the search endpoint to perform the search.

GET {BaseURL}/icnplus/searchableproperties

POST {BaseURL}/icnplus/search

The POST uses a similar search object to the FNL search. More information about structured search is available here. (See the section "Structured Search.") Here is an example search object:

{
    "search" : {
      "maxResults": 15,
      "searchTerms": {
            "accountIdType":"AccountType",
            "accountId":123
        }
    }
}

Predictive Physical Damage

The Predictive Physical Damage API contains a super set of the FNL and Accident Reconstruction functionality, adding the ability to provide a bill of materials (BOM) for the damage and retrieve a picture of a comparable vehicle experiencing a crash of similar severity.

Retrieving the Bill of Materials

This API returns an assortment of crash details in a “dentdata” object, concluding with an array of “dentdetails”, which will list the parts of the vehicle (BOM) likely to require repair. The id required is the case ID from the First Notice of Loss alert.

GET {BaseURL}/dent/billofmaterials{id}

A dentdata example follows:

"dentdata": {
        "icnId": 12345678,
        "deviceId": "9876543210",
        "crashDate": "2021-02-18T18:36:25.000Z",
        "severityCode": "VeryLight",
        "mpd2": 1.9212792,
        "mpd3": 1.8829931,
        "pdof": 358.7951039,
        "peakG": 5.41817334220911,
        "deltaV": 4.284452616,
        "vehicleClass": "Avg",
        "crashDirection": "Front",
        "dentdetails": [
          {
            "id": 170983,
            "bodyPart": "Bumper Cover"
          }
        ]
      }

Retrieving the Predictive Damage Image

The /dent/image endpoint returns a picture of a comparable vehicle that has experienced a crash of similar severity. CrashBoxx uses a vehicle-class concept to provide this service; an example of a vehicle class would be a van or a subcompact car. The id required is the case ID from the FNL alert.

GET {BaseURL}/dent/image/{id}

For the crash shown in the BOM example above, the vehicle class was “Avg”, and the crash direction was from the front. For that crash, the following image was downloaded from CTC.

The response body of the /dent/image endpoint was as follows:

{
    "response": {
        "results": "<Base64 encoded image text would be here>",
        "errors": null
    }
}
579579

Retrieving Composite Data

Just like the Accident Reconstruction API, the Predictive Physical Damage (“dent”) API has a composite endpoint that returns a “DENTComposite” object with the FNL, Accident Reconstruction, and dent BOM data. The “DENTComposite” object also includes the “speeddata” array, which must be pulled with a separate API if you are using the Accident Reconstruction API. The id required is the case ID from the FNL alert.

GET {BaseURL}/dent/composite/{id}

Retrieving Speed Data

If you are not using the dent composite API, you can separately pull the accident reconstruction “speeddata” object using the speeddata endpoint. The id required is the case ID from the FNL alert.

GET {BaseURL}/dent/speeddata/{id}

Retrieving Acceleration Pairs

The dent composite API does not return the acceleration pairs associated with the Accident Reconstruction API. You can pull the acceleration pairs using the following dent endpoint. The id required is the case ID from the FNL alert.

GET {BaseURL}/dent/accelerationpairs/{id}