Crownpeak
  • Product Discovery Developer Guide
  • 🛒Item catalog management
    • What is the Items API?
    • How to work with Items
      • Item Schema
        • Attributes
        • Nested Item Schemas
        • Using the Item Schema API
        • DefaultLocale API
        • Onboarding on/migrating to Fredhopper
        • List of Reserved Attributes
      • Category Tree
        • Using the Category Tree API
        • Onboarding on XO
      • Item Catalog
        • Using the Catalog API
      • Items
        • Using the streaming Items API
        • Using the batch Items API
    • Step by Step guide
      • Step by step guide for Fredhopper customers
    • Feedback
      • Using the Feedback API
    • Authorization to APIs
    • Troubleshooting API errors
  • 🎯XO Recommendations
    • Introduction
    • Using the Recommendations API
    • Setting up the Chrome extension
    • Micro-segmentation
    • XO Legacy APIs
  • 🔎XO Search
    • Introduction
    • Getting started
    • API Reference
      • Search API
      • Autocomplete API (Beta)
      • Product Suggest API
    • API Parameters
      • Search
      • Pagination
      • Faceting
      • Sorting
      • Grouping
      • Filtering
      • Disable features
      • Response mask
      • Context
    • Configuration limitation
  • 🧪A/B testing
    • Fredhopper A/B testing
      • Integration steps for a non-caching solution
      • Integration steps for a caching solution
        • Java SDK Integration
          • Setup
          • Retrieve running A/B tests - Java SDK
          • Filter and request variant - Java SDK
          • Extending the SDK
        • Manual A/B tests integration
          • Retrieve running A/B tests
          • Filter out irrelevant A/B tests
          • Assign variants to user
          • Request variant for page
        • Limitations and Best Practices
  • 📚Resources
    • Glossary
    • Best Practices
      • Tracker Best Practices
      • Items API Best Practices
      • Fredhopper Data Configuration Best Practices
      • Fredhopper Query Response Best Practices
      • Fredhopper Merchandising Studio Best Practices
    • Privacy Notice
  • Archived Pages
    • FHR Tracking plan
    • XO Tracking plan
    • The Tracking API and JS Library
      • What to Track
        • Generic Actions
          • View
          • Click
          • Add to Cart
          • Remove from Cart
          • Purchase
        • Custom Actions
      • Initializing the JavaScript Library
      • REST API Technical Documentation
Powered by GitBook
On this page
  • Search
  • Search
  • Response
  • items
  • metadata
  • Example
  1. XO Search
  2. API Reference

Search API

Search

POST https://api-eu.attraqt.io/search

Search for items using the XO Search engine.

Request Body

Name
Type
Description

token

string

XO Search token (can be found in the XO Console)

query

string

The query string used for the search

options.offset

integer

Pagination:

\

If specified, only fetch results starting from this offset. It should be a multiple of

limit

parameter.

\

Defaults to 0.

\

Check

Pagination

page for more info.

options.limit

integer

Pagination:

\

If specified, fetch the specified number of results per page. Should be used in conjunction with

offset

.

\

Defaults to 10.

\

Check

Pagination

page for more info.

options.sortBy

array

Sorting:

\

Sort the results using the specified sort options.

\

Defaults to an empty array (no sort applied, ie. results are sorted by relevancy).

\

Check

Sorting

page for more info about the

sortBy

array format.

options.facets

array

Faceting:

\

Filters the results that match the provided facets names and values.

\

Defaults to an empty array (no filter applied).

\

Check

Faceting

page for more info about the

facets

array format.

options.filter

string

Filtering:

\

Filters the results based on the filter query (SQL-like syntax).

\

Defaults to an empty array (no filter applied).

\

Check

Filtering

page for more info about the

filter

string format.

options.customResponseMask

string

Attributes to retrieve:

\

If specified, you have the control which attributes to retrieve and which not to retrieve.

options.disable

array

Disable features:

\

If specified, disable features from the query.

\

Check

Disable features

page for more info about the

disable

array format.

Example search request

The following sample request includes all possible parameters you can use

POST https://api-eu.attraqt.io/search HTTP/1.1
Content-Type: application/json; charset=UTF-8

{
  "token": "SEARCH_API_TOKEN",
  "query": "T-Shirt",
  "options": {
    "offset": 40,
    "limit": 20,
    "sortBy": [
      {
        "attribute": "price",
        "order": "asc"
      }
    ],
    "facets": [
      {
        "id": "color",
        "values": ["red"]
      }
    ],
    "filter": "price < 100",
    "customResponseMask": "id, product(title, price, photo)",
    "disable": [{ "name": "facet" }]
  }
}

Search

GET https://api-eu.attraqt.io/search/:token

Same as the

POST

method. The

token

must be specified in the

URL

path. Other parameters should be url-encoded and send as a single query parameter.

Path Parameters

Name
Type
Description

token

string

XO Search token (can be found in the XO Console)

Query Parameters

Name
Type
Description

encoded

string

Every other parameters (as specified in the

POST

method), as a

URL-encoded JSON

object.

Response

The search response contains two parts:

Property
Type
Description

items

array

Array of fetched items from the catalog

metadata

object

Metadata about the search request: available facets, pagination, number of items, elapsed time, ...

items

The items matching the search query.

Property
Type
Description

id

string

ID of the item

score

number

Relevancy score of the item. Higher is better

product

object

If present, contains the item's attributes, as specified in the XO catalog

redirect

object

If present, a search redirect was triggered, and contains the redirect information

metadata

Metadata about the search query and its results.

Property
Type
Description

count

number

Number of items matching the query

time

number

Time the request took to complete (in milliseconds)

token

string

Search API token used for the request

url

string

Equivalent url that can be used to send the same request

offset

number

Pagination: index of the first fetched item

limit

number

Pagination: Size of the page (ie. number of elements returned)

facets

string

List of facets (and their values) matching the query. Facets must be defined in the XO console.

id

string

Unique identifier

configurationId

string

Search configuration id used

exactCount

boolean

If true, the count of the results is exact

Example

{
  "items": [
    ...
  ],
  "metadata": {
    "id": "573e30b1-7d97-46a0-bbe0-110527150534",
    "configurationId": "cddda87b-c99d-45aa-bf45-cd53d2bc8ace",
    "count": 170,
    "exactCount": true,
    "time": 35.23,
    "token": "a28570e6ac94e8d86c19e820",
    "url": "/search?...",
    "offset": 19,
    "limit": 20,
    "facets": [
      {
        "id": "color",
        "title": "Color",
        "count": 2,
        "values": [
          {
            "value": "red",
            "count": 25,
            "selected": true
          },
          {
            "value": "blue",
            "count": 5,
            "selected": false
          }
        ]
      }
    ]
  }
}
PreviousAPI ReferenceNextAutocomplete API (Beta)

Last updated 3 years ago

🔎