Filtering
Filter your results
Parameters
Filtering the results is controlled by the filter parameter. This parameter expects a SQL-like formatted string that describes the filtering rules.
Check below for more info.
Name
Type
Is Required ?
Default value
filter
string
✖
empty string
filter
filterFilter the results using an SQL-like syntax. The generic syntax is as follows:
filterRule: `${attribute} ${rule_operator} ${value}`
filterGroup: `(${filterRule1} ${group_operator} ${filterRule2} ...)`
rule_operator: =, !=, <, <=, >, >=
group_operator: AND, ORfilter can be either a single filterRule or a filterGroup.
For example, all the following filters are valid:
size = 137
size != 137
price > 50
(size = 137)
(size = 137 OR size = 133 OR size = 48)
price >= 10 AND price < 100
(size = 137 OR size = 119) AND (price > 10 AND price < 100)
size = 137 OR price > 10
size = 137 AND price > 10Response
All responses from XO Search uses the same format. Check API Reference page for a more detailed description of this format.
API ReferenceUsage examples
Filter results with a price higher than 10 €
NodeJS / NPM example
import { search } from '@attraqt/search';
const query = 'T-shirt';
search.init({ token: SEARCH_API_TOKEN });
const response = await search.query(query, {
filter: 'price > 10'
});
console.log(response);HTML example
<script type="text/javascript">
xo.init({
search: {
token: SEARCH_API_TOKEN
}
});
xo.search.query('T-Shirt', {
filter: 'price > 10'
}).then((response) => {
console.log(response);
});
</script>HTTP example
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": {
"filter": "price > 10"
}
}curl example
curl -d "{\"token\":\"${SEARCH_API_TOKEN}\", \"query\":\"T-Shirt\", \"options\":{\"filter\": \"price > 10\"}}" \
-H "Content-Type: application/json; charset=UTF-8" \
-X POST "https://api-eu.attraqt.io/search"JavaScript example
const response = await fetch('https://api-eu.attraqt.io/search', {
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=UTF-8'
},
body: JSON.stringify({
token: SEARCH_API_TOKEN,
query: 'T-Shirt',
options: {
filter: 'price > 10'
}
})
});
if (response.ok) {
console.log(await response.json());
}HTTP example
GET https://api-eu.attraqt.io/search/:token?encoded=:encodedParams HTTP/1.1curl example
curl "https://api-eu.attraqt.io/search/${SEARCH_API_TOKEN}?encoded=%7B%22query%22%3A%22T-Shirt%22%2C%20%22options%22%3A%7B%22filter%22%3A%22price%20%3E%2010%22%7D%7D"JavaScript example
const token = SEARCH_API_TOKEN;
const params = encodeURIComponent(JSON.stringify({
query: 'T-shirt',
options: {
filter: 'price > 10'
}
}));
const response = await fetch(
`https://api-eu.attraqt.io/search/${token}?encoded=${params}`
);
if (response.ok) {
console.log(await response.json());
}Last updated

