Download OpenAPI specification:
Документация по API сервиса AnyQuery.
Серверы по продуктам:
https://sort.diginetica.nethttps://autocomplete.diginetica.nethttps://recs.diginetica.nethttps://api.diginetica.nethttps://tracking-app.diginetica.netРекомендуемые клиентские таймауты:
/search — 2000 мс/autocomplete — 300 мс/recs — 1000 мс/v1/imagesearch/search — 30 секундТаймауты носят рекомендательный характер. При превышении таймаута клиент должен показывать fallback-контент.
Основной эндпоинт для получения ранжированных результатов поиска. Возвращает список товаров, фасеты (фильтры) и мета-информацию о запросе.
| st required | string Example: st=телевизор Пользовательский поисковый запрос. |
| apiKey required | string Example: apiKey=your_api_key_here Ключ доступа для идентификации канала продаж. Предоставляется командой Diginetica. |
| strategy | string Example: strategy=advanced_xname,zero_queries Стратегия ML-ранжирования. По умолчанию берётся из серверной конфигурации сайта; если клиент передаёт значение, оно может быть переопределено серверной конфигурацией. Предоставляется командой Diginetica. |
| size | integer [ 1 .. 2000 ] Default: 400 Example: size=20 Количество товаров в ответе.
|
| offset | integer >= 0 Default: 0 Количество товаров для пропуска (пагинация). |
| fullData | boolean Default: false Включить расширенную информацию о товарах. |
| withCorrection | boolean Default: false Example: withCorrection=true Возвращать исправленный вариант запроса. |
| useCompletion | boolean Default: false Дописывать часть запроса до предиктивно выбранного полного слова. |
| withFacets | boolean Default: false Example: withFacets=true Включить в ответ фасеты (фильтры). |
| treeFacets | boolean Default: false Example: treeFacets=true Формат иерархии фасетов категорий:
|
| filter | string Examples:
Фильтрация результатов. Параметр может повторяться. Синтаксис:
Встроенные типы: |
| showUnavailable | boolean Default: false Example: showUnavailable=true Показывать товары, недоступные для покупки. |
| unavailableMultiplier | number <float> [ 0 .. 1 ] Default: 0.2 Example: unavailableMultiplier=0.2 Множитель скоринга для недоступных товаров (0–1). |
| sort | string Default: "DEFAULT" Enum: "DEFAULT" "PRICE_ASC" "PRICE_DESC" Example: sort=DEFAULT Сортировка:
|
| regionId | string Default: "global" Example: regionId=global Идентификатор региона / фида. По умолчанию: |
| withSku | boolean Default: false Группировать товары в мультикарточки по полю |
| productId | string ID товара-якоря (для контекстных стратегий ранжирования). |
| useCategoryPrediction | boolean Включить предсказание категории по запросу (буст товаров из предсказанной категории). |
| exceptionIds | string Example: exceptionIds=TV-001,TV-002 ID товаров, которые нужно исключить из выдачи (через запятую). |
| modelName | string Имя ML-модели ранжирования. Обычно берётся из серверной конфигурации сайта. |
{- "query": "телевизор",
- "correction": "телевизор",
- "totalHits": 142,
- "zeroQueries": false,
- "redirectUrl": null,
- "redirectMobileUrl": null,
- "products": [
- {
- "id": "TV-001",
- "available": true,
- "name": "Телевизор Samsung 55\"",
- "brand": "Samsung",
- "price": "54990",
- "oldPrice": "64990",
- "score": 0.987
}
], - "facets": [
- {
- "name": "Бренд",
- "dataType": "DISTINCT",
- "values": [
- {
- "id": "Samsung",
- "name": "Samsung",
- "value": 34
}, - {
- "id": "LG",
- "name": "LG",
- "value": 28
}
]
}
], - "selectedFacets": [ ]
}Автоподсказки в поисковой строке.
Базовый URL: https://autocomplete.diginetica.net
При вводе подряд нескольких символов клиент обычно отправляет несколько запросов параллельно — порядок возврата ответов не гарантирован. На стороне клиента необходимо проверять актуальность каждого ответа относительно текущего значения строки ввода.
Возвращает поисковые подсказки, товары, категории, бренды и контентные ссылки.
Рекомендации:
st.При серверной интеграции значение поля
correctionиз этого API обязательно передавать в параметрstзапроса к Search API.
| st required | string Example: st=кросовк Поисковый запрос. При пустом значении — топ-10 просматриваемых товаров. |
| apiKey required | string Example: apiKey=your_api_key_here Ключ API клиента. |
| strategy | string Default: "simple" Example: strategy=advanced_xname,zero_queries Список стратегий через запятую. По умолчанию — |
| productsSize | integer [ 1 .. 100 ] Default: 10 Example: productsSize=10 Количество товаров в ответе. По умолчанию: |
| regionId | string Default: "global" Example: regionId=global ID региона / фида. По умолчанию: |
| forIs | boolean Default: false Управляет поиском категорий по названию.
|
| showUnavailable | boolean Default: false Показывать недоступные товары. |
| withContent | boolean Default: false Включить ссылки на контентные страницы. |
| withSku | boolean Default: false Отображать группы товаров (мультикарточки). |
| productId | string ID товара-якоря (используется некоторыми стратегиями для контекстных подсказок). |
| shuffle | boolean Default: true Перемешивать выдачу. |
| contentsSize | integer >= 0 Default: 10 Количество контентных ссылок в ответе. |
| unavailableMultiplier | number <float> [ 0 .. 1 ] Default: 0.2 Множитель скоринга для недоступных товаров (0–1). Может переопределяться серверной конфигурацией. |
| useCompletion | boolean Default: true Дописывать часть запроса до предиктивно выбранного полного слова. |
{- "query": "кросовк",
- "correction": "кроссовки",
- "redirect": null,
- "sts": [
- {
- "st": "кроссовки мужские",
- "amount": 3
},
], - "taps": [
- {
- "tap": "мужские",
- "relatedSearch": "кроссовки мужские"
}, - {
- "tap": "женские",
- "relatedSearch": "кроссовки женские"
}
], - "products": [
- {
- "id": "138875",
- "available": true,
- "name": "Кроссовки Nike Air Max",
- "brand": "Nike",
- "price": "8990.0",
- "score": 109.55,
- "alternative": false,
}
], - "categories": [
- {
- "id": "74",
- "name": "Кроссовки",
- "direct": true,
}
], - "contents": [ ]
}Блоки персональных рекомендаций товаров.
Базовый URL: https://recs.diginetica.net
Рекомендуемый клиентский таймаут: 1000 мс. При превышении клиент должен показывать fallback-контент.
Параметр placements задаёт одно или несколько мест размещения (через |). Конкретные значения предоставляются командой Diginetica (например, home_page, product_page).
Параметр productId — ID товара-якоря (используется для блоков на странице товара).
Параметр categoryId — ID категории-якоря (используется для блоков на странице категории).
Возвращает один или несколько ранжированных блоков рекомендованных товаров — по одному на каждый запрошенный placement.
Типичные значения placements (предоставляются командой Diginetica):
| Страница | Пример placement | Якорь |
|---|---|---|
| Главная | home_page |
— |
| Карточка товара | product_page |
productId |
| Корзина | cart_page |
— (используется userHistory) |
| Категория | category_page |
categoryId |
| Нулевая выдача | zero_results_page |
— |
Несколько плейсментов можно запросить одной строкой через |: placements=home_page|product_page.
| apiKey required | string Example: apiKey=your_api_key_here Ключ API клиента. |
| placements required | string Examples:
Один или несколько идентификаторов мест размещения, разделённых |
| productId | string Example: productId=100234 ID товара-якоря для блоков на странице карточки товара. |
| categoryId | string Example: categoryId=1012 ID категории-якоря для блоков на странице категории. |
| regionId | string Default: "global" Example: regionId=msk ID региона / фида. |
| fullData | boolean Default: false Возвращать расширенные данные о товарах (атрибуты, категории, SKU). |
| userHistory | string История взаимодействия пользователя (формат предоставляется командой Diginetica). Используется для персонализации. |
| showUnavailable | boolean Default: false Если |
| page | integer >= 0 Номер страницы (пагинация). Используется вместе с |
| size | integer >= 1 Example: size=10 Количество товаров в каждом блоке. |
{- "placements": [
- {
- "strategyMessage": "Специально для вас",
- "placement": "home_page",
- "strategyName": "home_page.personalised.68fdf776-f6e2-3578",
- "products": [
- {
- "externalId": "52",
- "trackingId": "trk_52_abc",
- "name": "Молоко Коровка, 1 литр",
- "price": "89.9",
- "oldPrice": null,
- "brand": "Коровка"
}
], - "totalProducts": 1,
- "responseMessages": [ ]
}
], - "status": "ok",
- "message": ""
}Поиск товаров по изображению.
Базовый URL: https://api.diginetica.net
Принимает изображение в формате multipart/form-data.
Рекомендуемые параметры изображения: форматы jpg, jpeg, png, webp; длинная сторона ~1024px. Сервер сжимает изображения, но рекомендуется выполнять предварительное сжатие на клиентской стороне.
Максимальный размер файла: 10 MB. Запросы с файлом большего размера отклоняются.
Серверный таймаут запроса: 30 секунд. Клиентский таймаут стоит выставлять с запасом.
⚠️ API-ключ передавать только через серверную сторону. Не вставлять в фронтенд-код.
Принимает изображение в формате multipart/form-data и возвращает список визуально похожих товаров.
Рекомендуемые параметры изображения: форматы jpg, jpeg, png, webp; длинная сторона ~1024px. Сервер сжимает изображения, но рекомендуется выполнять предварительное сжатие на клиентской стороне.
Максимальный размер файла: 10 MB. Запросы с файлом большего размера отклоняются.
Процесс интеграции:
⚠️ API-ключ передавать только через серверную сторону. Не вставлять в фронтенд-код.
Серверный таймаут запроса: 30 секунд. Клиентский таймаут стоит выставлять с запасом.
| apiKey required | string Example: apiKey=your_api_key_here Ключ API клиента. Хранить только на сервере. |
| image required | string <binary> Изображение файлом. Рекомендуемые форматы: |
| productsSize | integer >= 1 Default: 30 Желаемое количество товаров в ответе. |
| offset | integer >= 0 Default: 0 Сдвиг (пагинация). |
| showUnavailable | boolean Default: false Управляет показом недоступных товаров.
|
| deboostUnavailable | boolean Default: true Смещение недоступных товаров вниз. Работает только при
|
| regionId | string Default: "global" ID регионального фида. |
{ "image": "picture.jpg", "productsSize": 20, "showUnavailable": false, "deboostUnavailable": true, "regionId": "25" }
{- "products": [
- {
- "id": "85234",
- "groupId": "85234",
- "available": false,
- "name": "Торшер Loft IT Eye",
- "brand": "Loft IT",
- "price": "26235.0",
- "oldPrice": null,
- "score": 1,
- "categories": [
- {
- "id": "52",
- "name": "торшеры",
- "direct": false,
}
], - "attributes": {
- "интерьер": [
- "Для гостиной"
], - "материал арматуры": [
- "Металл"
]
}, - "skus": [
- {
- "id": "85234",
- "available": false,
- "name": "Торшер Loft IT Eye",
- "price": "26235.0",
- "attributes": { },
}
], - "ids": [
- "85234"
],
}
]
}Трекинг поведения пользователей.
Базовый URL: https://tracking-app.diginetica.net
Публичный контракт — POST на /event с одним событием в JSON-теле.
Тестовый стенд: https://tracking-dev.diginetica.net/event (события изолированы и не уходят в продакшен).
Заголовки: Content-Type: application/json;charset=UTF-8
Ограничения: одно событие на запрос. На стороне инфраструктуры может действовать rate-limit.
Коды ответов:
200 — событие принято400 — ошибка валидации (отсутствует обязательное поле, неверный apiKey)403 — сайт заблокирован500 — внутренняя ошибка сервера504 — таймаут на стороне балансировщикаУниверсальный эндпоинт для отправки всех типов событий.
Тип события определяется полем eventType в теле запроса.
Поддерживаемые типы событий:
Общие:
HOME_PAGE_VIEW — просмотр главной страницыPRODUCT_VIEW — просмотр карточки товараSEARCH_EVENT — страница результатов поискаCART_VIEW — просмотр корзиныORDER_SUCCESS — успешный заказBRAND_PAGE_VIEW — просмотр страницы бренда (опционально)CATEGORY_VIEW — просмотр страницы категории (опционально)После интеграции автоподсказок:
AUTOCOMPLETE_CLICK — клик по подсказкеAQ_SYNONYM_CLICK — клик по уточнению в результатах поискаПосле интеграции рекомендаций:
WIDGET_VIEW (RECS_RENDER, RECS_VIEW) — отрисовка / просмотр блокаWIDGET_CLICK (RECS_CLICK, RECS_FAVORITE_CLICK, RECS_COMPARE_CLICK) — клик в блокеCART_ADD_EVENT — добавление в корзину из блока рекомендацийПосле интеграции поиска по картинкам:
WIDGET_VIEW / WIDGET_CLICK (IMAGE_SEARCH) — действия с поиском по фотоCART_ADD_EVENT — добавление в корзину из результатов поиска по фото| eventType required | string Enum: "HOME_PAGE_VIEW" "PRODUCT_VIEW" "SEARCH_EVENT" "CART_VIEW" "ORDER_SUCCESS" "BRAND_PAGE_VIEW" "CATEGORY_VIEW" "AUTOCOMPLETE_CLICK" "AQ_SYNONYM_CLICK" "WIDGET_VIEW" "WIDGET_CLICK" "CART_ADD_EVENT" Тип события. |
| apiKey required | string Ключ клиента. |
| sessionId required | string ID сессии. Обновляется после 30 мин бездействия. |
| userGUID required | string <= 64 characters Долговременный ID пользователя. Формат: |
| userId | string ID залогиненного пользователя. Передавать только при активной авторизации. |
| regionId | string ID региона (регистр важен). |
| viewGUID | string ID просмотра страницы. Одинаковый для всех событий страницы. |
| location | string <uri> URL текущей страницы. |
| referer | string <uri> URL предыдущей страницы. |
| channel required | string Enum: "WEB" "WEB_MOBILE" "MOBILE_APP" |
| productId | string Offer ID товара. |
| productName | string Название товара. |
| availability | boolean Доступность товара (PRODUCT_VIEW). |
| isFromRedirect | string Попал через редирект из поиска. Передавать как строку ( |
| searchTerm | string Запрос после исправления (значение |
| originalSearchTerm | string Оригинальный запрос пользователя. |
| pageProducts | Array of strings Offer ID товаров на странице. |
| pageNumber | integer <int32> Номер страницы. |
| isZeroQuery | string Значение |
| anyQueryWorked | string Было ли исправление запроса ( |
| cartId | string ID корзины. Сквозной между CART_VIEW и ORDER_SUCCESS. |
| subtotal | string Сумма товаров. |
| total | string Итоговая сумма. |
| orderId | string Номер заказа. |
Array of objects (CartItem) | |
| brandName | string Название бренда (BRAND_PAGE_VIEW). |
| categoryName | string Название категории (CATEGORY_VIEW). |
| categoryId | string ID категории из фида. |
| breadcrumbs | Array of strings Хлебные крошки (без «Главная» и «Каталог»). |
| autocompleteItem | string Текст кликнутой подсказки. |
| autocompleteItemType | string Enum: "queries" "products" "categories" "brands" "history" "taps" |
| anyQuerySynonymClicked | string Выбранное уточнение (AQ_SYNONYM_CLICK). |
| anyQuerySynonyms | Array of strings |
| widgetType | string Enum: "RECS_RENDER" "RECS_VIEW" "RECS_CLICK" "RECS_FAVORITE_CLICK" "RECS_COMPARE_CLICK" "IMAGE_SEARCH" |
| strategy | string Строка параметров блока через |
| seed | string ID товаров-якорей через |
| position | integer or null Позиция товара в блоке (с 1). |
| price | string Цена товара (CART_ADD_EVENT). |
| sku | string Артикул или служебная строка. |
{- "eventType": "HOME_PAGE_VIEW",
- "sessionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "apiKey": "APIKEY",
- "userGUID": "0:kzmrfk1k:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "regionId": "msk",
- "viewGUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "channel": "WEB"
}