Skip to content

Entity Services

Overview

Xchecker can be configures with multiple indexes, normally vehicle indexes but can be engine or cycles. This API will expose all configured indexes (those configured to be loaded to the IDL) and during the conversion from Xchecker to IDL process will allocate up to seven primary ordinal keys used for indexing and retrieval. The rest of the vehicle details will be stores as secondary items.

The items in these indexes are referred to as entities by this API and are referenced in the IDL by the primary ordinal keys. Currently, we allow up to 7 primary ordinals that are configured by Elcome in consultation with the Client, such as:

  1. Make
  2. Model
  3. Year
  4. Body
  5. Engine
  6. Series

If you have any special requirements or wish to use different fields for the primary entity search keys please contact your Elcome representative.

Ordinals can be defined as composite, so that various fields can be formatted together and the resulting composite values used. This is particularly useful when dealing with dates or when combining fields for simpler cascading vehicle selection.

Cascade and Sparse

The cascade method calls require that you step through the primary ordinals providing a growing list of previous selections. It is intended that these will mainly be used in cascading drop downs for manual vehicle selection.

The sparse calls allow you to miss primary ordinals for cases where you may want to do a vehicle lookup such as all Audi 5.0 litre cars.

Summary List

  • v1/entity/getentityindexes

    Returns a list of the indexes originally held in XChecker along with the key primary ordinal fields and associated secondary attributes. There may be multiple indexes configured, it is your responsibility to select the correct one for your needs. You must use the indexReference value returned by this call in all subsequent entity methods.

  • v1/entity/getprimaryentityvaluesbycascadingprimaries

    This method is for when you are populating cascading drop down boxes for manual entity/vehicle selection. You step through each of the primary ordinals getting unique values and using the selected value in the next call to this method with the next primary ordinal.

  • v1/entity/getprimaryentityvaluesbycascadingapplicatedprimaries

    This method is for when you are populating cascading drop down boxes for manual entity/vehicle selection. You step through each of the primary ordinals getting unique values and using the selected value in the next call to this method with the next primary ordinal. This method only returns entity values if they are found to be applicated.

  • v1/entity/getprimaryentityvaluesbysparseprimaries

    This method returns distinct lists of primary ordinal values allowing for missing values. It would be used when making ad-hoc queries for entities/vehicles.

  • v1/entity/getsecondaryentityvaluesbysparseprimaries

    This method returns distinct lists of secondary values given a list of primary values. It would be used when selection needs to be made using fields that are not part of the primary lookup system.

  • v1/entity/getentitiesbycascadingprimaries

    This method is for when you are retrieving full entity/vehicle details following a cascading manual selection process.

  • v1/entity/getentitiesbycascadingapplicatedprimaries

    This method is for when you are retrieving full entity/vehicle details following a cascading manual selection process. It will only retrieve applicated entities.

  • v1/entity/getentitiesbysparseprimaries

    This method is for when you are retrieving full entity/vehicle details following a sparse manual selection process.

  • v1/entity/getentitiesbyexternalreferences

    This method returns full entity/vehicle details given a list of external references. These external references will depend upon the index selected.

  • v2/entity/getentitiesbyexternalreferences

    This method returns full entity/vehicle details given a list of external references. These external references will depend upon the index selected.

    It differs from v1 by allowing '*' to be applied to the end of the external reference to enable partial (startswith) search.

  • v1/entity/getentitiesbyinternalreferences

    This method returns full entity/vehicle details given a list of internal references.

  • v1/entity/getentitiesbypartnumber

    Returns a full list of entities/vehicles where the given part number is used.

  • v1/entity/getentitiesbysingleprimary

    Returns a full list of entities/vehicles where the given single primary and primary value are given.

  • v1/entity/getvehiclebyvrm

    Returns the VRM lookup details.

  • v1/entity/getbuyersguide

    Returns the buyers guide given a product and index reference.

    This method requires advanced search to be configured. Please contact your local Elcome representative for more details.


getEntityIndexes

Method URL

/v1/entity/getentityindexes

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class simpleRequest
{
    public baseRequest { get; set; }
}
public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    }
}

Response Structure

public class entityIndexResponse
{
    public baseResponse baseResponse { get; set; }
    public List<index> indexes{ get; set; }
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}


getPrimaryEntityValuesByCascadingPrimaries

Method URL

/v1/entity/getprimaryentityvaluesbycascadingprimaries

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class manualEntityLookupRequestByPrimaries
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public long requestedPrimary { get; set; }
    public List<string> primaryValues { get; set; }
    public filterRequest filterRequest { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class filterRequest
{
    public List<string> brands { get; set; } 
    public List<long> productTypeReferences { get; set; }
    public List<long> categoryReferences { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
requestedPrimary no The primary ordinal you want values for (from getEntityIndexes)
primaryValues no The previous primary selections
filterRequest null (for future use)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "requestedPrimary":2,
    "primaryValues": ["AUDI","","","","",""],
    "filterRequest":null
}

Response Structure

public class manualEntityValueResponse
{
    public baseResponse baseResponse { get; set; }
    public List<string> response{ get; set; }
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}


getPrimaryEntityValuesByCascadingApplicatedPrimaries

Method URL

/v1/entity/getprimaryentityvaluesbycascadingapplicatedprimaries

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class manualEntityLookupRequestByPrimaries
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public long requestedPrimary { get; set; }
    public List<string> primaryValues { get; set; }
    public filterRequest filterRequest { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class filterRequest
{
    public List<string> brands { get; set; } 
    public List<long> productTypeReferences { get; set; }
    public List<long> categoryReferences { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
requestedPrimary no The primary ordinal you want values for (from getEntityIndexes)
primaryValues no The previous primary selections
filterRequest null (for future use)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "requestedPrimary":2,
    "primaryValues": ["AUDI","","","","",""],
    "filterRequest":null
}

Response Structure

public class manualEntityValueResponse
{
    public baseResponse baseResponse { get; set; }
    public List<string> response{ get; set; }
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}


getPrimaryEntityValuesBySparsePrimaries

Method URL

/v1/entity/getprimaryentityvaluesbysparseprimaries

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class manualEntityLookupRequestByPrimaries
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public long requestedPrimary { get; set; }
    public List<string> primaryValues { get; set; }
    public filterRequest filterRequest { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class filterRequest
{
    public List<string> brands { get; set; } 
    public List<long> productTypeReferences { get; set; }
    public List<long> categoryReferences { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
requestedPrimary no The primary ordinal you want values for (from getEntityIndexes)
primaryValues no The previous primary selections
filterRequest yes null (for future use)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "requestedPrimary":3,
    "primaryValues": ["AUDI","","","","",""],
    "filterRequest":null
}

Response Structure

public class manualEntityValueResponse
{
    public baseResponse baseResponse { get; set; }
    public List<string> response{ get; set; }
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}


getSecondaryEntityValuesBySparsePrimaries

Method URL

/v1/entity/getsecondaryentityvaluesbysparseprimaries

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class manualEntitySecondaryLookupRequestByPrimaries
{
    public baseRequest baseRequest { get; set; }
    public int indexReference { get; set; }
    public int requestedSecondary { get; set; }
    public List<string> primaryValues { get; set; }
    public filterRequest filterRequest { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class filterRequest
{
    public List<string> brands { get; set; } 
    public List<long> productTypeReferences { get; set; }
    public List<long> categoryReferences { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
requestedSecondary no The secondary ordinal you want values for (from getEntityIndexes)
primaryValues no The previous primary selections
filterRequest yes null (for future use)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "requestedSecondary":19,
    "primaryValues": ["AUDI","A4 (8D, B5) (94-01)","","","",""],
    "filterRequest":null
}

Response Structure

public class manualEntityValueResponse
{
    public baseResponse baseResponse { get; set; }
    public List<string> response{ get; set; }
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}


getEntitiesByCascadingPrimaries

Method URL

/v1/entity/getentitiesbycascadingprimaries

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class manualEntityLookupRequestByPrimaries
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public long requestedPrimary { get; set; }
    public List<string> primaryValues { get; set; }
    public filterRequest filterRequest { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class filterRequest
{
    public List<string> brands { get; set; } 
    public List<long> productTypeReferences { get; set; }
    public List<long> categoryReferences { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
requestedPrimary no The primary ordinal you want entities for (from getEntityIndexes)
primaryValues no The previous primary selections
filterRequest yes null (for future use)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "requestedPrimary":3,
    "primaryValues": ["AUDI","A4 (8D, B5) (94-01)","1.9","","",""],
    "filterRequest":null
}

Response Structure

public class entityResponse
{
    public baseResponse baseResponse { get; set; }
    public List<indexEntity> entities { get; set; } 
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}

public class indexEntity
{
    public long indexReference  { get; set; }
    public string provider { get; set; }
    public long internalReference { get; set; }
    public string externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; } 
}


getEntitiesByCascadingApplicatedPrimaries

Method URL

/v1/entity/getentitiesbycascadingapplicatedprimaries

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class manualEntityLookupRequestByPrimaries
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public long requestedPrimary { get; set; }
    public List<string> primaryValues { get; set; }
    public filterRequest filterRequest { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class filterRequest
{
    public List<string> brands { get; set; } 
    public List<long> productTypeReferences { get; set; }
    public List<long> categoryReferences { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
requestedPrimary no The primary ordinal you want entities for (from getEntityIndexes)
primaryValues no The previous primary selections
filterRequest yes null (for future use)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "requestedPrimary":3,
    "primaryValues": ["AUDI","A4 (8D, B5) (94-01)","1.9","","",""],
    "filterRequest":null
}

Response Structure

public class entityResponse
{
    public baseResponse baseResponse { get; set; }
    public List<indexEntity> entities { get; set; } 
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}

public class indexEntity
{
    public long indexReference  { get; set; }
    public string provider { get; set; }
    public long internalReference { get; set; }
    public string externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; } 
}


getEntitiesBySparsePrimaries

Method URL

/v1/entity/getentitiesbysparseprimaries

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class manualEntityLookupRequestByPrimaries
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public long requestedPrimary { get; set; }
    public List<string> primaryValues { get; set; }
    public filterRequest filterRequest { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class filterRequest
{
    public List<string> brands { get; set; } 
    public List<long> productTypeReferences { get; set; }
    public List<long> categoryReferences { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
requestedPrimary no The primary ordinal you want entities for (from getEntityIndexes)
primaryValues no The previous primary selections
filterRequest yes null (for future use)

Body Example (Get all 5.0 Litre Audi)

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "requestedPrimary":3,
    "primaryValues": ["AUDI","","5.0","","",""],
    "filterRequest":null
}

Response Structure

public class entityResponse
{
    public baseResponse baseResponse { get; set; }
    public List<indexEntity> entities { get; set; } 
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}

public class indexEntity
{
    public long indexReference  { get; set; }
    public string provider { get; set; }
    public long internalReference { get; set; }
    public string externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; } 
}


getEntitiesByExternalReferences

Method URL

/v1/entity/getentitiesbyexternalreferences

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class referencedEntityLookupRequestString
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public List<nameValuePairString> references { get; set; } 
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class nameValuePairString
{
    public string name { get; set; }
    public string value { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
references no List of external references (dependant upon index)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
"references": [{"name":"extid", "value": "11597"}]
}

Response Structure

public class entityResponse
{
    public baseResponse baseResponse { get; set; }
    public List<indexEntity> entities { get; set; } 
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}

public class indexEntity
{
    public long indexReference  { get; set; }
    public string provider { get; set; }
    public long internalReference { get; set; }
    public string externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; } 
}


v2 getEntitiesByExternalReferences

Method URL

/v2/entity/getentitiesbyexternalreferences

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class referencedEntityLookupRequestString
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public List<nameValuePairString> references { get; set; } 
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class nameValuePairString
{
    public string name { get; set; }
    public string value { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
references no List of external references (allows '*' on the end of externalID for partial search)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
"references": [{"name":"extid", "value": "11597"}]
}

Response Structure

public class entityResponse
{
    public baseResponse baseResponse { get; set; }
    public List<indexEntity> entities { get; set; } 
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}

public class indexEntity
{
    public long indexReference  { get; set; }
    public string provider { get; set; }
    public long internalReference { get; set; }
    public string externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; } 
}


getEntitiesByInternalReferences

Method URL

/v1/entity/getentitiesbyinternalreferences

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class referencedEntityLookupRequestNumeric
{
    [Required]
    public baseRequest baseRequest { get; set; }
    [Required]
    public long indexReference { get; set; }
    [Required]
    public List<nameValuePairNumeric> references { get; set; } = new List<nameValuePairNumeric>();
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

public class nameValuePairNumeric
{
    public string name { get; set; }
    public long value { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
references no List of internal references (unique to Elcome)

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "references": [{"name":"elcome", "value": 8779}]
}

Response Structure

public class entityResponse
{
    public baseResponse baseResponse { get; set; }
    public List<indexEntity> entities { get; set; } 
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}

public class indexEntity
{
    public long indexReference  { get; set; }
    public string provider { get; set; }
    public long internalReference { get; set; }
    public string externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; } 
}


getEntitiesByPartNumber

Method URL

/v1/entity/getentitiesbypartnumber

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class partNumberEntityLookupRequest
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public string partNumber { get; set; }
    public string brand { get; set; }
    public long productTypeReference { get; set; }
    public string searchOption { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned
partNumber no Full or partial name of a part number
productTypeReference yes 0 if not required otherwise the reference to a ProductType
brand yes Blank string if not required otherwise lower case brand name
searchOption no one of "exact", "startswith" or "contains" to apply to part number

Body Example

{
    "baseRequest":{
        "requestReference":123456,
        "requestPostedTime":"2012-04-23T18:25:43.511Z",
        "system":"ecat"
    },
    "indexReference":1,
    "partNumber": "PLUG1",
"productTypeReference": 0,
    "brand": "mybrand",
    "searchOption": "exact"
}

Response Structure

public class entityResponse
{
    public baseResponse baseResponse { get; set; }
    public List<indexEntity> entities { get; set; } 
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}

public class indexEntity
{
    public long indexReference  { get; set; }
    public string provider { get; set; }
    public long internalReference { get; set; }
    public string externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; } 
}


getEntitiesBySinglePrimary

Method URL

/v1/entity/getentitiesbysingleprimary

Type

POST

Consumes

application/json

Produces

application/json

Body Structure


Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products
indexReference no Reference to the index for which entries will be returned

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2018-11-12T17:10:51.917Z",
    "system": "ecat"
  },
  "indexReference": 1,
  "requestedPrimary": 6,
  "primaryValues": [
    "AM2"
  ],
  "filterRequest": {
    "brands": [
      "string"
    ],
    "productTypeReferences": [
      0
    ],
    "categoryReferences": [
      0
    ]
  }
}

Response Structure

public class entityResponse
{
    public baseResponse baseResponse { get; set; }
    public List<indexEntity> entities { get; set; }
}

public class indexEntity
{
    public long indexReference { get; set; }
    public string? provider { get; set; }
    public long internalReference { get; set; }
    public string? externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; }
}


getVehicleByVRM

Method URL

/v1/entity/getvehiclebyvrm

For VRM to work you must have registered a VRM account with us. Once this has been set up an account name and a user name will be issued to you which you can then use for this method.

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class vrmVehicleLookupRequest
{
    public baseRequest baseRequest { get; set; }
    public long indexReference { get; set; }
    public string account { get; set; }
    public string userName { get; set; }
    public string vrm { get; set; }
}

public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2018-11-13T10:09:11.574Z",
    "system": "string"
  },
  "indexReference": 1,
  "account": "MyAccount",
  "userName": "MyUserName",
  "vrm": "ABC99ABC"
}

Response Structure

public class vrmResponse
{
    public baseResponse baseResponse { get; set; } 
    public Dictionary<string, string> vrmDetails { get; set; } 
}

public class baseResponse
{
    public baseRequest baseRequest { get; set; }
    public TimeSpan responseTime { get; set; }
    public long resultCode { get; set; }
    public string resultText { get; set; }
}


getBuyersGuide

Method URL

/v1/entity/getbuyersguide

For this method to work, advanced search must be configured. Please contact your Elcome representative for further details.

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class BuyersGuideRequest : simpleRequest
{
    public long indexReference { get; set; }
    public long productReference { get; set; }
}

public class simpleRequest
{
    public baseRequest baseRequest { get; set; }
}

Body Fields

Field Optional Description
requestReference no You must provide a unique string identifier for this request
requestPostedTime no Enter the time of the request
system no "ecat" must be used to correctly filter allowable products

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2021-09-03T09:00:11.193Z",
    "system": "ecat"
  },
  "indexReference": 1,
  "productReference": 12345
}

Response Structure

public class BuyersGuideResponse : baseResponse
{
    public List<indexEntity>? entities { get; set; }
    public long depth { get; init; }
    public long totalEntites { get; init; }
    public string? result { get; set; }
}

public class indexEntity
{
    public long indexReference { get; set; }
    public string? provider { get; set; }
    public long internalReference { get; set; }
    public string? externalReference { get; set; }
    public Dictionary<string, string> attributes { get; set; }
}