Skip to content

Product Services

Overview

Product services is used to get data from Xchecker related to Products.


getProductBrands

Method URL

/v2/product/getProductBrands

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 productBrandsResponse
{
    public baseResponse baseResponse { get; set; } 
    public HashSet<productBrand> brands { 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 productBrand
{
    public long brandReference { get; set; }
    public string brandName { get; set; }
    public bool isMasterBrand { get; set; }
    public string systemName { get; set; }
    public bool active { get; set; }
}

Response Example

{
    "baseResponse": {
        "baseRequest": {
            "requestReference": 0,
            "requestPostedTime": "2018-09-07T09:39:36.2709196+01:00",
            "system": null
        },
        "responseTime": "00:00:00.2910714",
        "resultCode": 0,
        "resultText": "success"
    },
    "brands": [
        {
            "brandReference": 22503,
            "brandName": "AB Brand",
            "isMasterBrand": false,
            "systemName": "",
            "active": true
        },
        {
            "brandReference": 22504,
            "brandName": "CD Brand",
            "isMasterBrand": false,
            "systemName": "",
            "active": true
        },
        {
            "brandReference": 22505,
            "brandName": "ED Brand",
            "isMasterBrand": false,
            "systemName": "",
            "active": true
        }
    ]
}


getProductsByProductReferences

Method URL

/v2/product/getProductsByProductReferences

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class productRequest
{
    public baseRequest baseRequest { get; set; }
    public List<productSearchRequest> searchProducts { get; set; }
}
public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}
public class productSearchRequest
{
    public string partNumber { get; set; } 
    public string sapArticleCode { get; set; }
    public string barcode { get; set; }
    public string brand { get; set; }
    public long productReference { get; set; }
    public string externalNode { get; set; }
    public string searchOption { get; set; } 
}

Body Fields

Field Optional Description
baseRequest.requestReference no You must provide a unique string identifier for this request
baseRequest.requestPostedTime no Enter the time of the request
baseRequest.system no "ecat" must be used to correctly filter allowable products
searchProducts no
- partNumber
- sapArticleCode
- barcode
- brand
- productReference no Internal Product reference
- externalNode
- searchOption

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2019-05-29T09:54:05.515Z",
    "system": "ecat"
  },
  "searchProducts": [
    {
      "partNumber": "",
      "sapArticleCode": "",
      "barcode": "",
      "brand": "",
      "productReference": 1234,
      "externalNode": "",
      "searchOption": ""
    },
    {
      "partNumber": "",
      "sapArticleCode": "",
      "barcode": "",
      "brand": "",
      "productReference": 9876,
      "externalNode": "",
      "searchOption": ""
    }
  ]
}

Response Structure

public class productResponse
{
    public baseResponse baseResponse { get; set; } 
    public HashSet<product> products { 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 product
{
    public long productReference { get; set; }
    public long categoryReference { get; set; }
    public string categoryName { get; set; }
    public long productTypeReference { get; set; }
    public string productTypeName { get; set; }
    public string partNumber { get; set; }
    public string externalReference { get; set; }
    public string barcode { get; set; }
    public string sku { get; set; }
    public string description { get; set; }
    public string status { get; set; }
    public Dictionary<string, bool> visibility { get; set; }
    public bool isKitOrAccessory { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public string brand { get; set; }
    public bool isParent { get; set; }
    public bool isChild { get; set; }
    public bool isClone { get; set; }
    public long parentProductReference { get; set; }
    public HashSet<childProduct> childProducts { get; set; }
    public Dictionary<string, string> criteria { get; set; }
    public HashSet<kitItem> kitContents { get; set; }
    public HashSet<xReference> xReferences { get; set; }
    public HashSet<supercession> supercedes { get; set; }
    public HashSet<supercession> supercededBy { get; set; }
    public HashSet<string> externalNodes { get; set; }
    public HashSet<string> externalURLs { get; set; }
    public long sortOrder { get; set; }
}
public class kitItem
{
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public long sortOrder { get; set; }
}
public class childProduct
{
    public string brand { get; set; }
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string relationship { get; set; }
    public long parentProductReference { get; set; }
}
public class xReference
{
    public string xRef { get; set; }
    public string company { get; set; }
    public string price { get; set; }
    public string info { get; set; }
    public string xRefSearch { get; set; }
    public string xRefType { get; set; }
}
public class supercession
{
    public long categoryReference { get; set; }
    public long productTypeReference { get; set; }
    public string oldPartNumber { get; set; }
    public long oldProductFileReference { get; set; }
    public string newPartNumber { get; set; }
    public long newProductFileReference { get; set; }
    public bool searchedOnOldPartNumber { get; set; }
}

Response Example

See Product Response Example


getProductsByPartNumbers

Method URL

/v2/product/getProductsByPartNumbers

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class productRequest
{
    public baseRequest baseRequest { get; set; }
    public List<productSearchRequest> searchProducts { get; set; }
}
public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}
public class productSearchRequest
{
    public string partNumber { get; set; } 
    public string sapArticleCode { get; set; }
    public string barcode { get; set; }
    public string brand { get; set; }
    public long productReference { get; set; }
    public string externalNode { get; set; }
    public string searchOption { get; set; } 
}

Body Fields

Field Optional Description
baseRequest.requestReference no You must provide a unique string identifier for this request
baseRequest.requestPostedTime no Enter the time of the request
baseRequest.system no "ecat" must be used to correctly filter allowable products
searchProducts no
- partNumber no either full part number or partial dependant upon your searchOption entry.
- sapArticleCode
- barcode
- brand yes optional exact brand name
- productReference
- externalNode yes Filter parts to an external node
- searchOption no one of "exact" or "startswith" or "contains"

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2019-05-29T09:54:05.515Z",
    "system": "ecat"
  },
  "searchProducts": [
    {
      "partNumber": "YBX5096",
      "sapArticleCode": "",
      "barcode": "",
      "brand": "",
      "productReference": 0,
      "externalNode": "",
      "searchOption": "exact"
    }
  ]
}

Response Structure

public class productResponse
{
    public baseResponse baseResponse { get; set; } 
    public HashSet<product> products { 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 product
{
    public long productReference { get; set; }
    public long categoryReference { get; set; }
    public string categoryName { get; set; }
    public long productTypeReference { get; set; }
    public string productTypeName { get; set; }
    public string partNumber { get; set; }
    public string externalReference { get; set; }
    public string barcode { get; set; }
    public string sku { get; set; }
    public string description { get; set; }
    public string status { get; set; }
    public Dictionary<string, bool> visibility { get; set; }
    public bool isKitOrAccessory { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public string brand { get; set; }
    public bool isParent { get; set; }
    public bool isChild { get; set; }
    public bool isClone { get; set; }
    public long parentProductReference { get; set; }
    public HashSet<childProduct> childProducts { get; set; }
    public Dictionary<string, string> criteria { get; set; }
    public HashSet<kitItem> kitContents { get; set; }
    public HashSet<xReference> xReferences { get; set; }
    public HashSet<supercession> supercedes { get; set; }
    public HashSet<supercession> supercededBy { get; set; }
    public HashSet<string> externalNodes { get; set; }
    public HashSet<string> externalURLs { get; set; }
    public long sortOrder { get; set; }
}
public class kitItem
{
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public long sortOrder { get; set; }
}
public class childProduct
{
    public string brand { get; set; }
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string relationship { get; set; }
    public long parentProductReference { get; set; }
}
public class xReference
{
    public string xRef { get; set; }
    public string company { get; set; }
    public string price { get; set; }
    public string info { get; set; }
    public string xRefSearch { get; set; }
    public string xRefType { get; set; }
}
public class supercession
{
    public long categoryReference { get; set; }
    public long productTypeReference { get; set; }
    public string oldPartNumber { get; set; }
    public long oldProductFileReference { get; set; }
    public string newPartNumber { get; set; }
    public long newProductFileReference { get; set; }
    public bool searchedOnOldPartNumber { get; set; }
}

Product Response Example

{
  "baseResponse": {
    "baseRequest": {
      "requestReference": 0,
      "requestPostedTime": "2019-05-29T09:54:05.515Z",
      "system": "ecat"
    },
    "responseTime": "00:00:02.3833145",
    "resultCode": 0,
    "resultText": "success"
  },
  "products": [
    {
      "productReference": 304,
      "categoryReference": 1,
      "categoryName": "Batteries",
      "productTypeReference": 7,
      "productTypeName": "YUAS",
      "partNumber": "YBX5096",
      "externalReference": null,
      "barcode": null,
      "sku": null,
      "description": "Yuasa Batteries",
      "status": "Yes",
      "visibility": {
        "automate": true,
        "ecat": true
      },
      "isKitOrAccessory": false,
      "kitOrAccessory": null,
      "quantity": 1,
      "brand": "Yuasa",
      "isParent": true,
      "isChild": false,
      "isClone": false,
      "parentProductReference": 0,
      "childProducts": [
        {
          "brand": "Yuasa",
          "productReference": 8000000000304,
          "partNumber": "HSB096",
          "relationship": "child",
          "parentProductReference": 304
        },
        {
          "brand": "Yuasa",
          "productReference": 8001000000304,
          "partNumber": "096 Lifetime",
          "relationship": "child",
          "parentProductReference": 304
        }
      ],
      "criteria": {
        "brand": "Yuasa",
        "length (mm)": "278",
        "handles": "Yes",
        "end-Venting": "Yes",
        "state of Charge indicator": "Yes",
        "width (mm)": "175",
        "height (mm)": "190",
        "rating - 20-Hour Capacity Ah": "80",
        "rating - CCA A (EN)": "760",
        "layout": "0",
        "terminal type": "T1",
        "base Hold Down": "B3",
        "mean Weight (with Acid)": "18.8",
        "voltage (V)": "12",
        "lid Type": "Block"
      },
      "kitContents": [],
      "xReferences": [],
      "supercedes": [],
      "supercededBy": [],
      "externalNodes": [],
      "externalURLs": [],
      "sortOrder": 6
    }
  ]
}


getProductsByBarcodes

Method URL

/v2/product/getProductsByBarcodes

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class productRequest
{
    public baseRequest baseRequest { get; set; }
    public List<productSearchRequest> searchProducts { get; set; }
}
public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}
public class productSearchRequest
{
    public string partNumber { get; set; } 
    public string sapArticleCode { get; set; }
    public string barcode { get; set; }
    public string brand { get; set; }
    public long productReference { get; set; }
    public string externalNode { get; set; }
    public string searchOption { get; set; } 
}

Body Fields

Field Optional Description
baseRequest.requestReference no You must provide a unique string identifier for this request
baseRequest.requestPostedTime no Enter the time of the request
baseRequest.system no "ecat" must be used to correctly filter allowable products
searchProducts no
- partNumber
- sapArticleCode
- barcode no the required barcode
- brand yes optional exact brand name
- productReference
- externalNode
- searchOption no one of "exact" or "startswith" or "contains"

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2019-05-29T09:57:20.795Z",
    "system": "ecat"
  },
  "searchProducts": [
    {
      "partNumber": "",
      "sapArticleCode": "",
      "barcode": "4047023479419",
      "brand": "",
      "productReference": 0,
      "externalNode": "",
      "searchOption": "exact"
    }
  ]
}

Response Structure

public class productResponse
{
    public baseResponse baseResponse { get; set; } 
    public HashSet<product> products { 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 product
{
    public long productReference { get; set; }
    public long categoryReference { get; set; }
    public string categoryName { get; set; }
    public long productTypeReference { get; set; }
    public string productTypeName { get; set; }
    public string partNumber { get; set; }
    public string externalReference { get; set; }
    public string barcode { get; set; }
    public string sku { get; set; }
    public string description { get; set; }
    public string status { get; set; }
    public Dictionary<string, bool> visibility { get; set; }
    public bool isKitOrAccessory { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public string brand { get; set; }
    public bool isParent { get; set; }
    public bool isChild { get; set; }
    public bool isClone { get; set; }
    public long parentProductReference { get; set; }
    public HashSet<childProduct> childProducts { get; set; }
    public Dictionary<string, string> criteria { get; set; }
    public HashSet<kitItem> kitContents { get; set; }
    public HashSet<xReference> xReferences { get; set; }
    public HashSet<supercession> supercedes { get; set; }
    public HashSet<supercession> supercededBy { get; set; }
    public HashSet<string> externalNodes { get; set; }
    public HashSet<string> externalURLs { get; set; }
    public long sortOrder { get; set; }
}
public class kitItem
{
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public long sortOrder { get; set; }
}
public class childProduct
{
    public string brand { get; set; }
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string relationship { get; set; }
    public long parentProductReference { get; set; }
}
public class xReference
{
    public string xRef { get; set; }
    public string company { get; set; }
    public string price { get; set; }
    public string info { get; set; }
    public string xRefSearch { get; set; }
    public string xRefType { get; set; }
}
public class supercession
{
    public long categoryReference { get; set; }
    public long productTypeReference { get; set; }
    public string oldPartNumber { get; set; }
    public long oldProductFileReference { get; set; }
    public string newPartNumber { get; set; }
    public long newProductFileReference { get; set; }
    public bool searchedOnOldPartNumber { get; set; }
}
###Response Example
``` json
{
  "baseResponse": {
    "baseRequest": {
      "requestReference": 0,
      "requestPostedTime": "2019-05-29T09:57:20.795Z",
      "system": "ecat"
    },
    "responseTime": "00:00:00.0636221",
    "resultCode": 0,
    "resultText": "success"
  },
  "products": [
    {
      "productReference": 8000000000247,
      "categoryReference": 1,
      "categoryName": "Batteries",
      "productTypeReference": 7,
      "productTypeName": "YUAS",
      "partNumber": "HSB012",
      "externalReference": "160815",
      "barcode": "4047023479419",
      "sku": null,
      "description": "Yuasa 12V Silver Car Battery HSB012 - 5 Yr Guarantee",
      "status": "Yes",
      "visibility": {
        "automate": true,
        "ecat": true
      },
      "isKitOrAccessory": false,
      "kitOrAccessory": null,
      "quantity": 1,
      "brand": "Yuasa",
      "isParent": false,
      "isChild": true,
      "isClone": true,
      "parentProductReference": 247,
      "childProducts": [],
      "criteria": {
        "sapArticleID": "160815",
        "sapGenericArticle": "missing",
        "sapPriceGBP": "72",
        "sapPriceEUR": "86",
        "sapStatus": "Current - Available",
        "pimBrand": "Yuasa",
        "sapVendor": "YUASA BATTERY SALES (UK) LIMITED",
        "sapArticleType": "ZSAL",
        "pimID": "1374748873084",
        "guarantee": "5 Year",
        "subGroup": "Silver"
      },
      "kitContents": [],
      "xReferences": [],
      "supercedes": [],
      "supercededBy": [],
      "externalNodes": [
        "212578",
        "PF100200302"
      ],
      "externalURLs": [
        "https://i1.adis.ws/i/washford/160815"
      ],
      "sortOrder": 6
    }
  ]
}

getProductsBySAPArticleReferences

Method URL

/v2/product/getProductsBySAPArticleReferences

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class productRequest
{
    public baseRequest baseRequest { get; set; }
    public List<productSearchRequest> searchProducts { get; set; }
}
public class baseRequest
{
    public long requestReference { get; set; }
    public DateTime requestPostedTime { get; set; }
    public string system { get; set; }
}
public class productSearchRequest
{
    public string partNumber { get; set; } 
    public string sapArticleCode { get; set; }
    public string barcode { get; set; }
    public string brand { get; set; }
    public long productReference { get; set; }
    public string externalNode { get; set; }
    public string searchOption { get; set; } 
}

Body Fields

Field Optional Description
baseRequest.requestReference no You must provide a unique string identifier for this request
baseRequest.requestPostedTime no Enter the time of the request
baseRequest.system no "ecat" must be used to correctly filter allowable products
searchProducts no
- partNumber
- sapArticleCode no The SAP Article Code
- barcode
- brand yes optional exact brand name
- productReference
- externalNode
- searchOption no one of "exact" or "startswith" or "contains"

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2019-05-29T09:05:51.433Z",
    "system": "ecat"
  },
  "searchProducts": [
    {
      "partNumber": "",
      "sapArticleCode": "161003",
      "barcode": "",
      "brand": "",
      "productReference": 0,
      "externalNode": "",
      "searchOption": "exact"
    }
  ]
}

Response Structure

public class productResponse
{
    public baseResponse baseResponse { get; set; } 
    public HashSet<product> products { 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 product
{
    public long productReference { get; set; }
    public long categoryReference { get; set; }
    public string categoryName { get; set; }
    public long productTypeReference { get; set; }
    public string productTypeName { get; set; }
    public string partNumber { get; set; }
    public string externalReference { get; set; }
    public string barcode { get; set; }
    public string sku { get; set; }
    public string description { get; set; }
    public string status { get; set; }
    public Dictionary<string, bool> visibility { get; set; }
    public bool isKitOrAccessory { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public string brand { get; set; }
    public bool isParent { get; set; }
    public bool isChild { get; set; }
    public bool isClone { get; set; }
    public long parentProductReference { get; set; }
    public HashSet<childProduct> childProducts { get; set; }
    public Dictionary<string, string> criteria { get; set; }
    public HashSet<kitItem> kitContents { get; set; }
    public HashSet<xReference> xReferences { get; set; }
    public HashSet<supercession> supercedes { get; set; }
    public HashSet<supercession> supercededBy { get; set; }
    public HashSet<string> externalNodes { get; set; }
    public HashSet<string> externalURLs { get; set; }
    public long sortOrder { get; set; }
}
public class kitItem
{
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public long sortOrder { get; set; }
}
public class childProduct
{
    public string brand { get; set; }
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string relationship { get; set; }
    public long parentProductReference { get; set; }
}
public class xReference
{
    public string xRef { get; set; }
    public string company { get; set; }
    public string price { get; set; }
    public string info { get; set; }
    public string xRefSearch { get; set; }
    public string xRefType { get; set; }
}
public class supercession
{
    public long categoryReference { get; set; }
    public long productTypeReference { get; set; }
    public string oldPartNumber { get; set; }
    public long oldProductFileReference { get; set; }
    public string newPartNumber { get; set; }
    public long newProductFileReference { get; set; }
    public bool searchedOnOldPartNumber { get; set; }
}

Response Example

{
  "baseResponse": {
    "baseRequest": {
      "requestReference": 0,
      "requestPostedTime": "2019-05-29T09:05:51.433Z",
      "system": "ecat"
    },
    "responseTime": "00:00:00.0475405",
    "resultCode": 0,
    "resultText": "success"
  },
  "products": [
    {
      "productReference": 8000000000256,
      "categoryReference": 1,
      "categoryName": "Batteries",
      "productTypeReference": 7,
      "productTypeName": "YUAS",
      "partNumber": "HSB096",
      "externalReference": "161003",
      "barcode": "4047023479617",
      "sku": null,
      "description": "Yuasa 12V Silver Car Battery HSB096 - 5 Yr Guarantee",
      "status": "Yes",
      "visibility": {
        "automate": true,
        "ecat": true
      },
      "isKitOrAccessory": false,
      "kitOrAccessory": null,
      "quantity": 1,
      "brand": "Yuasa",
      "isParent": false,
      "isChild": true,
      "isClone": true,
      "parentProductReference": 256,
      "childProducts": [],
      "criteria": {
        "sapArticleID": "161003",
        "sapGenericArticle": "missing",
        "sapPriceGBP": "115",
        "sapPriceEUR": "129",
        "sapStatus": "Current - Available",
        "pimBrand": "Yuasa",
        "sapVendor": "YUASA BATTERY SALES (UK) LIMITED",
        "sapArticleType": "ZSAL",
        "pimID": "1374748873056",
        "guarantee": "5 Year",
        "subGroup": "Silver"
      },
      "kitContents": [],
      "xReferences": [],
      "supercedes": [],
      "supercededBy": [],
      "externalNodes": [
        "212578",
        "PF100200302"
      ],
      "externalURLs": [
        "https://i1.adis.ws/i/washford/161003"
      ],
      "sortOrder": 6
    }
  ]
}


getProductsByExternalNode

Please note that this call could return a lot of data.

Method URL

/v2/product/getProductsByExternalNode

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class productNodeRequest
{
    public baseRequest baseRequest { get; set; }
    public string node { get; set; }
    public List<string> brands { 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
baseRequest.requestReference no You must provide a unique string identifier for this request
baseRequest.requestPostedTime no Enter the time of the request
baseRequest.system no "ecat" must be used to correctly filter allowable products
node no The external node to return products for
brands yes list of brands to filter the product list to

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2019-05-29T09:06:13.839Z",
    "system": "ecat"
  },
  "node": "165477",
  "brands": [
    "Saris"
  ]
}

Response Structure

public class productResponse
{
    public baseResponse baseResponse { get; set; } 
    public HashSet<product> products { 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 product
{
    public long productReference { get; set; }
    public long categoryReference { get; set; }
    public string categoryName { get; set; }
    public long productTypeReference { get; set; }
    public string productTypeName { get; set; }
    public string partNumber { get; set; }
    public string externalReference { get; set; }
    public string barcode { get; set; }
    public string sku { get; set; }
    public string description { get; set; }
    public string status { get; set; }
    public Dictionary<string, bool> visibility { get; set; }
    public bool isKitOrAccessory { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public string brand { get; set; }
    public bool isParent { get; set; }
    public bool isChild { get; set; }
    public bool isClone { get; set; }
    public long parentProductReference { get; set; }
    public HashSet<childProduct> childProducts { get; set; }
    public Dictionary<string, string> criteria { get; set; }
    public HashSet<kitItem> kitContents { get; set; }
    public HashSet<xReference> xReferences { get; set; }
    public HashSet<supercession> supercedes { get; set; }
    public HashSet<supercession> supercededBy { get; set; }
    public HashSet<string> externalNodes { get; set; }
    public HashSet<string> externalURLs { get; set; }
    public long sortOrder { get; set; }
}
public class kitItem
{
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string kitOrAccessory { get; set; }
    public long quantity { get; set; }
    public long sortOrder { get; set; }
}
public class childProduct
{
    public string brand { get; set; }
    public long productReference { get; set; }
    public string partNumber { get; set; }
    public string relationship { get; set; }
    public long parentProductReference { get; set; }
}
public class xReference
{
    public string xRef { get; set; }
    public string company { get; set; }
    public string price { get; set; }
    public string info { get; set; }
    public string xRefSearch { get; set; }
    public string xRefType { get; set; }
}
public class supercession
{
    public long categoryReference { get; set; }
    public long productTypeReference { get; set; }
    public string oldPartNumber { get; set; }
    public long oldProductFileReference { get; set; }
    public string newPartNumber { get; set; }
    public long newProductFileReference { get; set; }
    public bool searchedOnOldPartNumber { get; set; }
}

Response Example

{
  "baseResponse": {
    "baseRequest": {
      "requestReference": 0,
      "requestPostedTime": "2019-05-29T09:06:13.839Z",
      "system": "ecat"
    },
    "responseTime": "00:00:00.0484127",
    "resultCode": 0,
    "resultText": "success"
  },
  "products": [
    {
      "productReference": 481,
      "categoryReference": 3,
      "categoryName": "Cycle Carriers",
      "productTypeReference": 12,
      "productTypeName": "CCSA",
      "partNumber": "1051",
      "externalReference": "220348",
      "barcode": "12527002382",
      "sku": null,
      "description": "Sentinel (2 Bike)",
      "status": "Yes",
      "visibility": {
        "automate": true,
        "ecat": true
      },
      "isKitOrAccessory": false,
      "kitOrAccessory": null,
      "quantity": 1,
      "brand": "Saris",
      "isParent": false,
      "isChild": false,
      "isClone": false,
      "parentProductReference": 0,
      "childProducts": [],
      "criteria": {
        "brand": "Saris",
        "sap Article Number": "220348",
        "sapArticleID": "220348",
        "sapGenericArticle": "missing",
        "sapPriceGBP": "69.99",
        "sapPriceEUR": "83.9",
        "sapStatus": "Current - Available",
        "pimBrand": "Saris",
        "sapVendor": "PALIGAP LIMITED A/C NO 0012",
        "sapArticleType": "ZSAL",
        "sapDescription": "Saris Sentinel 2 Bike Rear Cycle Carrier",
        "pimID": "1374748917238",
        "pack": "SING",
        "pack Quantity": "1",
        "web Description": "SARIS: SENTINEL 2 BIKE"
      },
      "kitContents": [],
      "xReferences": [],
      "supercedes": [],
      "supercededBy": [],
      "externalNodes": [
        "165477"
      ],
      "externalURLs": [
        "https://i1.adis.ws/i/washford/220348"
      ],
      "sortOrder": 3
    },
    {
      "productReference": 482,
      "categoryReference": 3,
      "categoryName": "Cycle Carriers",
      "productTypeReference": 12,
      "productTypeName": "CCSA",
      "partNumber": "1052",
      "externalReference": "220355",
      "barcode": "12527002399",
      "sku": null,
      "description": "Sentinel (3 Bike)",
      "status": "Yes",
      "visibility": {
        "automate": true,
        "ecat": true
      },
      "isKitOrAccessory": false,
      "kitOrAccessory": null,
      "quantity": 1,
      "brand": "Saris",
      "isParent": false,
      "isChild": false,
      "isClone": false,
      "parentProductReference": 0,
      "childProducts": [],
      "criteria": {
        "brand": "Saris",
        "sap Article Number": "220355",
        "sapArticleID": "220355",
        "sapGenericArticle": "missing",
        "sapPriceGBP": "79.99",
        "sapPriceEUR": "95.8",
        "sapStatus": "Current - Available",
        "pimBrand": "Saris",
        "sapVendor": "RALEIGH UK LIMITED",
        "sapArticleType": "ZSAL",
        "sapDescription": "Saris Sentinel 3 Bike Rear Cycle Carrier",
        "pimID": "1374748924737",
        "pack": "SING",
        "pack Quantity": "1",
        "web Description": "SARIS: SENTINEL 3 BIKE"
      },
      "kitContents": [],
      "xReferences": [],
      "supercedes": [],
      "supercededBy": [],
      "externalNodes": [
        "165477"
      ],
      "externalURLs": [
        "https://i1.adis.ws/i/washford/220355"
      ],
      "sortOrder": 3
    },
    {
      "productReference": 484,
      "categoryReference": 3,
      "categoryName": "Cycle Carriers",
      "productTypeReference": 12,
      "productTypeName": "CCSA",
      "partNumber": "313B",
      "externalReference": "631444",
      "barcode": "12527009879",
      "sku": null,
      "description": "Bike Porter Trunk 3",
      "status": "Deleted from range",
      "visibility": {
        "automate": true,
        "ecat": true
      },
      "isKitOrAccessory": false,
      "kitOrAccessory": null,
      "quantity": 1,
      "brand": "Saris",
      "isParent": false,
      "isChild": false,
      "isClone": false,
      "parentProductReference": 0,
      "childProducts": [],
      "criteria": {
        "brand": "Saris",
        "sap Article Number": "631444",
        "sapArticleID": "631444",
        "sapGenericArticle": "missing",
        "sapPriceGBP": "127",
        "sapPriceEUR": "159",
        "sapStatus": "Obsolete",
        "pimBrand": "Saris",
        "sapVendor": "RALEIGH UK LIMITED",
        "sapArticleType": "ZSAL",
        "sapDescription": "Saris Bike Porter 3 Bike Rear Cycle Carrier",
        "pimID": "1376686884325",
        "pack": "SING",
        "pack Quantity": "1",
        "web Description": "SARIS: BIKE PORTER 313"
      },
      "kitContents": [],
      "xReferences": [],
      "supercedes": [],
      "supercededBy": [],
      "externalNodes": [
        "165477"
      ],
      "externalURLs": [
        "https://i1.adis.ws/i/washford/631444"
      ],
      "sortOrder": 3
    }
  ]
}


getProductExternalNodesByInternalEntityReference

Method URL

/v2/product/getProductExternalNodesByInternalEntityReference

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class productNodesByEntityRequest
{
    public baseRequest baseRequest { get; set; }
    public long internalEntityReference { get; set; }
    public List<string> brands { 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
baseRequest.requestReference no You must provide a unique string identifier for this request
baseRequest.requestPostedTime no Enter the time of the request
baseRequest.system no "ecat" must be used to correctly filter allowable products
internalEntityReference no The entity internal reference to find associated product external nodes for
brands yes list of brands to filter the product list to

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2019-05-29T09:06:31.515Z",
    "system": "ecat"
  },
  "internalEntityReference": 146450,
  "brands": [
    ""
  ]
}

Response Structure

public class productExternalNodeResponse
{
    public baseResponse baseResponse { get; set; } 
    public HashSet<string> externalNodes { 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; }
}

Response Example

{
  "baseResponse": {
    "baseRequest": {
      "requestReference": 0,
      "requestPostedTime": "2019-05-29T09:06:31.515Z",
      "system": "ecat"
    },
    "responseTime": "00:00:00.0082905",
    "resultCode": 0,
    "resultText": "success"
  },
  "externalNodes": [
    "165477",
    "165632",
    "255218",
    "255224",
    "165581",
    "165620",
    "212455",
    "PF100200301",
    "255220",
    "165618",
    "202001"
  ]
}


searchProducts

Method URL

/v2/product/searchProducts

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class searchRequest
{
    public baseRequest baseRequest { get; set; }       
    public string partNumber { get; set; }
    public string partDescription { get; set; }
    public string brandName { get; set; }
    public decimal priceGBPLower { get; set; }
    public decimal priceGBPUpper { get; set; }
    public decimal priceEURLower { get; set; }
    public decimal priceEURUpper { get; set; }
    public string vendor { get; set; }
    public string vendorReference { get; set; }
    public string sapID { get; set; }
    public string barcode { get; set; }
    public string externalNode { get; set; }
    public int skip { get; set; }
    public int take { 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
baseRequest.requestReference no You must provide a unique string identifier for this request
baseRequest.requestPostedTime no Enter the time of the request
baseRequest.system no "ecat" must be used to correctly filter allowable products
partNumber yes Part number to search for
partDescription yes Part description to search for
brandName yes Product brand name to search for
priceGBPLower yes
priceGBPUpper yes
priceEURLower yes
priceEURUpper yes
vendor yes The vendor name to search for
vendorReference yes The vendor reference to search for
sapID yes
barcode yes
externalNode yes The PIM leaf node to search for
skip no The number of returned records to skip over
take no The number of records to return

This method uses various Elasticsearch techniques to enable the following:

1. Case insensitive queries
2. Allows ordered phrases. e.g ‘CANE CREEK’ but not ‘CREEK CRANE’
3. Allows trailing wildcard (‘*')
4. Does ascii folding (accented characters converted to basic ascii set) for simpler queries
5. Allows sort on brandName and partNumber

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2019-06-19T12:49:53.467Z",
    "system": "ecat"
  },
  "partNumber": "",
  "partDescription": "bar",
  "brandName": "thule",
  "priceGBPLower": 0,
  "priceGBPUpper": 0,
  "priceEURLower": 0,
  "priceEURUpper": 0,
  "vendor": "",
  "vendorReference": "",
  "sapID": "",
  "barcode": "",
  "externalNode": "",
  "skip": 0,
  "take": 10
}

Response Structure

public class searchResponse
{
    public baseResponse baseResponse { get; set; } 
    public long total { get; set; }
    public int skipped { get; set; }
    public int took { get; set; }
    public List<searchItem> hits { get; set; }
}
public class searchItem
{
    public long internalPartReference { get; set; } 
    public string partNumber { get; set; } 
    public string brandName { get; set; } 
    public string partDescription { get; set; } 
    public List<string> partCriteria { get; set; } 
    public string vendor { get; set; } 
    public string vendorReference { get; set; } 
    public string vendorPartReference { get; set; } 
    public string vendorPartNumber { get; set; } 
    public string vendorBrandName { get; set; } 
    public string vendorPartDescription { get; set; } 
    public string externalPartReference { get; set; } 
    public string externalPartNumber { get; set; } 
    public string externalPartBrand { get; set; } 
    public string externalPartDescription { get; set; } 
    public string barcode { get; set; } 
    public string groupIdentifierLevel1 { get; set; } ;
    public string groupIdentifierLevel2 { get; set; } 
    public double priceGBP { get; set; } 
    public double priceEUR { 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; }
}

Response Example

{
  "baseResponse": {
    "baseRequest": {
      "requestReference": 0,
      "requestPostedTime": "2019-06-19T12:49:53.467Z",
      "system": "string"
    },
    "responseTime": "00:00:00",
    "resultCode": 0,
    "resultText": null
  },
  "total": 23,
  "skipped": 0,
  "took": 10,
  "hits": [
    {
      "internalPartReference": 69146,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule Slide Bar 892",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "286273",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule Slide Bar 892",
      "barcode": "7313020009650",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 250,
      "priceEUR": 300
    },
    {
      "internalPartReference": 69147,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule Slide Bar 893",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "286281",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule Slide Bar 893",
      "barcode": "7313020009667",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 285,
      "priceEUR": 342
    },
    {
      "internalPartReference": 69145,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule Slide Bar 891",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "286265",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule Slide Bar 891",
      "barcode": "7313020009643",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 230,
      "priceEUR": 276
    },
    {
      "internalPartReference": 69171,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule ProBar 3921 Roof Bar, 1-pack",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "729420",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule ProBar 3921 Roof Bar, 1-pack",
      "barcode": "missing",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 80,
      "priceEUR": 96
    },
    {
      "internalPartReference": 69149,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule ProBar 391 Roof Bar, 2-pack",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "729396",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule ProBar 391 Roof Bar, 2-pack",
      "barcode": "missing",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 140,
      "priceEUR": 168
    },
    {
      "internalPartReference": 69151,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule ProBar 393 Roof Bar, 2-pack",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "729446",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule ProBar 393 Roof Bar, 2-pack",
      "barcode": "missing",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 175,
      "priceEUR": 210
    },
    {
      "internalPartReference": 69159,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule Roof Bar 765 (Pack of 2)",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "436659",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule Roof Bar 765 (Pack of 2)",
      "barcode": "7313021016336",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 85,
      "priceEUR": 102
    },
    {
      "internalPartReference": 68251,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule Roof Bar 763 (Pack of 2)",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "151084",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule Roof Bar 763 (Pack of 2)",
      "barcode": "5015025151083",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 44,
      "priceEUR": 52.8
    },
    {
      "internalPartReference": 69135,
      "partNumber": "961",
      "brandName": "Thule",
      "partDescription": "Thule Wing Bar 961 (Pack of 2)",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "304920",
      "externalPartNumber": "961",
      "externalPartBrand": "",
      "externalPartDescription": "Thule Wing Bar 961 (Pack of 2)",
      "barcode": "7313020055619",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 83,
      "priceEUR": 99
    },
    {
      "internalPartReference": 69148,
      "partNumber": "",
      "brandName": "Thule",
      "partDescription": "Thule ProBar 390 Roof Bar, 2-pack",
      "partCriteria": [],
      "vendor": "THULE OUTDOOR LTD",
      "vendorReference": "T8276U",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "729263",
      "externalPartNumber": "",
      "externalPartBrand": "",
      "externalPartDescription": "Thule ProBar 390 Roof Bar, 2-pack",
      "barcode": "missing",
      "groupIdentifierLevel1": "Roof Bars",
      "groupIdentifierLevel2": "Thule Roof Bars",
      "priceGBP": 140,
      "priceEUR": 168
    }
  ]
}


searchProductsWild

Method URL

/v2/product/searchProductsWild

Type

POST

Consumes

application/json

Produces

application/json

Body Structure

public class searchRequest
{
    public baseRequest baseRequest { get; set; }       
    public string query { get; set; }
    public int skip { get; set; }
    public int take { 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
baseRequest.requestReference no You must provide a unique string identifier for this request
baseRequest.requestPostedTime no Enter the time of the request
baseRequest.system no "ecat" must be used to correctly filter allowable products
query no The query term to search for in the partNumber and partDescription fields
skip no The number of returned records to skip over
take no The number of records to return

Body Example

{
  "baseRequest": {
    "requestReference": 0,
    "requestPostedTime": "2019-06-20T15:25:59.250Z",
    "system": "ecat"
  },
  "query": "motor* 6v bulb",
  "skip": 0,
  "take": 10
}

Response Structure

public class searchResponse
{
    public baseResponse baseResponse { get; set; } 
    public long total { get; set; }
    public int skipped { get; set; }
    public int took { get; set; }
    public List<searchItem> hits { get; set; }
}
public class searchItem
{
    public long internalPartReference { get; set; } 
    public string partNumber { get; set; } 
    public string brandName { get; set; } 
    public string partDescription { get; set; } 
    public List<string> partCriteria { get; set; } 
    public string vendor { get; set; } 
    public string vendorReference { get; set; } 
    public string vendorPartReference { get; set; } 
    public string vendorPartNumber { get; set; } 
    public string vendorBrandName { get; set; } 
    public string vendorPartDescription { get; set; } 
    public string externalPartReference { get; set; } 
    public string externalPartNumber { get; set; } 
    public string externalPartBrand { get; set; } 
    public string externalPartDescription { get; set; } 
    public string barcode { get; set; } 
    public string groupIdentifierLevel1 { get; set; } ;
    public string groupIdentifierLevel2 { get; set; } 
    public double priceGBP { get; set; } 
    public double priceEUR { 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; }
}

Response Example

{
  "baseResponse": {
    "baseRequest": {
      "requestReference": 0,
      "requestPostedTime": "2019-06-20T15:25:59.25Z",
      "system": "ecat"
    },
    "responseTime": "00:00:00",
    "resultCode": 0,
    "resultText": null
  },
  "total": 5,
  "skipped": 0,
  "took": 5,
  "hits": [
    {
      "internalPartReference": 1110,
      "partNumber": "HMB293",
      "brandName": "Halfords",
      "partDescription": "Halfords Bike it Motorcycle Bulb HMB293 6v 4w",
      "partCriteria": [],
      "vendor": "RING AUTOMOTIVE LTD",
      "vendorReference": "R0602V",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "551366",
      "externalPartNumber": "HMB293",
      "externalPartBrand": "",
      "externalPartDescription": "Halfords Bike it Motorcycle Bulb HMB293 6v 4w",
      "barcode": "5015025551364",
      "groupIdentifierLevel1": "Bulbs",
      "groupIdentifierLevel2": "BLBMC",
      "priceGBP": 1.99,
      "priceEUR": 2.99
    },
    {
      "internalPartReference": 1117,
      "partNumber": "HMB393",
      "brandName": "Halfords",
      "partDescription": "Halfords Bike it Motorcycle Bulb HMB393 6v 35/35w",
      "partCriteria": [],
      "vendor": "RING AUTOMOTIVE LTD",
      "vendorReference": "R0602V",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "550848",
      "externalPartNumber": "HMB393",
      "externalPartBrand": "",
      "externalPartDescription": "Halfords Bike it Motorcycle Bulb HMB393 6v 35/35w",
      "barcode": "5015025550848",
      "groupIdentifierLevel1": "Bulbs",
      "groupIdentifierLevel2": "BLBMC",
      "priceGBP": 4.49,
      "priceEUR": 6.49
    },
    {
      "internalPartReference": 1116,
      "partNumber": "HMB392",
      "brandName": "Halfords",
      "partDescription": "Halfords Bike it Motorcycle Bulb HMB392 6v 25/25w",
      "partCriteria": [],
      "vendor": "RING AUTOMOTIVE LTD",
      "vendorReference": "R0602V",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "550822",
      "externalPartNumber": "HMB392",
      "externalPartBrand": "",
      "externalPartDescription": "Halfords Bike it Motorcycle Bulb HMB392 6v 25/25w",
      "barcode": "5015025550824",
      "groupIdentifierLevel1": "Bulbs",
      "groupIdentifierLevel2": "BLBMC",
      "priceGBP": 4.49,
      "priceEUR": 6.49
    },
    {
      "internalPartReference": 1112,
      "partNumber": "HMB3625",
      "brandName": "Halfords",
      "partDescription": "Halfords Bike it Motorcycle Bulb HMB3625 6v 25/25w",
      "partCriteria": [],
      "vendor": "RING AUTOMOTIVE LTD",
      "vendorReference": "R0602V",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "551093",
      "externalPartNumber": "HMB3625",
      "externalPartBrand": "",
      "externalPartDescription": "Halfords Bike it Motorcycle Bulb HMB3625 6v 25/25w",
      "barcode": "5015025551098",
      "groupIdentifierLevel1": "Bulbs",
      "groupIdentifierLevel2": "BLBMC",
      "priceGBP": 3.49,
      "priceEUR": 5.49
    },
    {
      "internalPartReference": 1115,
      "partNumber": "HMB384",
      "brandName": "Halfords",
      "partDescription": "Halfords Bike it Motorcycle Bulb HMB384 6v 21/5w",
      "partCriteria": [],
      "vendor": "RING AUTOMOTIVE LTD",
      "vendorReference": "R0602V",
      "vendorPartReference": "",
      "vendorPartNumber": "",
      "vendorBrandName": "",
      "vendorPartDescription": "",
      "externalPartReference": "551358",
      "externalPartNumber": "HMB384",
      "externalPartBrand": "",
      "externalPartDescription": "Halfords Bike it Motorcycle Bulb HMB384 6v 21/5w",
      "barcode": "5015025551357",
      "groupIdentifierLevel1": "Bulbs",
      "groupIdentifierLevel2": "BLBMC",
      "priceGBP": 1.99,
      "priceEUR": 2.99
    }
  ]
}