XOMNI: Experience Omni-Channel

Last Updated: August 26, 2016

This API gives a list of potential search and navigation values within the given search criteria. The values, collection and ranges in the response of a query to the API can be used for further querying of the catalog and create a fluent navigation within the client application.

Request

{
    "DefaultItemId":null,
    "RFID":null,
    "UUID":null,
    "Name":null,
    "SKU":null,
    "CategoryId":66,
    "BrandId":null,
    "Model":null,
    "Title":null,
    "MinWidth":null,
    "MaxWidth":null,
    "MinHeight":null,
    "MaxHeight":null,
    "MinWeight":null,
    "MaxWeight":null,
    "MinDepth":null,
    "MaxDepth":null,
    "MinPrice":null,
    "MaxPrice":null,
    "DimensionTypeId":null,
    "WeightTypeId":null,
    "TagId":null,
    "DelimitedDynamicAttributeValues":null,
    "IncludeOnlyMasterItems":false,
    "TagQuery":null   
}
HTTP Method Resource URI
POST https://{tenantName}.api.xomni.com/catalog/itemsearchoptions

Request Body Description

Parameter Name Description Type Conditions
DefaultItemId The unique ID of the default item in a variation set. Number
RFID The radio frequency ID of the item. String
UUID The universally unique ID of the item. String
Name Name of an item String
SKU SKU(Stock keeping unit) of an item String
CategoryId Category Id of an item Number
BrandId Brand id of an item Number
Model Model of an item String
Title Title of an item String
MinWidth Minimum width criteria. Number
MaxWidth Maximum width criteria. Number
MinHeight Minimum height criteria. Number
MaxHeight Minimum height criteria. Number
MinWeight Minimum depth criteria. Number
MaxWeight Minimum depth criteria. Number
MinDepth Minimum weight criteria. Number
MaxDepth Maximum weight criteria. Number
MinPrice Minimum price criteria. Number
MaxPrice Maximum price criteria. Number
DimensionTypeId Dimension type ID of minimum and maximum weight, height, depth criteria. Number
WeightTypeId Weight type ID of minimum and maximum weight criteria. Number
TagId A particular tag of an item. Number
DelimitedDynamicAttributeValues A list of dynamic fields to query. The query should have a list of TypeID and TypeValueID pairs or TypeID and Value pairs. String
IncludeOnlyMasterItems A Boolean field indicating if the search operation should only cover master items or not. If the field value is “false”, the result set will contain variant items as well. Boolean
TagQuery A string field that filters on tags like a where clause query (e.g: "(TagIds: 1 OR 2 OR 3)"). String
IncludePassiveItems A Boolean field indicating if the search operation will cover passive items or not. If the field value is “false”, the result set will contain active items as well. Boolean

Request Headers

Header Field Name Description
Content-Type
Content type of the response entity. The value of this header is always application/json.
PriceTypeId
Default price type ID when performing price based filtering and sorting.
Sample: MQ==
Authorization
Access or identity token taken from oauth APIs.
Sample: Bearer dc8f1dcdbe454da8a25621839a93569337522968019e4bd7becd6e01285444da
Accept
Includes minor version header.
Sample: application/vnd.xomni.api-v4-1, */*

Response

{
    "Data": {
        "DynamicNavigation": [
            {
                "TypeId": 1,
                "TypeValueId": 1,
                "Value": "Red",
                "TypeName": "Color",
                "Count": 3
            },
            {
                "TypeId": 2,
                "TypeValueId": 4,
                "Value": "M",
                "TypeName": "Size",
                "Count": 4
            },
            {
                "TypeId": 2,
                "TypeValueId": 5,
                "Value": "L",
                "TypeName": "Size",
                "Count": 2
            },
            {
                "TypeId": 2,
                "TypeValueId": 6,
                "Value": "XL",
                "TypeName": "Size",
                "Count": 3
            },
            {
                "TypeId": 3,
                "TypeValueId": 7,
                "Value": "A",
                "TypeName": "Style",
                "Count": 3
            },
            {
                "TypeId": 3,
                "TypeValueId": 8,
                "Value": "B",
                "TypeName": "Style",
                "Count": 7
            },
            {
                "TypeId": 2,
                "TypeValueId": 9,
                "Value": "S",
                "TypeName": "Size",
                "Count": 4
            }
        ],
        "StaticNavigation": {
            "Categories": [
                {
                    "Id": 66,
                    "Name": "Category 1 Sub 1 Sub 1",
                    "ShortDescription": "Category 1 Sub 1 Sub 1 Short Description",
                    "LongDescription": "Category 1 Sub 1 Sub 1 Long Description",
                    "SubCategoryCount": 0,
                    "ParentCategoryId": 62,
                    "ParentCategoryName": "Category 1 Sub 1"
                },
                {
                    "Id": 67,
                    "Name": "Category 1 Sub 1 Sub 2",
                    "ShortDescription": "Category 1 Sub 1 Sub 1 Short Description",
                    "LongDescription": "Category 1 Sub 1 Sub 1 Long Description",
                    "SubCategoryCount": 0,
                    "ParentCategoryId": 62,
                    "ParentCategoryName": "Category 1 Sub 1"
                }
            ],
            "Brands": [
                {
                    "Id": 1,
                    "Name": "Brand 1"
                },
                {
                    "Id": 2,
                    "Name": "Brand 2"
                }
            ],
            "Tags": [
                {
                    "Id": 2,
                    "Name": "Sample Tag 1",
                    "Description": "3e129d70-2308-4dc5-bd33-c389b92859d2"
                }
            ],
            "Currencies": [
                {
                    "Id": 1,
                    "Description": "USD",
                    "CurrencySymbol": "$"
                },
                {
                    "Id": 2,
                    "Description": "Euro",
                    "CurrencySymbol": "€"
                }
            ],
            "UnitTypes": [
                {
                    "Id": 2,
                    "Name": "250 Kilogram",
                    "Description": "1 Kilogram",
                    "UnitCode": "Kg"
                },
                {
                    "Id": 3,
                    "Name": "Quantity",
                    "Description": "Quantity",
                    "UnitCode": "Quantity"
                }
            ],
            "WidthRanges": [
                {
                    "DimensionTypeId": 1,
                    "DimensionTypeDescription": "Meter",
                    "Min": 11,
                    "Max": 11
                },
                {
                    "DimensionTypeId": 2,
                    "DimensionTypeDescription": "Inch",
                    "Min": 5,
                    "Max": 5
                }
            ],
            "HeightRanges": [
                {
                    "DimensionTypeId": 1,
                    "DimensionTypeDescription": "Meter",
                    "Min": 11,
                    "Max": 11
                },
                {
                    "DimensionTypeId": 2,
                    "DimensionTypeDescription": "Inch",
                    "Min": 5,
                    "Max": 5
                }
            ],
            "DepthRanges": [
                {
                    "DimensionTypeId": 1,
                    "DimensionTypeDescription": "Meter",
                    "Min": 11,
                    "Max": 11
                },
                {
                    "DimensionTypeId": 2,
                    "DimensionTypeDescription": "Inch",
                    "Min": 5,
                    "Max": 5
                }
            ],
            "WeightRanges": [],
            "PriceRanges": [
                {
                    "CurrencyId": 1,
                    "CurrencySymbol": "$",
                    "Min": 10.55,
                    "Max": 8888
                }
            ],
            "DiscountPriceRanges": [
                {
                    "CurrencyId": 1,
                    "CurrencySymbol": "$",
                    "Min": 50,
                    "Max": 888
                }
            ]
        }
    }
}

Response Body Description

Parameter Name Description Type
Data.StaticNavigation.DiscountPriceRanges[0..N].PriceTypeId This is the unique ID for the price type. Number
Data.StaticNavigation.DiscountPriceRanges[0..N].PriceTypeSymbol Symbol of the price type. String
Data.StaticNavigation.DiscountPriceRanges[0..N].Min Minimum price value. Number
Data.StaticNavigation.DiscountPriceRanges[0..N].Max Maximum price value. Number
Data.StaticNavigation.PriceRanges[0..N].PriceTypeId This is the unique ID for the price type. Number
Data.StaticNavigation.PriceRanges[0..N].PriceTypeSymbol Symbol of the price type. String
Data.StaticNavigation.PriceRanges[0..N].Min Minimum price value. Number
Data.StaticNavigation.PriceRanges[0..N].Max Maximum price value. Number
Data.StaticNavigation.WeightRanges[0..N].WeightTypeId The unique ID of the weight type to define the weight. Number
Data.StaticNavigation.WeightRanges[0..N].WeightTypeDescription The description of the weight type to define the weight. String
Data.StaticNavigation.WeightRanges[0..N].Min Minimum weight value. Number
Data.StaticNavigation.WeightRanges[0..N].Max Maximum weight value. Number
Data.StaticNavigation.DepthRanges[0..N].DimensionTypeId The unique id of the dimension type to define the dimension Number
Data.StaticNavigation.DepthRanges[0..N].DimensionTypeDescription The description of the dimension type to define the dimension String
Data.StaticNavigation.DepthRanges[0..N].Min The width value of the item. Number
Data.StaticNavigation.DepthRanges[0..N].Max The hight value of the item. Number
Data.StaticNavigation.HeightRanges[0..N].DimensionTypeId The unique id of the dimension type to define the dimension Number
Data.StaticNavigation.HeightRanges[0..N].DimensionTypeDescription The description of the dimension type to define the dimension String
Data.StaticNavigation.HeightRanges[0..N].Min The width value of the item. Number
Data.StaticNavigation.HeightRanges[0..N].Max The hight value of the item. Number
Data.StaticNavigation.WidthRanges[0..N].DimensionTypeId The unique id of the dimension type to define the dimension Number
Data.StaticNavigation.WidthRanges[0..N].DimensionTypeDescription The description of the dimension type to define the dimension String
Data.StaticNavigation.WidthRanges[0..N].Min The width value of the item. Number
Data.StaticNavigation.WidthRanges[0..N].Max The hight value of the item. Number
Data.StaticNavigation.UnitTypes[0..N].Id This is the unique ID for a unit type. Number
Data.StaticNavigation.UnitTypes[0..N].Name Name of the unit type. String
Data.StaticNavigation.UnitTypes[0..N].Description Description of the unit type. String
Data.StaticNavigation.UnitTypes[0..N].UnitCode Unit code of the unit type. (For example, kg for kilogram) String
Data.StaticNavigation.Currencies[0..N].Id This is the unique ID for the currency. Number
Data.StaticNavigation.Currencies[0..N].Description Description of the currency. String
Data.StaticNavigation.Currencies[0..N].CurrencySymbol Currency symbol of the currency String
Data.StaticNavigation.Tags[0..N].Id The unique ID of the tag. Number
Data.StaticNavigation.Tags[0..N].Name The name of the tag. String
Data.StaticNavigation.Tags[0..N].Description The description of the tag. String
Data.StaticNavigation.Tags[0..N].TagMetadata[0..N].Key The key for the metadata. String
Data.StaticNavigation.Tags[0..N].TagMetadata[0..N].Value The value of the metadata. String
Data.StaticNavigation.Brands[0..N].Id The unique ID of the brand. Number
Data.StaticNavigation.Brands[0..N].Name The name of the brand. String
Data.StaticNavigation.Categories[0..N].Id This is the unique ID for the category. Number
Data.StaticNavigation.Categories[0..N].Name The name of the category. String
Data.StaticNavigation.Categories[0..N].ShortDescription The short description of the category. String
Data.StaticNavigation.Categories[0..N].LongDescription The long description of the category. String
Data.StaticNavigation.Categories[0..N].SubCategoryCount The count of subcategories of this category. Number
Data.StaticNavigation.Categories[0..N].ParentCategoryId The unique id of the parent category of the current category Number
Data.StaticNavigation.Categories[0..N].ParentCategoryName The name of the parent category of the current category String
Data.StaticNavigation.Categories[0..N].CategoryMetadata[0..N].Key The key for the metadata. String
Data.StaticNavigation.Categories[0..N].CategoryMetadata[0..N].Value The value of the metadata. String
Data.DynamicNavigation[0..N].TypeId Unique ID of a dynamic field. Number
Data.DynamicNavigation[0..N].TypeValueId Unique ID of a dynamic field value. Number
Data.DynamicNavigation[0..N].Value Value of a dynamic field. String
Data.DynamicNavigation[0..N].TypeName Unique name of a dynamic field. String
Data.DynamicNavigation[0..N].Count Returns you the count of items in the current segment. Number

Response Headers

Header Field Name Description
Content-Type
Content type of the response entity. The value of this header is always application/json.

Status Codes

A successful operation returns status code 200 (OK) for POST operations. Possible response status codes are as listed below:

Status Code Description
400 (Bad Request) Currency ID is missing in request headers (required when performing price range filtering).
400 (Bad Request) WeightType ID is missing inside the request body (required when performing weight range filtering).
400 (Bad Request) DimensionTypeId is missing inside the request body (required when performing dimensions range filtering).