Product Services¶
Overview¶
Product services is used to get data from Xchecker related to Products.
-
v1/product/getproductcategories
This method returns a list of product categories configured in Xchecker. Product Categories are the highest level of organisation of parts in Xchecker.
-
v1/product/getproducttypesbycategory
This method returns a list of productTypes (shortcodes in Xchecker) for a given category name. It can optionally include all criteria available per productType. Product Types are the second level of organisation of parts in Xchecker and each Product Type can only belong to one Category.
-
v1/product/getproducttypesbycategoryreference
This method returns a list of productTypes (shortcodes in Xchecker) for a given category reference. It can optionally include all criteria available per productType. Product Types are the second level of organisation of parts in Xchecker and each Product Type can only belong to one Category.
-
v1/product/getproducttypesbyinternalentityreference
This method returns a list of productTypes (shortcodes in Xchecker) that the given entity/vehicle has applicated to it. This can be used to show a list of available productTypes for a selected entity/vehicle.
-
v3/product/getproducttypesbyinternalentityreference
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
This version uses advanced search functionality instead of SQL.
-
v4/product/getproducttypesbyinternalentityreference
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
This version uses advanced search functionality instead of SQL. Includes Applicated count - only returns applicated product types.
-
v5/product/getproducttypesbyinternalentityreference
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
This version uses advanced search functionality instead of SQL. Includes Applicated count - returns applicated and non-applicated product types.
-
v1/product/getexpandedproducttypesbyinternalentityreference
This method returns a list of productTypes (Xchecker shortcodes) that the given entity/vehicle has applicated to it. This can be used to show a list of available productTypes and brands for a selected entity/vehicle. This method is expanded to return the brands and filtered criteria found on the Product Types
-
This method returns a list of brands configured in Xchecker.
-
v2/product/getproductassignedbrands
This method returns a list of brands configured and applicated in Xchecker.
-
v1/product/getproductsbypartnumbers
This method returns the full product details for a given list of part numbers.
-
v2/product/getproductsbypartnumbers
This method returns the full product details for a given list of part numbers. It includes several search options (exact, startswith, contains).
The v2 includes parentProductReference
-
v3/product/getproductsbypartnumbers
This method returns the full product details for a given list of part numbers. It includes several search options (exact, startswith, contains).
The v3 includes criteria and tags
-
v1/product/getproductsbyproductreferences
This method returns the full product details for a given list of product references.
-
v3/product/getproductsbyproductreferences
This method returns the full product details for a given list of product references.
The v3 includes criteria and tags
-
v1/product/getproductsbybarcodes
This method returns the full product details for a given list of barcodes. It includes several search options. Barcodes must be configured in Xchecker.
-
v1/product/getproductsbyexternalreferences
This method returns the full product details for a given list of external references. It includes several search options. External references must be configured in your Xchecker.
-
This method returns the full product details for a given list of SKU's. It includes several search options. SKU's must be configured in your Xchecker.
-
v1/product/getproductsbycrossreference
This method returns the full product details for a given list of cross references's. It includes several search options.
-
v2/product/getproductsbycrossreference
Under construction
-
v1/product/getproductsbyadvancedsearch
This method is similar to the other product search methods but allows for filtering by entity/vehicle and criteria values.
-
v1/product/getproductkitcontents
This method returns all products contained within a kit.
-
v1/product/getabbreviatedproductsbyproducttype
Returns an abbreviated list of products by product types. This can return a lot of data so should be used carefully. It is suggested that you cache the response of this call and not repeatedly call it. It is expected that this is used in specialised screens in Product Finder type of applications.
-
v1/product/getabbreviatedproductsbyproducttypereference
Returns an abbreviated list of products by product type references. This can return a lot of data so should be used carefully. It is suggested that you cache the response of this call and not repeatedly call it. It is expected that this is used in specialised screens in Product Finder type of applications.
-
v1/product/getproductsbyinternalentityreference
This method returns all products fitted to a entity/vehicle. It can be filtered to Product Types.
-
v3/product/getproductsbyinternalentityreference
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
This method returns all products fitted to a entity/vehicle. It can be filtered to Product Types.
The v3 includes criteria and tags
-
v4/product/getproductsbyinternalentityreference
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
Same as v3 except includes applicatedCount
-
/v2/product/getproducttypecriteriavalues
Under construction
-
/v2/product/getproductsbyproductcriteria
Under construction
-
v1/product/searchproductsfiltered
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
This method is an advanced search function that utilises some of the more complex features of ElasticSearch. It allows multiple product search terms as well as a single find-all term. It can also filter the results for many of the product attributes. The single search term can be configured to allow for fuzzy searches as well as synonyms and word root searches.
-
v2/product/searchproductsfiltered
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
This updated method allows for the search to be additionally filtered by internal entity reference
-
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
Under construction
-
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
Under construction
-
v1/product/searchproductsdescription
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
Under construction
-
v1/product/searchproductssummary
This method requires advanced search to be configured. Please contact your local Elcome representative for more details.
Under construction
getProductCategories¶
Method URL¶
/v1/product/getproductcategories
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 |
---|---|---|
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 |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
}
}
Response Structure¶
public class productCategoryResponse
{
public baseResponse baseResponse { get; set; }
public HashSet<productCategory> categories { 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 productCategory
{
public long categoryReference { get; set; }
public string categoryName { get; set; }
}
getProductTypesByCategory¶
Method URL¶
/v1/product/getproducttypesbycategory
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
public class productTypeRequest
{
public baseRequest baseRequest { get; set; }
public string productCategory { get; set; }
public long productCategoryReference { get; set; }
public bool includeAvailableCriteria { 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 |
productCategory | no | The product category name you want ProductTypes for |
productCategoryReference | yes | not required for this method |
includeAvailableCriteria | no | Set to "true" if you want available criteria returned with this call. Please note that including all used criteria significantly slows down the call. |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"productCategory":"Radiators",
"productCategoryReference": 0,
"includeAvailableCriteria": "true"
}
Response Structure¶
public class productTypesResponse
{
public baseResponse baseResponse { get; set; }
public List<productType> productTypes { 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 productType
{
public long categoryReference { get; set; }
public string categoryName { get; set; }
public long productTypeReference { get; set; }
public string productTypeName { get; set; }
public string productTypeDescription { get; set; }
public string externalProductTypeReference { get; set; }
public string externalProductTypeName { get; set; }
public long sortOrder { get; set; }
public List<criteria> criteria { get; set; }
}
public class criteria
{
public string type { get; set; }
public long criteriaReference { get; set; }
public long groupReference { get; set; }
public string groupName { get; set; }
public string name { get; set; }
public string externalName { get; set; }
public string valueType { get; set; }
public string value { get; set; }
public string reference { get; set; }
}
getProductTypesByCategoryReference¶
Method URL¶
/v1/product/getproducttypesbycategoryreference
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
public class productTypeRequest
{
public baseRequest baseRequest { get; set; }
public string productCategory { get; set; }
public long productCategoryReference { get; set; }
public bool includeAvailableCriteria { 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 |
productCategory | yes | not required for this method |
productCategoryReference | yes | The product category Reference you want ProductTypes for |
includeAvailableCriteria | no | Set to "true" if you want available criteria returned with this call. Please note that including all used criteria significantly slows down the call. |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"productCategory":"",
"productCategoryReference": 20,
"includeAvailableCriteria": "false"
}
Response Structure¶
public class productTypesResponse
{
public baseResponse baseResponse { get; set; }
public List<productType> productTypes { 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 productType
{
public long categoryReference { get; set; }
public string categoryName { get; set; }
public long productTypeReference { get; set; }
public string productTypeName { get; set; }
public string productTypeDescription { get; set; }
public string externalProductTypeReference { get; set; }
public string externalProductTypeName { get; set; }
public long sortOrder { get; set; }
public List<criteria> criteria { get; set; }
}
public class criteria
{
public string type { get; set; }
public long criteriaReference { get; set; }
public long groupReference { get; set; }
public string groupName { get; set; }
public string name { get; set; }
public string externalName { get; set; }
public string valueType { get; set; }
public string value { get; set; }
public string reference { get; set; }
}
getProductTypesByInternalEntityReference¶
Method URL¶
/v1/product/getproducttypesbyinternalentityreference
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
public class productTypesByInternalVehicleReferenceRequest
{
public baseRequest baseRequest { get; set; }
public int indexReference { get; set; }
public long internalVehicleReference { get; set; }
public long productTypeReference { get; set; }
public bool includeAvailableCriteria { 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 |
internalVehicleReference | no | The internal vehicle reference you want product types for |
productTypeReference | no | not used |
includeAvailableCriteria | no | Set to "true" if you want available criteria returned with this call. Please note that this significantly slows the call. |
Body Example (get all ProductTypes for all products that are applicated to this vehicle)¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"indexReference": 1,
"internalVehicleReference": 8779,
"includeAvailableCriteria": false
}
Response Structure¶
public class productTypesResponse
{
public baseResponse baseResponse { get; set; }
public List<productType> productTypes { 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 productType
{
public long categoryReference { get; set; }
public string categoryName { get; set; }
public long productTypeReference { get; set; }
public string productTypeName { get; set; }
public string productTypeDescription { get; set; }
public string externalProductTypeReference { get; set; }
public string externalProductTypeName { get; set; }
public long sortOrder { get; set; }
public List<criteria> criteria { get; set; }
}
public class criteria
{
public string type { get; set; }
public long criteriaReference { get; set; }
public long groupReference { get; set; }
public string groupName { get; set; }
public string name { get; set; }
public string externalName { get; set; }
public string valueType { get; set; }
public string value { get; set; }
public string reference { get; set; }
}
getExpandedProductTypesByInternalEntityReference¶
Method URL¶
/v1/product/getexpandedproducttypesbyinternalentityreference
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
public class productTypesExpandedByInternalVehicleReferenceRequest
{
public baseRequest baseRequest { get; set; }
public int indexReference { get; set; }
public long internalVehicleReference { get; set; }
public long productTypeReference { get; set; }
public bool includeAvailableCriteria { get; set; }
public string criteriaNameFilter { 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 |
internalVehicleReference | no | The internal vehicle reference you want product types for |
productTypeReference | no | not used |
includeAvailableCriteria | no | Set to "true" if you want available criteria returned with this call. Please note that this significantly slows the call. |
criteriaNameFilter | no | Text to filter the returned criteria by method Contains. |
Body Example¶
{
"baseRequest": {
"requestReference": 0,
"requestPostedTime": "2018-11-21T13:29:06.131Z",
"system": "ecat"
},
"indexReference": 1,
"internalVehicleReference": 123456,
"productTypeReference": 0,
"includeAvailableCriteria": true,
"criteriaNameFilter": "fitting"
}
Response Structure¶
public class productTypeExpandedResponse
{
public baseResponse baseResponse { get; set; } = new baseResponse();
public HashSet<productTypeExpanded> productTypes { get; set; } = new HashSet<productTypeExpanded>();
}
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 productTypeExpanded
{
public long categoryReference { get; set; }
public string categoryName { get; set; }
public long productTypeReference { get; set; }
public string productTypeName { get; set; }
public string productTypeDescription { get; set; }
public string externalProductTypeReference { get; set; }
public string externalProductTypeName { get; set; }
public long sortOrder { get; set; }
public List<productBrand> brand { get; set; } = new List<productBrand>();
public List<criteria> productCriteria { get; set; } = new List<criteria>();
public List<criteria> applicationCriteria { get; set; } = new List<criteria>();
}
public class productBrand
{
public long brandReference { get; set; }
public string brandName { get; set; }
public bool isMasterBrand { get; set; }
public string systemName { get; set; }
}
public class criteria
{
public string type { get; set; }
public long criteriaReference { get; set; }
public long groupReference { get; set; }
public string groupName { get; set; }
public string name { get; set; }
public string externalName { get; set; }
public string valueType { get; set; }
public string value { get; set; }
public string reference { get; set; }
}
getProductBrands¶
Method URL¶
/v1/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; }
}
getProductAssignedBrands¶
Method URL¶
/v2/product/getproductassignedbrands
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; }
}
getProductsByPartNumbers¶
Method URL¶
/v1/product/getproductsbypartnumbers
/v2/product/getproductsbypartnumbers
/v3/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 bool includeChildren { get; set; }
public bool includeCrossReferences { get; set; }
public bool includeSupercessions { 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 barcode { get; set; }
public string externalReference { get; set; }
public string sku { get; set; }
public string brand { get; set; }
public string crossReference { get; set; }
public long productReference { get; set; }
public long productTypeReference { get; set; }
public string searchOption { 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 |
searchProducts | no | |
- partNumber no either full part number or partial dependant upon your searchOption entry. | ||
- barcode | ||
- externalReference | ||
- sku | ||
- brand yes optional exact brand name | ||
- productReference | ||
- productTypeReference yes optional productTypeReference | ||
- searchOption no one of "exact" or "startswith" or "contains" |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"searchProducts":[{
"partNumber": "CONDENSER1",
“barcode”:””,
"externalReference":"",
"sku":"",
"brand": "",
"productReference": 0,
"productTypeReference": 14,
"searchOption": "startswith"
},
{
"partNumber": "FILTER1",
“barcode”:””,
"externalReference":"",
"sku":"",
"brand": "",
"productReference": 0,
"productTypeReference": 56,
"searchOption": "exact"
}]
}
Response Structure¶
public class productResponse
{
public baseResponse baseResponse { get; set; }
public HashSet<product or productV2 or productV3> 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 long sortOrder { get; set; }
}
If called using v2:
public class productV2 : product
{
public List<long>? parentProductReference { get; set; }
}
If called using v3:
public class productV3 : productV2
{
public List<CriteriaV3>? criteria { get; set; }
public List<Tag>? tags { 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 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 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; }
}
public class criteria
{
public string? type { get; set; }
public long criteriaReference { get; set; }
public long groupReference { get; set; }
public string? groupName { get; set; }
public string? name { get; set; }
public string? externalName { get; set; }
public string? valueType { get; set; }
public string? value { get; set; }
public string? reference { get; set; }
}
public class CriteriaV3 : criteria
{
public List<CriteriaFlags>? criteriaFlags { get; set; }
}
getProductsByProductReferences¶
Method URL¶
/v1/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 bool includeChildren { get; set; }
public bool includeCrossReferences { get; set; }
public bool includeSupercessions { 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 barcode { get; set; }
public string externalReference { get; set; }
public string sku { get; set; }
public string brand { get; set; }
public string crossReference { get; set; }
public long productReference { get; set; }
public long productTypeReference { get; set; }
public string searchOption { 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 |
searchProducts | ||
- partNumber | not used | |
- barcode | not used | |
- externalReference | not used | |
- sku | not used | |
- brand | not used | |
- productReference | no | The internal product reference |
- productTypeReference | not used - set to 0 | |
- searchOption | not used |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"searchProducts":[{
"partNumber": "",
"barcode":"",
"externalReference":"",
"sku":"",
"brand": "",
"productReference": 45833,
"productTypeReference": 0,
"searchOption": ""
},
{
"partNumber": "",
"barcode":"",
"externalReference":"",
"sku":"",
"brand": "",
"productReference": 45835,
"productTypeReference": 0,
"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 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 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 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; }
}
getProductsByBarcodes¶
Method URL¶
/v1/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 bool includeChildren { get; set; }
public bool includeCrossReferences { get; set; }
public bool includeSupercessions { 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 barcode { get; set; }
public string externalReference { get; set; }
public string sku { get; set; }
public string brand { get; set; }
public string crossReference { get; set; }
public long productReference { get; set; }
public long productTypeReference { get; set; }
public string searchOption { 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 |
searchProducts | no | |
- partNumber | ||
- barcode no The required barcode, partial or full dependant upon searchOption | ||
- externalReference | ||
- sku | ||
- brand | yes | optional exact brand name |
- productReference | ||
- productTypeReference | yes | optional productType reference |
- searchOption | no | one of "exact" or "startswith" or "contains" |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"searchProducts":[{
"partNumber": "",
“barcode”:”123456789”,
"externalReference":"",
"sku":"",
"brand": "",
"productReference": 0,
"productTypeReference": 0,
"searchOption": "exact"
},
{
"partNumber": "",
“barcode”:987654321””,
"externalReference":"",
"sku":"",
"brand": "",
"productReference": 0,
"productTypeReference": 0,
"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 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 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 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; }
}
getProductsByExternalReferences¶
Method URL¶
/v1/product/getproductsbyexternalreferences
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 bool includeChildren { get; set; }
public bool includeCrossReferences { get; set; }
public bool includeSupercessions { 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 barcode { get; set; }
public string externalReference { get; set; }
public string sku { get; set; }
public string brand { get; set; }
public string crossReference { get; set; }
public long productReference { get; set; }
public long productTypeReference { get; set; }
public string searchOption { 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 |
searchProducts | no | |
- partNumber | ||
- barcode | ||
- externalReference | no | The external reference of the product (such as SAPID) |
- sku | ||
- brand | yes | optional exact brand name |
- productReference | ||
- productTypeReference | yes | optional productType reference |
- searchOption | no | one of "exact" or "startswith" or "contains" |
Body Example¶
`` json { "baseRequest":{ "requestReference":123456, "requestPostedTime":"2012-04-23T18:25:43.511Z", "system":"ecat" }, "searchProducts":[{ "partNumber": "", “barcode”:””, "externalReference":"12345", "sku":"", "brand": "", "productReference": 0, "productTypeReference": 0, "searchOption": "exact" }, { "partNumber": "", “barcode”:987654321””, "externalReference":"12346", "sku":"", "brand": "", "productReference": 0, "productTypeReference": 0, "searchOption": "exact" }] }
###Response Structure
``` c#
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 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 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 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; }
}
getProductsBySKU¶
Method URL¶
/v1/product/getproductsbysku
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 bool includeChildren { get; set; }
public bool includeCrossReferences { get; set; }
public bool includeSupercessions { 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 barcode { get; set; }
public string externalReference { get; set; }
public string sku { get; set; }
public string brand { get; set; }
public string crossReference { get; set; }
public long productReference { get; set; }
public long productTypeReference { get; set; }
public string searchOption { 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 |
searchProducts | no | |
- partNumber | ||
- barcode | ||
- externalReference | ||
- sku | no | the SKU of the required product |
- brand | yes | optional exact brand name |
- productReference | ||
- productTypeReference | yes | optional productType reference |
- searchOption | no | one of "exact" or "startswith" or "contains" |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"searchProducts":[{
"partNumber": "",
“barcode”:””,
"externalReference":"",
"sku":"abc123",
"brand": "",
"productReference": 0,
"productTypeReference": 0,
"searchOption": "exact"
},
{
"partNumber": "",
“barcode”:””,
"externalReference":"",
"sku":"abc124",
"brand": "",
"productReference": 0,
"productTypeReference": 0,
"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 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 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 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; }
}
getProductsByCrossReference¶
Method URL¶
/v1/product/getproductsbycrossreference
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 bool includeChildren { get; set; }
public bool includeCrossReferences { get; set; }
public bool includeSupercessions { 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 barcode { get; set; }
public string externalReference { get; set; }
public string sku { get; set; }
public string brand { get; set; }
public long productReference { get; set; }
public long productTypeReference { get; set; }
public string searchOption { 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 |
searchProducts | no | |
- partNumber | ||
- barcode | ||
- externalReference | ||
- sku | no | the SKU of the required product |
- brand | yes | optional exact brand name |
- productReference | ||
- productTypeReference | yes | optional productType reference |
- searchOption | no | one of "exact" or "startswith" or "contains" |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"searchProducts":[{
"partNumber": "",
“barcode”:””,
"externalReference":"",
"sku":"abc123",
"brand": "",
"productReference": 0,
"productTypeReference": 0,
"searchOption": "exact"
},
{
"partNumber": "",
“barcode”:””,
"externalReference":"",
"sku":"abc124",
"brand": "",
"productReference": 0,
"productTypeReference": 0,
"searchOption": "exact"
}]
}
Response Structure¶
productResponse
Response Example¶
See getProductsByPartNumbers
getProductsByAdvancedSearch¶
Method URL¶
/v1/product/getproductsbyadvancedsearch
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
productAdvancedSearchRequest
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 |
productAdvancedSearchRequest | no | |
- partNumber | yes | either full part number or partial dependant upon your searchOption entry. |
- barcode | yes | The required barcode, partial or full dependant upon searchOption |
- brand | yes | optional full brand name or empty string |
- searchOption | no | one of "exact" or "startswith" or "contains" |
- criteriaMatch | yes | list of criteria names and values to match to |
- productTypeReference | yes | optional product type reference |
- system | no | must be "ecat" |
Body Example¶
TBA
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 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 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 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; }
}
getProductKitContents¶
Method URL¶
/v1/product/getProductKitContents
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 bool includeChildren { get; set; }
public bool includeCrossReferences { get; set; }
public bool includeSupercessions { 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 barcode { get; set; }
public string externalReference { get; set; }
public string sku { get; set; }
public string brand { get; set; }
public long productReference { get; set; }
public long productTypeReference { get; set; }
public string searchOption { 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 |
searchProducts | no | |
- partNumber | ||
- barcode | ||
- externalReference | ||
- sku | ||
- brand | ||
- productReference | no | the productReference of the kit |
- productTypeReference | ||
- searchOption | no | one of "exact" or "startswith" or "contains" |
Body Example¶
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"searchProducts":[{
"partNumber": "",
"barcode":"",
"externalReference":"",
"sku":"",
"brand": "",
"productReference": 123456,
"productTypeReference": 0,
"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 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 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 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; }
}
getAbbreviatedProductsByProductType¶
Method URL¶
/v1/product/getabbreviatedproductsbyproducttype
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
productRequestByProductType
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 |
productType | no | full product type |
productTypeReference | ||
brands | yes | optional full brand name or empty string |
Body Example
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"productType": "RAEC",
"productTypeReference": 0,
"brands": ["MyBrand"]
}
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 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 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 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; }
}
getAbbreviatedProductsByProductTypeReference¶
Method URL¶
/v1/product/getabbreviatedproductsbyproducttypereference
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
productRequestByProductType
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 |
productType | ||
productTypeReference | no | product type reference |
brands | yes | optional full brand name or empty string |
Body Example
{
"baseRequest":{
"requestReference":123456,
"requestPostedTime":"2012-04-23T18:25:43.511Z",
"system":"ecat"
},
"productType": "",
"productTypeReference": 9,
"brands": ["MyBrand"]
}
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 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 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 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¶
getProductsByInternalEntityReference¶
Method URL¶
/v1/product/getproductsbyinternalentityreference
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
public class productTypesByInternalVehicleReferenceRequest
{
public baseRequest baseRequest { get; set; }
public int indexReference { get; set; }
public long internalVehicleReference { get; set; }
public long productTypeReference { get; set; }
public bool includeAvailableCriteria { 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 |
indexReference | no | The reference to the entity/vehicle index to use |
internalVehicleReference | no | The internal entity reference |
productTypeReference | yes | The Product Types to return. '0' for all |
includeAvailableCriteria | no | Whether to return all criteria for the products |
Body Example¶
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 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 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 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; }
}
searchproductsfiltered¶
Method URL¶
/v1/product/searchproductsfiltered
Type¶
POST
Consumes¶
application/json
Produces¶
application/json
Body Structure¶
public class filteredSearchRequest
{
public baseRequest baseRequest { get; set; }
public string? searchTerm { get; set; }
public string? partNumber { get; set; }
public string? partDescription { get; set; }
public string? brandName { get; set; }
public string? barcode { get; set; }
public string? crossReference { get; set; }
public string? groupIdentifierLevel1 { get; set; }
public string? groupIdentifierLevel2 { get; set; }
public string? groupIdentifierLevel3 { get; set; }
public string? externalNode { get; set; }
public List<filter> filters { get; set; }
public int skip { get; set; }
public int take { get; set; }
}
public class filter
{
public string? brand { get; set; }
public string? groupIdentifierLevel1 { get; set; }
public string? groupIdentifierLevel2 { get; set; }
public string? groupIdentifierLevel3 { get; set; }
public string? externalNode { get; set; }
}
Response Structure¶
public class namedSearchResponse : pagedResult
{
public baseResponse baseResponse { get; set; }
public List<searchItemWrapper>? hits { get; set; }
}
public class pagedResult
{
public long total { get; set; }
public int skipped { get; set; }
public int took { get; set; }
}
public class searchItemWrapper
{
public List<string>? foundBy { get; set; }
public searchItem? hit { get; set; }
}
public class searchItem
{
public List<string> partURL { get; set; }
public List<string> crossReferences { get; set; }
public List<string> tags { get; set; }
public string groupIdentifierLevel3 { get; set; }
public string groupIdentifierLevel2 { get; set; }
public string groupIdentifierLevel1 { get; set; }
public string mamProductCode { get; set; }
public string sku { get; set; }
public string barcode { get; set; }
public bool isSearchable { get; set; }
public bool isChild { get; set; }
public bool isParent { get; set; }
public string externalPartCategory { get; set; }
public string externalPartDescription { get; set; }
public string externalPartBrand { get; set; }
public string externalPartNumber { get; set; }
public string externalPartReference { get; set; }
public List<productCriteriaSearchItem>? partCriteria { get; set; }
public string? partDescription { get; set; }
public int? brandSortOrder { get; set; }
public string? brandName { get; set; }
public string? partNumber { get; set; }
public long internalPartReference { get; set; }
public string? version { get; set; }
public List<string>? foundBy { get; set; }
}