Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

The purpose of this guide is to provide the steps required to integrate search service via REST API and use the returned tagging urls for each event (query, click, add2cart, ...).

Service URL

EMPATHYBROKER_BASE_URL/search/v1/query/CLIENT_ID/search?URI_PARAMETERS

Note: remember to request your CLIENT_ID and proper EMPATHYBROKER_BASE_URL

URI Parameters

Parameter NameScopeDescriptionTypeMandatoryDefault Value
qsearchThe query for the requestString(tick)
langsearch & taggingSet the language used on this requestString(tick)
sessionsearch & taggingSet the session used on this requestString(tick)
usersearch & taggingSet the user used on this requestString(tick)
scopesearch & taggingSet the scope used on this requestString(tick)
startsearchThe number of results to omit from the start of the result set (search pagination)Integer(error)0
rowssearchNumber of results to return (search pagination)Integer(error)10
filtersearchSet query filters to applyString(error)
facetsearchSet query facets to returnString(error)
sortsearchSort resultsString(error)
jsonCallbacksearchName of the callback that will be executed after the requestString(error)
suggestionssearchNumber of results to include for each suggestionString(error)

...

Code Block
languagejs
titleFacets formatcontent
facets: [
  {
    facet: "brand",
    values: [
      {
        value: "samsung",
        count: 13,
        filter: "brand:samsung"
      },
      {
        value: "fitbit",
        count: 1,
        filter: "brand:fitbit"
      }
    ]
  }
]

...

The search engine can detect grammatical errors and automatically correct it, for example searching by "sammsung" the system will suggest "samsung" in the spellchecked node.

Code Block
languagejs
titleDefault Output Format + spellcheck
{
  content: {
    numFound: 2,
    docs: [],
    facets: [],
    spellchecked: "samsung"
  },
  topTrends: [],
  ebTagging: {
    query: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/query?q=QUERY&scope=default&lang=es&totalHits=10&page=1"
  }
}

...

For example searching by "samsung panasonic" the search engine detects than there're no products with both terms but there are products with each term separately.

Code Block
languagejs
titleDefault Output Format + suggestions
{
  content: {
    suggestions: [
      {
        suggestion: "panasonic",
        numFound: 101,
        docs: [
          {
            name: "Panasonic KX-TG 8621",
            [... more fields ...]
		    ebTagging: {
	  	      click: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/click?q=QUERY&scope=default&lang=es&url=PRODUCT_URL&page=1&productId=PRODUCT_ID&title=PRODUCT_NAME&type=4",
	          add2cart: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/add2cart?q=QUERY&scope=default&lang=es&url=PRODUCT_URL&page=1&productId=PRODUCT_ID&title=PRODUCT_NAME&type=4",
	          wishlist: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/wishlist?q=QUERY&scope=default&lang=es&url=PRODUCT_URL&page=1&productId=PRODUCT_ID&title=PRODUCT_NAME&type=4",
	          conversion: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/conversion?q=QUERY&scope=default&lang=es&url=PRODUCT_URL&page=1&productId=PRODUCT_ID&title=PRODUCT_NAME&type=4"
	  	    }
          },
          {
            name: "Panasonic KX-TGP 550",
            [... more fields ...]
		    ebTagging: {
		  	  click: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/click?q=QUERY&scope=default&lang=es&url=PRODUCT_URL&page=1&productId=PRODUCT_ID&title=PRODUCT_NAME&type=4",
	          add2cart: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/add2cart?q=QUERY&scope=default&lang=es&url=PRODUCT_URL&page=1&productId=PRODUCT_ID&title=PRODUCT_NAME&type=4",
	          wishlist: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/wishlist?q=QUERY&scope=default&lang=es&url=PRODUCT_URL&page=1&productId=PRODUCT_ID&title=PRODUCT_NAME&type=4",
	          conversion: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/conversion?q=QUERY&scope=default&lang=es&url=PRODUCT_URL&page=1&productId=PRODUCT_ID&title=PRODUCT_NAME&type=4"
		    }
          }
        ]
      },
      {
        suggestion: "samsung",
        numFound: 14,
        docs: [
          {
            name: "Samsung Galaxy Note 10.1",
            [... more fields ...]
		    ebTagging: {
		      ...
	        }
          },
          {
            name: "Samsung SNH-1010N Smartcam",
            [... more fields ...]
		    ebTagging: {
		      ...
		    }
          }
        ]
      }
    ]
  },
  topTrends: [],
  ebTagging: {
	query: "URL_EMPATHYBROKER/tagging/v1/track/CLIENT_ID/query?q=QUERY&scope=default&lang=es&totalHits=10&page=1"
  }
}

...