Search Navigation requests - findologic/findologic-api GitHub Wiki
NOTICE: This page is work in progress, and not yet suitable for the current stabe version of Findologic-API.
Introduction
Search and navigation requests can be easily sent using a RequestBuilder
.
With it you will obtain a Request
instance, by calling the RequestBuilder::buildRequest()
method.
First Steps
Get a search or navigation RequestBuilder
instance and set some data.
use FINDOLOGIC\Api\Requests\Builder\RequestBuilder;
use FINDOLOGIC\Api\Requests\Builder\SearchRequestBuilder;
use FINDOLOGIC\Api\Requests\Builder\NavigationRequestBuilder;
/** @var SearchRequestBuilder */
$searchRequestBuilder = RequestBuilder::getInstance(RequestBuilder::TYPE_SEARCH_REQUEST);
$searchRequestBuilder->setQuery('foobar')
->addAttribute('color', 'red')
->addRangeAttribute('price', 10, 100)
->setRevision('1.0.0');
/** @var NavigationRequestBuilder */
$navigationRequestBuilder = RequestBuilder::getInstance(RequestBuilder::TYPE_NAVIGATION_REQUEST);
$searchRequestBuilder->setSelected('Women_Jackets')
->addAttribute('size', 'M')
->addRangeAttribute('length', 10, 100)
->setRevision('1.0.0');
Sending requests
Use the Client
, to send Request
instances.
use FINDOLOGIC\Api\Config;
use FINDOLOGIC\Api\Client;
use FINDOLOGIC\Api\Requests\Builder\RequestBuilder;
use FINDOLOGIC\Api\Requests\Builder\SearchRequestBuilder;
use FINDOLOGIC\Api\Requests\Builder\NavigationRequestBuilder;
/** @var SearchRequestBuilder */
$searchRequestBuilder = RequestBuilder::getInstance(RequestBuilder::TYPE_SEARCH_REQUEST);
$searchRequestBuilder->setQuery('foobar')
->addAttribute('color', 'red')
->addRangeAttribute('price', 10, 100)
->setRevision('1.0.0');
/** @var NavigationRequestBuilder */
$navigationRequestBuilder = RequestBuilder::getInstance(RequestBuilder::TYPE_NAVIGATION_REQUEST);
$searchRequestBuilder->setSelected('Women_Jackets')
->addAttribute('size', 'M')
->addRangeAttribute('length', 10, 100)
->setRevision('1.0.0');
$config = new Config('ABCDABCDABCDABCDABCDABCDABCDABCD');
$client = new Client($config);
$searchRequest = $searchRequestBuilder->buildRequest($config);
$searchResponse = $client->send($searchRequest);
$navigationRequest = $navigationRequestBuilder->buildRequest($config);
$navigationResponse = $client->send($navigationRequest);
Available methods
For a detailed overview of all available request parameters, please refer to the API spec documentation.
Search Request
setQuery
Sets the search query.
Examples
use FINDOLOGIC\Api\Requests\Builder\RequestBuilder;
use FINDOLOGIC\Api\Requests\Builder\SearchRequestBuilder;
/** @var SearchRequestBuilder */
$searchRequestBuilder = RequestBuilder::getInstance(RequestBuilder::TYPE_SEARCH_REQUEST);
$searchRequestBuilder->setQuery('blue shirt');
setShoppingGuide
Enables a Shopping Guide identified by its name, which changes the filters in the search result to match the questions configured for this particular Shopping Guide in the Findologic Account.
Examples
use FINDOLOGIC\Api\Requests\Builder\RequestBuilder;
use FINDOLOGIC\Api\Requests\Builder\SearchRequestBuilder;
/** @var SearchRequestBuilder */
$searchRequestBuilder = RequestBuilder::getInstance(RequestBuilder::TYPE_SEARCH_REQUEST);
$searchRequestBuilder->setShoppingGuide('Bed Guide'); // EN
$searchRequestBuilder->setShoppingGuide('Bettenberater'); // DE
setIdentifier
Return the product with the given ID. If this is set query
is ignored.
Examples
use FINDOLOGIC\Api\Requests\Builder\RequestBuilder;
use FINDOLOGIC\Api\Requests\Builder\SearchRequestBuilder;
/** @var SearchRequestBuilder */
$searchRequestBuilder = RequestBuilder::getInstance(RequestBuilder::TYPE_SEARCH_REQUEST);
$searchRequestBuilder->setIdentifier('108378335893'); // numeric (must still be set as a string)
$searchRequestBuilder->setIdentifier('71ddc5b98c304749a0217ccff59cd38c'); // strings
Navigation request
TBD WIP