Document Properties
Kbid295Q73
Last Modified02-Nov-2020
Added to KB20-Jul-2020
Public AccessEveryone
StatusOnline
Doc TypeReferences
ProductICM 7.10

Reference - ICM REST API - B2B Front End - Search 1.0.0


Product Version

7.10

Product To Version


Status

final

Download Specification 

This API specification is available for download as an Open API 3.0 YAML file: 

API Specification

Introduction

OpenAPI Version: 3.0.1
Search Version: 1.0.0

Search API

The Intershop Search REST API contains endpoints related to search and suggestions.

Notes

  • SearchParameter is a matrix parameter, although it is listed in OpenAPI as a query parameter.
  • No results are returned if there is no search index.

Search API

/filters
GET: Returns defined facet filters Deprecated.

Description

This operation returns a collection of all defined filters with their related facets and products.

If optional parameters CategoryName and/or CategoryDomainName are defined, the related filters are returned.

Java Method

public com.intershop.sellside.rest.common.capi.resourceobject.SearchIndexFilterRO$SearchIndexFilterCollectionRO com.intershop.sellside.rest.common.capi.resource.SearchIndexFilterListResource.getFilters(java.lang.String,java.lang.String)

Request Body

--

Request Parameters

LocationNameFormatDescription
in queryCategoryDomainNamestringThe domain in which the category "lives"
in queryCategoryNamestringThe category name which defines the category search context

Response

200 - OK

SearchIndexFilterCollectionRO application/json

400 - Bad Request

- The category name and/or category domain name parameter are invalid.

404 - Not Found

(Invalid category name and/or category domain name parameter)
/filters/{SearchIndexFilterResourceKey}
GET: Returns defined facet filters for a selected filter Deprecated.

Description

This operation returns a collection of all defined filters with their related facets and products, based on a selected filter.

SearchParameter is a matrix parameter. URI part 'filter id' and 'SearchParameter' specify the superordinate / already selected filter.

Java Method

public com.intershop.sellside.rest.common.capi.resourceobject.SearchIndexFilterRO$SearchIndexFilterCollectionRO com.intershop.sellside.rest.common.capi.resource.SearchIndexFilterResource.getFilter()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathSearchIndexFilterResourceKeystringRequired | ID of filter
in pathSearchIndexFilterResourceKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in querySearchParameterstringRequired | Search parameters as matrix parameter after SearchIndexFilterResourceKey

Response

200 - OK

SearchIndexFilterCollectionRO application/json

400 - Bad Request

- The category name and/or category domain name parameter are invalid.

404 - Not Found

/filters/{SearchIndexFilterResourceKey}/hits
GET: Returns product links for a selected filter Deprecated.

Description

This operation returns a list of product links for a facet/filter. SearchParameter is a matrix parameter.

Java Method

public com.intershop.component.rest.capi.resourceobject.ResourceCollectionRO com.intershop.sellside.rest.common.capi.resource.SearchIndexFilterResource.getHits(java.lang.Integer,java.lang.Integer)

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathSearchIndexFilterResourceKeystringRequired | ID of filter
in pathSearchIndexFilterResourceKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in querySearchParameterstringRequired | Search parameters as matrix parameter after SearchIndexFilterResourceKey
in queryoffsetintegerThe result number (product number) the response will start with | Format: int32 | Default: 0
in queryamountintegerThe amount of returned products | Format: int32 | Default: 100

Response

200 - OK

ResourceCollectionROLinkRO application/json

400 - Bad Request

- The category name and/or category domain name parameter are invalid.
/suggest
GET: Retrieves suggestions for a search term

Description

This operation retrieves search suggestions from the installed search engine for a search term.

If no search engine is active or the are no suggestions for the given search term, an empty collection is returned.

Java Method

public com.intershop.sellside.rest.common.capi.resourceobject.SuggestTermRO$SuggestCollectionRO com.intershop.sellside.rest.common.capi.resource.SearchSuggestResource.getSuggestTerms(java.lang.String)

Request Body

--

Request Parameters

LocationNameFormatDescription
in querySearchTermstringRequired | Defines the search term to find suggestions for

Response

200 - OK

SuggestCollectionRO application/json

Request and Response Object Schemata

ResourceCollectionROLinkRO application/json{
  • "pageable":
    string
    the pageable ID
  • "total":
    integer
    the pageable amount total | Format: int32
  • "offset":
    integer
    the pageable offset | Format: int32
  • "amount":
    integer
    the pageable amount | Format: int32
  • "elements":
    array
    An array of LinkRO objects. the list of elements
    [
    LinkRO: A Link pointing to a resource
    {
    • "name":
      string
      the name of the returned element
    • "type":
      string
      Readonly | This is a constant: Link | Example: Link
    • "attributes":
      array
      An array of ResourceAttribute objects. the list of attributes
      [
      ResourceAttribute: An attribute
      {
      • "name":
        string
        The attribute's name
      • "type":
        string
        This is a constant: ResourceAttribute | Example: ResourceAttribute
      • "value":
        object
        The attribute's value.
      }
      ]
    • "uri":
      string
      The uri
    • "relation":
      string
      The relation of the link | Documentation: Link Relations (www.iana.org) | Possible Values: aboutalternateappendixarchivesauthorbookmarkcanonicalchaptercollectioncontentscopyrightcreate-formcurrentdescribedbydescribesdisclosureduplicateeditedit-formedit-mediaenclosurefirstglossaryhelphostshubiconindexitemlastlatest-versionlicenselrddmonitormonitor-groupnextnext-archivenofollownoreferrerpaymentpredecessor-versionprefetchprevpreviewpreviousprev-archiveprivacy-policyprofilerelatedrepliessearchsectionselfservicestartstylesheetsubsectionsuccessor-versiontagterms-of-servicetypeupversion-historyviaworking-copyworking-copy-of
    • "title":
      string
      The title of the link
    • "description":
      string
      The description of the link
    • "itemId":
      string
      the Id of the linked item
    • "attribute":
      object
      A ResourceAttribute object. An attribute
      {
      • "name":
        string
        The attribute's name
      • "type":
        string
        This is a constant: ResourceAttribute | Example: ResourceAttribute
      • "value":
        object
        The attribute's value.
      }
    }
    ]
  • "type":
    string
    This is a constant: ResourceCollection | Example: ResourceCollection
  • "sortKeys":
    array
    An array of string literals. the keys to sort for
  • "name":
    string
    the name of the returned element
}
SearchIndexFilterCollectionRO application/json{
  • "pageable":
    string
    The pageable ID
  • "total":
    integer
    The pageable amount total | Format: int32
  • "offset":
    integer
    The pageable offset | Format: int32
  • "amount":
    integer
    The pageable amount | Format: int32
  • "elements":
    array
    An array of SearchIndexFilterRO objects. The list of elements
    [
    SearchIndexFilterRO: Represents a filter
    {
    • "name":
      string
      The name of an element. | Example: Taxonomic Filter
    • "type":
      string
      The type of the object. This is normally a constant that can be used to differentiate objects by their type. | Example: SearchIndexFilter
    • "id":
      string
      ID of filter | Example: CategoryUUIDLevelMulti
    • "facets":
      array
      An array of FacetRO objects. Facets | Example: Object of type FacetRO
      [
      FacetRO: Facets
      {
      • "name":
        string
        The name of an element.
      • "type":
        string
        Readonly | The type of the object. This is normally a constant that can be used to differentiate objects by their type.
      • "count":
        integer
        Format: int32
      • "link":
        object
        A LinkRO object. A Link pointing to a resource
        {
        • "name":
          string
          the name of the returned element
        • "type":
          string
          Readonly | This is a constant: Link | Example: Link
        • "attributes":
          array
          An array of ResourceAttribute objects. the list of attributes
          [
          ResourceAttribute: An attribute
          {
          • "name":
            string
            The attribute's name
          • "type":
            string
            This is a constant: ResourceAttribute | Example: ResourceAttribute
          • "value":
            object
            The attribute's value.
          }
          ]
        • "uri":
          string
          The uri
        • "relation":
          string
          The relation of the link | Documentation: Link Relations (www.iana.org) | Possible Values: aboutalternateappendixarchivesauthorbookmarkcanonicalchaptercollectioncontentscopyrightcreate-formcurrentdescribedbydescribesdisclosureduplicateeditedit-formedit-mediaenclosurefirstglossaryhelphostshubiconindexitemlastlatest-versionlicenselrddmonitormonitor-groupnextnext-archivenofollownoreferrerpaymentpredecessor-versionprefetchprevpreviewpreviousprev-archiveprivacy-policyprofilerelatedrepliessearchsectionselfservicestartstylesheetsubsectionsuccessor-versiontagterms-of-servicetypeupversion-historyviaworking-copyworking-copy-of
        • "title":
          string
          The title of the link
        • "description":
          string
          The description of the link
        • "itemId":
          string
          the Id of the linked item
        • "attribute":
          object
          A ResourceAttribute object. An attribute
          {
          • "name":
            string
            The attribute's name
          • "type":
            string
            This is a constant: ResourceAttribute | Example: ResourceAttribute
          • "value":
            object
            The attribute's value.
          }
        }
      • "level":
        integer
        Format: int32
      • "selected":
        boolean
      • "hits":
        object
        A LinkRO object. A Link pointing to a resource
        {
        • "name":
          string
          the name of the returned element
        • "type":
          string
          Readonly | This is a constant: Link | Example: Link
        • "attributes":
          array
          An array of ResourceAttribute objects. the list of attributes
          [
          ResourceAttribute: An attribute
          {
          • "name":
            string
            The attribute's name
          • "type":
            string
            This is a constant: ResourceAttribute | Example: ResourceAttribute
          • "value":
            object
            The attribute's value.
          }
          ]
        • "uri":
          string
          The uri
        • "relation":
          string
          The relation of the link | Documentation: Link Relations (www.iana.org) | Possible Values: aboutalternateappendixarchivesauthorbookmarkcanonicalchaptercollectioncontentscopyrightcreate-formcurrentdescribedbydescribesdisclosureduplicateeditedit-formedit-mediaenclosurefirstglossaryhelphostshubiconindexitemlastlatest-versionlicenselrddmonitormonitor-groupnextnext-archivenofollownoreferrerpaymentpredecessor-versionprefetchprevpreviewpreviousprev-archiveprivacy-policyprofilerelatedrepliessearchsectionselfservicestartstylesheetsubsectionsuccessor-versiontagterms-of-servicetypeupversion-historyviaworking-copyworking-copy-of
        • "title":
          string
          The title of the link
        • "description":
          string
          The description of the link
        • "itemId":
          string
          the Id of the linked item
        • "attribute":
          object
          A ResourceAttribute object. An attribute
          {
          • "name":
            string
            The attribute's name
          • "type":
            string
            This is a constant: ResourceAttribute | Example: ResourceAttribute
          • "value":
            object
            The attribute's value.
          }
        }
      }
      ]
    • "displayType":
      string
      Display type | Example: text_clear
    • "selectionType":
      string
      Selection type | Example: taxonomic
    • "limitCount":
      integer
      Limit count | Format: int32 | Example: -1
    • "minCount":
      integer
      Minimum count | Format: int32 | Example: 1
    • "filterValueMap":
      object
      FilterValueMap | Example: Map that contains maping information for facets
    • "scope":
      string
      Scope of filter | Example: Global
    }
    ]
  • "type":
    string
    The type of the object. This is normally a constant that can be used to differentiate objects by their type.
  • "sortKeys":
    array
    An array of string literals. The keys to sort for
  • "name":
    string
    The name of an element. | Example: filters
}
SuggestCollectionRO application/json{
  • "pageable":
    string
    The pageable ID
  • "total":
    integer
    The pageable amount total | Format: int32
  • "offset":
    integer
    The pageable offset | Format: int32
  • "amount":
    integer
    The pageable amount | Format: int32
  • "elements":
    array
    An array of SuggestTermRO objects. The list of elements
    [
    SuggestTermRO: Search term suggestion
    {
    • "name":
      string
      The name of an element.
    • "type":
      string
      The type of the object. This is normally a constant that can be used to differentiate objects by their type. | Example: SuggestTerm
    • "term":
      string
      A suggested search term | Example: netbooks
    }
    ]
  • "type":
    string
    The type of the object. This is normally a constant that can be used to differentiate objects by their type. | Example: SuggestTerms
  • "sortKeys":
    array
    An array of string literals. The keys to sort for
  • "name":
    string
    The name of an element.
}

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Tickets