```plaintext
POST /us2/public/advancedSearch
```
**Схема запроса**
```javascript
"UsSearchRequest": {
"required": [
"searchBy"
],
"type": "object",
"properties": {
"autoInfoId": {
"type": "integer",
"format": "int64"
},
"query": {
"type": "string"
},
"detectVehicleIdentString": {
"type": "boolean",
"default": true
},
"detectBrands": {
"type": "boolean",
"default": true
},
"detectOems": {
"type": "boolean",
"default": true
},
"searchCrossBrands": {
"type": "boolean",
"default": true
},
"searchCrossOems": {
"type": "boolean",
"default": true
},
"searchCrossDetails": {
"type": "boolean",
"default": true
},
"searchBy": {
"type": "string",
"enum": [
"OFFER",
"OFFER_AND_DETAIL",
"OFFER_AND_DETAIL_AND_CROSS"
]
},
"tags": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
},
"tagsLogicOperation": {
"type": "string",
"default": "OR",
"enum": [
"OR",
"AND"
]
},
"originals": {
"type": "boolean"
},
"locale": {
"type": "string",
"default": "en_US"
}
}
}
```
**Параметры запроса**
| Параметр | Тип | Обязательность | По умолчанию | Значение |
| --- | --- | --- | --- | --- |
| page | integer($int32) | \- | 0 | Номер страницы (начиная от 0) |
| size | integer($int32) | \- | 20 | Количество результатов на странице (=элементов в ответе) |
| autoInfoId | integer($int64) | \- | | Идентификатор ранее проиндексированного автомобиля в системе Laximo.Search для поиска только деталей, которые относятся (применимы) к данному авто с учетом кроссов и замен. Если autoInfoId и VIN/Frame-номер не указаны, поиск деталей будет ограничен всем набором из оффера |
| query | string | \- | | Поисковый запрос на естественном языке. Может содержать VIN/Frame-номера автомобиля – тогда поиск деталей будет ограничен данным автомобилем (при условии, что он был проиндексирован, иначе применимость деталей к автомобилю не будет известна). Если проиндексированный VIN/Frame-номер и идентификатор авто в системе (autoInfoId) не указаны, поиск деталей будет производиться по всем деталям портфеля пользователя
💡В поисковом запросе можно указать, какие слова будут являться опциональными с помощью знака “?”.
Например: колодка ?передняя. В ответе сервис вернет все колодки, но у результата наиболее соответствующего запросу будет наибольший “score” и он будет поднят вверх списка. |
| detectVehicleIdentString | boolean | \- | true | Распознавать ли VIN/Frame, если он присутствует в тексте поискового запроса |
| detectBrands | boolean | \- | true | Распознавать ли в тексте поискового запроса бренды |
| detectOems | boolean | \- | true | Распознавать ли в тексте поискового запроса артикулы |
| searchCrossBrands | boolean | \- | true | Искать ли детали-кроссы для детали с указанным брендом – если не указать, ищутся только детали распознанного бренда без их кроссов |
| searchCrossOems | boolean | \- | true | Искать ли детали-кроссы для детали с указанным артикулом – если не указать, ищутся только детали по распознанному артикулу без их кроссов |
| searchCrossDetails | boolean | \- | true | Искать ли detectedDetalIds в списке кроссов детали |
| searchBy | string | \- | | Полнотекстовый поиск может производиться по разным наборам данных: OFFER – по названиям, загруженным пользователем в файле с деталями; OFFER\_AND\_DETAIL – по названиям из файлов-офферов пользователя и названиям из базы Laximo.DOC; OFFER\_AND\_DETAIL\_AND\_CROSS – по названиям из файлов-офферов пользователя, названиям из базы Laximo.DOC и названиям кроссов деталей |
| tags | string | \- | | Набор тегов, которыми были помечены детали в файле пользователя – по данным тегам также можно фильтровать результаты |
| tagsLogicOperation | string | \- | OR | Как объединяются теги логически: OR – по ИЛИ (например, из 2 тегов может присутствовать один или все 2); AND – по И (в результатах присутствуют только детали со всеми перечисленными тегами) |
| originals | boolean | \- | | Возвращать ли детали только оригинальных производителей: true – только оригинальные, false – только неоригинальные; null (значение отсутствует) – все |
| locale | string | \- | en\_US | Код языковой локали – значение локали для имен и их значений. Параметр языка используется для того, чтобы получить из сервиса Laximo.CAT названия деталей, переведенные на указанный язык.
При идентификации поддерживается тот же список языков, что в сервисе Laximo.CAT. Язык запроса пользователя неважен – возвращаются только названия в указанной локали. Значение локали состоит из двух частей:
1. Код языка [(ISO 639-1)](http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D1%8B_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2)
2. Код страны [(ISO\_3166-1)](http://ru.wikipedia.org/wiki/ISO_3166-1)
Например: немецкий – de\_DE, английский – en\_US и т.д. из поддерживаемых языков.
Если язык не указан, названия деталей вернутся на английском языке |
**Пример запроса**
```plaintext
POST /us2/public/search/advancedSearch?page=0&size=20
{
"autoInfoId": null,
"query": "13328572515",
"detectVehicleIdentString": true,
"detectBrands": true,
"detectOems": true,
"searchCrossBrands": true,
"searchCrossOems": true,
"searchCrossDetails": true,
"searchBy": "OFFER_AND_DETAIL_AND_CROSS ",
"tags": [],
"tagsLogicOperation": "OR",
"originals": null,
"locale": "ru_RU"
}
```
**Схема ответа и поля в ответе**
- см. [UsSearchResultPageResponse](/ru/uss/dto/UsSearchResultPageResponse)
**Параметры ответа**
| | |
| --- | --- |
| Параметр | Описание |
| detailID | Идентификатор детали |
| OEM | OEM - номер детали |
| brand | Наименование бренда |
| original | Принадлежность к оригинальности, может принимать значение true или false |
| detailNames | Содержит наименование детали согласно Laximo.DOC и установленной локали |
| offerNames | Содержит наименование детали согласно файл-портфолио/Laximo.DOC и установленной локали |
| crossNames | Содержит наименование детали согласно информации полученной из сервиса Laximo.DOC и установленной локали |
| replacements | Содержит информацию о детали являющейся заменой |
| tags | Содержит список тегов относящиеся к текущей искомой детали |
| score | Показатель релевантности |
| saleCategory | Категория востребованности детали. Деталям присвоено значение от 1 до 4. Чем значение ниже, тем деталь считается более востребованной. |
**Пример ответа**
```javascript
{
"data": [
{
"detailId": 16339203,
"oem": "0450906457",
"brand": "BOSCH",
"original": false,
"detailNames": [
"Картридж фильтра",
"Топливный фильтр",
"Фильтрующий картридж",
"вставка фильтра",
"фильтрующий элемент топливный"
],
"crossNames": [
"Картридж топливного фильтра",
"Картридж фильтра",
"Топливный фильтр",
"Фильтр",
"Фильтрующий картридж",
"Фильтрующий элемент",
"вставка фильтра",
"фильтрующий элемент топливный"
],
"tags": [
"Filters"
],
"score": 0.002,
"saleCategory": 1
},
{
"detailId": 17225433,
"oem": "MG1615",
"brand": "CLEAN FILTERS",
"original": false,
"detailNames": [
"Картридж фильтра",
"Топливный фильтр",
"Фильтрующий картридж",
"вставка фильтра",
"фильтрующий элемент топливный"
],
"crossNames": [
"Картридж топливного фильтра",
"Картридж фильтра",
"Топливный фильтр",
"Фильтр",
"Фильтрующий картридж",
"Фильтрующий элемент",
"вставка фильтра",
"фильтрующий элемент топливный"
],
"tags": [
"Filters"
],
"score": 0.002,
"saleCategory": 1
},
{
"detailId": 17935662,
"oem": "3185200",
"brand": "UFI",
"original": false,
"detailNames": [
"Картридж фильтра",
"Топливный фильтр",
"Фильтрующий картридж",
"вставка фильтра",
"фильтрующий элемент топливный"
],
"crossNames": [
"Картридж фильтра",
"Топливный фильтр",
"Фильтрующий картридж",
"вставка фильтра",
"фильтрующий элемент топливный"
],
"tags": [
"Filters"
],
"score": 0.002,
"saleCategory": 1
},
{
"detailId": 97646973,
"oem": "587749",
"brand": "VALEO",
"original": false,
"detailNames": [
"Картридж фильтра",
"Топливный фильтр",
"Фильтрующий картридж",
"вставка фильтра",
"фильтрующий элемент топливный"
],
"crossNames": [
"Картридж топливного фильтра",
"Картридж фильтра",
"Топливный фильтр",
"Фильтр",
"Фильтрующий картридж",
"Фильтрующий элемент",
"вставка фильтра",
"фильтрующий элемент топливный"
],
"tags": [
"Filters"
],
"score": 0.002,
"saleCategory": 1
}
```