shop.product.search

Возвращает список товаров, соответствующих заданным критериям.

Параметры

  • hash GET Необязательно

    Строка с хешем для описания условий поиска товаров, закодированная для передачи в URL.

    — 'id/12,23,34' — список ID нужных товаров.
    — 'related/cross_selling/12' — товары, выбранные в качестве перекрёстных продаж для товара с id = 12.
    — 'related/upselling/12' — товары, выбранные в качестве схожих и альтернативных для товара с id = 12.
    — 'category/27' — товары, содержащиеся в категории с id = 27.
    — 'search/query=style' — полнотекстовый поиск по слову 'style'.
    — 'search/name=style' — точный поиск слов в поле 'name' таблицы 'shop_product'. Вместо оператора сравнения '=' можно использовать другие, поддерживаемые SQL: '>', '<', '>=', '<=', '!='. Вместо названий полей таблицы 'shop_product' можно также использовать обозначение 'tag' — для аналогичного поиска по тегам товаров. Можно выполнять поиск сразу по нескольким полям: 'search/name*=style&tag=fashion'.
    — 'search/name*=style' — поиск по частям слов в поле 'name' таблицы 'shop_product'; поддерживаемые операторы: '*=' (поиск в любой части слов), '^=' (поиск в начале слов), '$=' (поиск в конце слов).
    — 'search/tag=style' или 'tag/style' — точный поиск по тегу 'style'; формат 'search/tag=style' можно использовать для поиска по нескольким тегам с условием '||' (ИЛИ): 'search/tag=style||fashion'.
    — 'search/type_id=1' — пример поиска по любому полю в таблице 'shop_product'.
    — 'search/color.value_id=4,5,6' — поиск товаров с указанными ID значений характеристики с указаным текстовым идентификатором (в этом примере — 'color').
    — 'search/sku_id=11,22,33' — поиск по списку ID модификаций товаров; чтобы получить в найденных товарах только модификации с указанными здесь ID, добавьте поле 'skus_filtered' в список полей в параметре 'fields'.
    — 'search/category_id=7,8,9' — поиск товаров, для которых в качестве основной выбраны категории с указаннымми id.
    — 'type/1' — поиск по ID типа товаров, синоним 'search/type_id=1'.
    — 'bestsellers/2592000' — поиск товаров-бестселлеров за указанное количество секунд (в данном примере за 30 дней = 60*60*24*30).
    — 'bestsellers' — поиск товаров-бестселлеров за всё время продаж.

  • offset GET Необязательно

    Номер начальной позиции в списке найденных товаров, начиная с которой нужно начинать формировать результат поиска. Допускается указание неотрицательных значений. Если не указано, то используется значение по умолчанию 0 (начинать с первого найденного элемента).

  • limit GET Необязательно

    Максимальное количество товаров, которые необходимо получить. Допустимый диапазон значений: от 0 до 1000. Если не указано, используется значение по умолчанию 100.

  • fields GET Необязательно

    Список полей со свойствами товаров, которые нужно получить. Может содержать либо только список всех полей таблицы 'shop_product', обозначенный с помощью синтаксиса '*', либо также названия дополнительных полей, перечисленных ниже, которые можно добавить через запятую, например: '*,skus,stock_counts'.

    Список доступных дополнительных полей:
    - images: в содержимое ответа добавляются элементы с ключом 'images' с подробной информацией обо всех изображениях товара включая 3 URL эскизов — с размерами '970', '96x96' и '270x0';
    - images2x: аналогично полю 'images', но в информации об изображениях содержатся URL эскизов в для устройств с двойной плотностью пикселей;
    - image: в содержимое ответа добавляются элементы с ключом 'image' с 3 URL эскизов основного изображения товара — с размерами '970', '96x96' и '270x0';
    - image_crop_small: в содержимое ответа добавляются элементы с ключом 'image_crop_small' с URL эскиза основного изображения товара с размером '48x48';
    - image_count: в содержимое ответа добавляются элементы с ключом 'image_count' с количеством изображений товара;
    - skus: в содержимое ответа добавляются элементы с ключом 'skus' с подробной информацией о модификациях товара; если запрошено также поле 'stock_counts', то в свойствах каждой модификации доступен элемент с ключом 'stock' с информацией об остатках модификации товара на каждом складе; если запрошено также поле 'skus_image', то в свойствах каждой модификации доступны элементы с ключами 'ext', 'image_filename', 'image_description' с информацией об изображении товара, отображающемся на витрине при выборе данной модификации;
    - skus_filtered: аналогично полю 'sku', но в элементе 'skus' содержатся только те модификации, свойства которых соответствуют условиям фильтрации товаров;
    - sku_filtered: аналогично полю 'skus_filtered', но в элементе 'skus' содержится только одна модификация товара, свойства которого соответствуют условиям фильтрации товаров;
    - sku: в содержимое ответа добавляются элементы с ключом 'sku' с наименованием основной модификации товара;
    - frontend_url: в содержимое ответа добавляются элементы с ключом 'frontend_url' с URL страницы товара относительно URL витрины;
    - sales_30days: в содержимое ответа добавляются элементы с ключами 'sales_30days' — с суммарной стоимостью всех модификаций товара в оплаченных заказах в виде числа, соответствующего основной валюте магазина и 'sales_30days_html' — с аналогичным значением, но с обозначением основной валюты магазина, подготовленным для использования в HTML-коде;
    - stock_worth: в содержимое ответа добавляются элементы с ключами 'stock_worth' — с суммарной стоимостью всех модификаций товара, доступных на складе, в виде числа, соответствующего основной валюте магазина, и 'stock_worth_html' — с аналогичным значением, но с обозначением основной валюты магазина, подготовленным для использования в HTML-коде.

  • filters GET Необязательно

    Закодированный для использования в URL массив параметров дополнительной фильтрации товаров со следующими ключами:
    - in_stock_only: (int) 1, если нужно получить только товары с положительными или бесконечными остатками на складе.
    - price_min: (float) Минимальная цена, выраженная в основной валюте магазина, не ниже которой должна быть цена требуемых товаров.
    - price_max: (float) Максимальная цена, выраженная в основной валюте магазина, не выше которой должна быть цена требуемых товаров.
    - unit: (int) ID складской или базовой единицы измерения количества, которая должна быть у требуемых товаров.
    - stock_unit_id: (int) ID складской единицы измерения количества, которая должна быть у требуемых товаров.
    - base_unit_id: (int) ID базовой единицы измерения количества, которая должна быть у требуемых товаров.
    - строковый идентификатор характеристики: (array) Массив информации о значениях характеристики с указанным идентификатором, которые должны быть указаны в свойствах товаров. Каждый элемент массива может представлять собой либо массив числовых ID значений характеристики, либо массив с ключами 'min' (минимальное значение), 'max' (максимальное значение), 'unit' (строковый идентификатор единицы измерения характеристики из файла dimension.php).

  • escape GET Необязательно

    Флаг (0 или 1), обозначающий необходимость экранировать свойства полученных товаров 'name' и 'url' для использования в HTML-коде. По умолчанию применяется значение 1.

  • access_token GET

    Токен авторизации, полученный при подключении к API.

  • format GET Необязательно

    Устанавливает формат ответа. Возможные значения: json (по умолчанию), xml.

Массив значений о найденных товарах со следующими ключами:

  • count int Количество найденных товаров.
  • offset int Значение параметра 'offset'.
  • limit int Значение параметра 'limit'.
  • products array Список найденных товаров. Подмассив со свойствами каждого товара содержит значения со следующими ключами:
    • products[]['id'] int ID товара.
    • products[]['name'] string Наименование.
    • products[]['summary'] string Краткое описание.
    • products[]['meta_title'] string Значение элемента TITLE страницы товара.
    • products[]['meta_keywords'] string Значение метатега keywords.
    • products[]['meta_description'] string Значение метатега description.
    • products[]['description'] string Полное описание.
    • products[]['contact_id'] int ID контакта пользователя, добавившего товар.
    • products[]['create_datetime'] datetime Дата и время создания товара.
    • products[]['edit_datetime'] datetime Дата и время последнего обновления товара.
    • products[]['status'] int Обозначение статуса товара: -1 (снят с публикации), 0 (скрыт), 1 (опубликован).
    • products[]['type_id'] int ID типа товара.
    • products[]['image_id'] int ID основного изображения.
    • products[]['image_url'] string URL эскиза основного изображения товара с размером '200x0', если у товара есть изображения.
    • products[]['video_url'] string Ссылка на видеоролик.
    • products[]['sku_id'] int ID основной модификации.
    • products[]['url'] int Редактируемая часть URL страницы товара на витрине.
    • products[]['rating'] float Рейтинг товара по результатам его оценки покупателями.
    • products[]['price'] float Цена в формате decimal(15,4).
    • products[]['compare_price'] float Зачёркнутая цена в формате decimal(15,4).
    • products[]['currency'] string Обозначение валюты товара в формате ISO 4217.
    • products[]['min_price'] float Минимальная цена модификации в формате decimal(15,4).
    • products[]['max_price'] float Максимальная цена модификации в формате decimal(15,4).
    • products[]['tax_id'] int ID выбранного налогового правила или 0, если правило не выбрано.
    • products[]['count'] float|null Общее количество на складе всех модификаций. Значение null означает, что для некоторых модификаций товара указано бесконечное количество на складе.
    • products[]['count_denominator'] int Доступная точность указания складских остатков товара. Возможные значения: 1 (целые штуки), 10 (точность до десятых), 100 (точность до сотых), 1000 (точность до тысячных).
    • products[]['order_multiplicity_factor'] float Шаг (кратность) добавления в корзину в формате decimal(15,3).
    • products[]['stock_unit_id'] int ID выбранной складской единицы измерения количества.
    • products[]['base_unit_id'] int ID выбранной базовой единицы измерения количества.
    • products[]['stock_base_ratio'] float Соотношение между складской и базовой единицами измерения количества.
    • products[]['order_count_min'] float Минимальное количество товара в заказе в формате decimal(15,3).
    • products[]['order_count_step'] float Значение изменения количества кнопками «+/-» в формате decimal(15,3).
    • products[]['cross_selling'] int Режим отображения сопутствующих товаров: 0 (выключено), 1 (включено показывать в соответствии с настройками типа товаров), 2 (включено показывать выбранные вручную рекомендуемые товары).
    • products[]['upselling'] int Режим отображения схожих и альтернативных товаров: 0 (выключено), 1 (включено показывать в соответствии с настройками типа товаров), 2 (включено показывать выбранные вручную рекомендуемые товары).
    • products[]['rating_count'] int Количество отзывов о товаре.
    • products[]['total_sales'] float Общая сумма продаж товара, выраженная в основной валюте магазина, в формате decimal(15,4).
    • products[]['total_sales_html'] string Общая сумма продаж с обозначением валюты товара, подготовленная для использования в HTML-коде.
    • products[]['category_id'] int ID основной категории.
    • products[]['badge'] string Обозначение одной из стандартных наклеек либо HTML собственной наклейки для изображений.
    • products[]['sku_type'] int Тип выбора модификаций товара на витрине: 0 (по наименованиям артикулов), 1 (по значениям характеристик).
    • products[]['sku_count'] int Количество модификаций.
    • products[]['skus'] array Массив информации о модификациях товара. Присутствует в ответе, если в параметре fields указано одно из значений skus, skus_filtered, sku_filtered. Ключи массива — ID модификаций. Подмассив каждой модификации содержит значения со следующими ключами:
      • products[]['skus'][]['id'] int ID модификации.
      • products[]['skus'][]['product_id'] int ID товара, к которому относится модификация.
      • products[]['skus'][]['sku'] int Код артикула.
      • products[]['skus'][]['sort'] int Значение сортировки.
      • products[]['skus'][]['name'] string Наименование артикула.
      • products[]['skus'][]['image_id'] int ID изображения, выбранного в свойствах модификации.
      • products[]['skus'][]['price'] float Цена в формате decimal(15,4).
      • products[]['skus'][]['purchase_price'] float Закупочная цена в формате decimal(15,4).
      • products[]['skus'][]['compare_price'] float Зачёркнутая цена в формате decimal(15,4).
      • products[]['skus'][]['count'] float|null Общее количество на складе в формате decimal(15,3) или null, если количество бесконечное.
      • products[]['skus'][]['available'] int Флаг (0 или 1), означающий доступность модификации для заказа.
      • products[]['skus'][]['stock_base_ratio'] float Соотношение между складской и базовой единицами измерения количества.
      • products[]['skus'][]['order_count_min'] float Минимальное количество модификации в заказе в формате decimal(15,3).
      • products[]['skus'][]['order_count_step'] float Значение изменения количества кнопками «+/-» в формате decimal(15,3).
      • products[]['skus'][]['status'] int Видимость модификации на витрине.
      • products[]['skus'][]['file_name'] string Имя прикреплённого файла.
      • products[]['skus'][]['file_size'] int Размер прикреплённого файла в байтах.
      • products[]['skus'][]['file_description'] string Описание прикреплённого файла.
      • products[]['skus'][]['stock'] array Массив с информацией об остатках на отдельных складах. Присутствует в ответе, если в параметре fields указано значение stock_counts. Ключи массива — ID складов, значения — остатки модификации товара в формате decimal(15,3).
    • products[]['images'] array Массив с информацией об изображениях товара. Присутствует в ответе, если в параметре fields указано значение images. Ключи массива — ID изображений. Подмассив каждого изображения содержит значения со следующими ключами:
      • products[]['images'][]['id'] int ID изображения.
      • products[]['images'][]['product_id'] int ID товара, к которому относится изображение.
      • products[]['images'][]['upload_datetime'] datetime Дата и время загрузки в свойства товара.
      • products[]['images'][]['description'] string Описание.
      • products[]['images'][]['sort'] int Значение сортировки начиная с 0.
      • products[]['images'][]['width'] int Ширина в пикселях.
      • products[]['images'][]['height'] int Высота в пикселях.
      • products[]['images'][]['size'] int Размер файла в байтах.
      • products[]['images'][]['original_filename'] string Оригинальное имя загруженного файла.
      • products[]['images'][]['ext'] string Расширение имени файла.
      • products[]['images'][]['url_thumb'] string URL эскиза изображения с размером '200x0'.
      • products[]['images'][]['url_crop'] string URL эскиза изображения с размером '96x96'.
      • products[]['images'][]['url_big'] string URL эскиза изображения с размером '970'.

Пример

https://demo1-ru.webasyst.com/api.php/shop.product.search?