API: Каталог

Содержание
позволяет получить товары
позволяет получить разделы каталога
позволяет подсчитать количество товаров
позволяет подсчитать количество разделов каталога
позволяет получить данные по дополнительным модулям каталога
позволяет подсчитать количество брендов, категорий, тегов или фильтров
позволяет получить данные по фильтрам текущего раздела
позволяет вывести результаты поиска
позволяет добавить товар
позволяет обновить товар по ID
позволяет удалить товар по ID
позволяет добавить раздел
позволяет обновить раздел по ID
позволяет удалить раздел по ID



Метод catalog позволяет получить товары.


Первым параметром запроса передается массив с возможными значениями указанными ниже:


join позволяет указать дополнительные таблицы для выборки из БД. Параметр необходим, если выборка связана с определенным разделом, брендом, категорией, тегом или коллекцией
Тип array
Возможные значения
в качестве ключа передается одно из значений: part, brand, category, tags, collections. В качестве значения передается ID из соответствующей таблицы. В случае, если необходимо передать несколько ID - используется массив
Значение по умолчанию нет


where условия для выборки из БД
Тип array
Возможные значения любой допустимый набор пар ключ-значение для корректного sql запроса, например array('catalog.id' => 1) будет соответствовать записи "WHERE catalog.id=1".
Значение по умолчанию нет


where_in условия для выборки из БД (аналог SQL синтаксиса WHERE IN)
Тип array
Возможные значения принимается массив из 2х значений, где первое - поле в таблице, а второе - его возможные значения для построения запроса вида WHERE catalog.id IN (10, 20, 30).
Значение по умолчанию нет


where_not_in условия для выборки из БД (аналог SQL синтаксиса WHERE NOT IN)
Тип array
Возможные значения принимается массив из 2х значений, где первое - поле в таблице, а второе - его исключенные значения для построения запроса вида WHERE catalog.id NOT IN (10, 20, 30).
Значение по умолчанию нет


Внимание! Для методов where, where_in, where_not_in необходимо учитывать наличие синонимов, поэтому к полю, которое участвует в условии для выборки, добавляется название таблицы (например catalog.id, если необходимо в условии использовать ID товара)


limit ограничение по количеству вывода данных
Тип integer
Значение по умолчанию нет


offset сдвиг для построения пагинации
Тип integer
Значение по умолчанию нет


order порядок вывода данных (сортировка)
Тип string
Возможные значения любая допустимая сортировка согласно БД, например 'catalog.name asc' будет соответствовать сортировке по имени от А до Я. Для сортировки по возрастанию используется asc, по убыванию - desc.
Значение по умолчанию нет


filters фильтрация данных
Тип array
Возможные значения Для просмотра информации перейдите по ссылке
Значение по умолчанию нет


extra дополнительные данные, которые необходимо получить
Тип array
Возможные значения массив с максимальным набором данных выглядит следующим образом array('video', 'files', 'part', 'brand', 'category', 'tags', 'collections', 'options', 'filters', 'params'), где brand - бренды, category - категории товаров, part - разделы, tags - теги, collections - коллекции, options - опции товара, filters - значения фильтров данного товара, params - значения доп. параметров данного товара
Значение по умолчанию нет


strict строгий режим, если включен, то выводятся только те товары, у которых активен родительский раздел
Тип boolean
Значение по умолчанию
true


full если параметр равен false, то дополнительные данные выгружаются только с флагом active=1
Тип boolean
Значение по умолчанию
false


Внимание! Для использования параметров join, where, order и filters, а также для корректной обработки ответа, необходимо знать структуру таблицы, соответствующей данному методу. Для просмотра информации перейдите по ссылке.



Вторым параметром передается render:


render отвечает за вывод групповых товаров в списках, если параметр равен true, то выводятся только те товары, у которых render=1
Тип boolean
Значение по умолчанию
false



Внимание! Для данного метода необходимо учитывать наличие синонимов, поэтому к полям, при необходимости, добавляется название таблицы (например catalog.active, catalog.name и т.д.).



Пример простейшего вызова:

$this->smartriver->catalog();


Пример вызова с параметрами:

$this->smartriver->catalog(['join' => ['part' => 2], 'where' => ['catalog.active' => 1], 'limit' => 10, 'extra' => ['video', 'files', 'part', 'brand', 'category', 'tags', 'options', 'filters', 'params']], true);


Пример ответа:

Array
(
    [status] => ok
    [message] => success
    [response] => Array
        (
            [0] => Array
                (
                    [id] => 6
                    [id_source] => 
                    [id_tpl] => -1
                    [vendor_code] => testovy_tovar
                    [name] => Тестовый товар
                    [desc_short] => 

Анонс

[desc_full] =>

Контент

[price] => 1000.00 [price_new] => 900.00 [best_price] => 900.00 [amount] => 1 [unit] => шт. [step] => 1 [weight] => 1 [width] => 10 [height] => 5 [length] => 15 [digital] => 0 [service] => 0 [color] => 1 [link] => /products/testovy_tovar-6 [image] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif [group] => [seo_title] => [seo_keywords] => [seo_description] => [sort] => 0 [active] => 1 [active_part] => 1 [render] => 0 [main] => 0 [no_yml] => 1 [photo] => Array ( [0] => Array ( [url] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif [caption] => ) [1] => Array ( [url] => /images/gallery/IkbQSDqL8w8ZywGHmqPc.gif [caption] => ) ) [video] => Array ( [0] => Array ( [id] => 197 [name] => Вводный урок [type] => youtube [url] => https://www.youtube.com/watch?v=7ufekNACRTk [codec] => [html] => HTML_CODE ) [1] => Array ( [id] => 6 [name] => Создание стиля для текста.mp4 [type] => mp4 [url] => /video/9O6cnnEqmhOCed5FefBF.mp4 [codec] => avc1.42E01E, mp4a.40.2 [html] => HTML_CODE ) ) [files] => Array ( [0] => Array ( [id] => 2 [name] => Текст для заглушки.txt [size] => 0.95 [extention] => txt [type] => document [media] => [mediaType] => [url] => /files/qmaihv9lft7l7otadm2m.txt ) [1] => Array ( [id] => 3 [name] => Логотип для сайта заглушки.svg [size] => 19.97 [extention] => svg [type] => svg [media] => 1 [mediaType] => image [url] => /files/vrb7tc04wm9k5wx7gvdl.svg ) [2] => Array ( [id] => 1 [name] => Стили использующиеся на сайте-заглушке.pdf [size] => 133.7 [extention] => pdf [type] => pdf [media] => [mediaType] => [url] => /files/fadgivq2pc08qxy3xtpl.pdf ) ) [part] => Array ( [0] => Array ( [id] => 2 [id_source] => [id_parent] => 0 [id_tpl] => -1 [vendor_code] => Артикул [name] => Тестовый раздел [announce] =>

Анонс

[description] =>

Описание

[link] => /catalog/testovy_razdel-2 [image] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif [main] => 1 [sort] => 0 [active] => 1 [no_yml] => 1 ) ) [brand] => Array ( [id] => 1 [id_tpl] => -1 [name] => Тестовый бренд [description] => [link] => testovy_brend [image] => [sort] => 0 [active] => 1 ) [category] => Array ( [0] => Array ( [id] => 2 [name] => Тестовый статус [description] => [image] => /images/gallery/hWwyGaQN2XFFSa3NJfsF.svg [sort] => 0 [active] => 1 ) ) [tags] => Array ( [0] => Array ( [id] => 1 [name] => Тестовый тег [sort] => 0 [active] => 1 ) ) [options] => Array ( [0] => Array ( [id] => 5 [name] => Тестовая опция [description] =>

Тестовое описание

[image] => /images/gallery/UrUAhlViswuCcPSJTPZz.svg [price] => 150.00 [sort] => 0 [active] => 1 ) ) [filters] => Array ( [0] => Array ( [id] => 2 [name] => Тестовый фильтр [type] => select [value] => test [value_p] => Тест [section] => item [sort] => 0 [active] => 1 [all_parts] => 0 [unit] => шт [no_yml] => 0 ) ) [params] => Array ( [0] => Array ( [id] => test_param [name] => Тестовый параметр [type] => photo [value] => /images/gallery/Wmxk10E6KjmMe2TCYGxL.svg [section] => item [sort] => 0 [active] => 1 [all_parts] => 0 [group] => test [is_group] => 0 [unit] => шт [no_yml] => 0 ) ) ) ) [settings] => Array ( [amount_step] => 1 [currency] => rouble [default_photo] => [goods_order] => price asc [group_color] => [group_height] => [group_length] => [group_weight] => [group_width] => [ignore_amount] => [name_format] => name [unique_options] => [watermark] => [price_format_decimals] => 0 [price_format_dec_point] => [price_format_delimiter] => ) )


Помимо основных данных, всегда выгружаются дополнительные фото (photo) для каждого товара, а также список настроек модуля "Каталог" (settings) в общем массиве данных (даже если выборка содержит 0 совпадений).



Настройки модуля каталог


amount_step
шаг заказа (параметр определяет, на какое кол-во можно увеличить или уменьшить позицию в корзине)
currency валюта (подробнее о валютах в системе SE4 по ссылке)
default_photo фото, которое используется по умолчанию, если фото к товару или разделу не было загружено
goods_order сортировка товаров по умолчанию
group_color
групповая характеристика "Цвет"
group_height
групповая характеристика "Высота"
group_length
групповая характеристика "Длина"
group_size
групповая характеристика "Размер"
group_weight
групповая характеристика "Вес"
group_width
групповая характеристика "Ширина"
ignore_amount
не учитывать наличие
name_format формат названия товара (подробнее о формате названия товара в системе SE4 по ссылке)
unique_options если параметр равен 1, то к товару нельзя добавить больше одной опции (используется при создания переключателей), если же параметр равен 0, то к товару можно добавить сколько угодно опций (используется при создании чекбоксов)
watermark водяной знак, который автоматически накладывается при загрузке фото через админ. панель SE4
price_format_decimals  количество цифр после разделителя
price_format_dec_point
разделитель дробной части
price_format_delimiter
разделитель тысяч



Метод catalog_part позволяет получить разделы каталога.


Параметры запроса (передаются в массиве):


where условия для выборки из БД
Тип array
Возможные значения любой допустимый набор пар ключ-значение для корректного sql запроса, например array('id' => 1) будет соответствовать записи "WHERE id=1"
Значение по умолчанию нет


where_in условия для выборки из БД (аналог SQL синтаксиса WHERE IN)
Тип array
Возможные значения принимается массив из 2х значений, где первое - поле в таблице, а второе - его возможные значения для построения запроса вида WHERE id IN (10, 20, 30).
Значение по умолчанию нет


where_not_in условия для выборки из БД (аналог SQL синтаксиса WHERE NOT IN)
Тип array
Возможные значения принимается массив из 2х значений, где первое - поле в таблице, а второе - его исключенные значения для построения запроса вида WHERE id NOT IN (10, 20, 30).
Значение по умолчанию нет


limit ограничение по количеству вывода данных
Тип integer
Значение по умолчанию нет


offset сдвиг для построения пагинации
Тип integer
Значение по умолчанию нет


order порядок вывода данных (сортировка)
Тип string
Возможные значения любая допустимая сортировка согласно БД, например 'name asc' будет соответствовать сортировке по имени от А до Я. Для сортировки по возрастанию используется asc, по убыванию - desc
Значение по умолчанию нет


filters фильтрация данных
Тип array
Возможные значения Для просмотра информации перейдите по ссылке
Значение по умолчанию нет


extra дополнительные данные, которые необходимо получить
Тип array
Возможные значения массив с максимальным набором данных выглядит следующим образом array('video', 'files', 'filters', 'params'), где filters - значения фильтров данного раздела, params - значения доп. параметров данного раздела
Значение по умолчанию нет


full если параметр равен false, то дополнительные данные выгружаются только с флагом active=1
Тип boolean
Значение по умолчанию
false


Внимание! Для использования параметров where, order и filters, а также для корректной обработки ответа, необходимо знать структуру таблицы, соответствующей данному методу. Для просмотра информации перейдите по ссылке.



Пример простейшего вызова:

$this->smartriver->catalog_part();


Пример вызова с параметрами:

$this->smartriver->catalog_part(['where' => ['id' => 2], 'extra' => ['video', 'files', 'filters', 'params']]);


Пример ответа:

Array
(
    [status] => ok
    [message] => success
    [response] => Array
        (
            [0] => Array
                (
                    [id] => 2
                    [id_source] => 
                    [id_parent] => 0
                    [id_tpl] => -1
                    [vendor_code] => Артикул
                    [name] => Тестовый раздел
                    [announce] => 

Анонс

[description] =>

Описание

[link] => /catalog/testovy_razdel-2 [image] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif [seo_title] => [seo_keywords] => [seo_description] => [sort] => 0 [active] => 1 [no_yml] => 1 [photo] => Array ( [0] => Array ( [url] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif [caption] => ) [1] => Array ( [url] => /images/gallery/IkbQSDqL8w8ZywGHmqPc.gif [caption] => ) ) [video] => Array ( [0] => Array ( [id] => 198 [name] => Вводный урок [type] => youtube [url] => https://www.youtube.com/watch?v=7ufekNACRTk&t=1s [codec] => [html] => HTML_CODE ) [1] => Array ( [id] => 6 [name] => Создание стиля для текста.mp4 [type] => mp4 [url] => /video/9O6cnnEqmhOCed5FefBF.mp4 [codec] => avc1.42E01E, mp4a.40.2 [html] => HTML_CODE ) ) [files] => Array ( [0] => Array ( [id] => 2 [name] => Текст для заглушки.txt [size] => 0.95 [extention] => txt [type] => document [media] => [mediaType] => [url] => /files/qmaihv9lft7l7otadm2m.txt ) [1] => Array ( [id] => 3 [name] => Логотип для сайта заглушки.svg [size] => 19.97 [extention] => svg [type] => svg [media] => 1 [mediaType] => image [url] => /files/vrb7tc04wm9k5wx7gvdl.svg ) [2] => Array ( [id] => 1 [name] => Стили использующиеся на сайте-заглушке.pdf [size] => 133.7 [extention] => pdf [type] => pdf [media] => [mediaType] => [url] => /files/fadgivq2pc08qxy3xtpl.pdf ) ) [filters] => Array ( [0] => Array ( [id] => 3 [name] => Тестовый фильтр раздела [type] => select [value] => test [value_p] => Тест [section] => part [sort] => 0 [active] => 1 [all_parts] => 0 [unit] => ед [no_yml] => 1 ) ) [params] => Array ( [0] => Array ( [id] => test_param_p [name] => Тестовый параметр [type] => text [value] => Тестовое значение [section] => part [sort] => 0 [active] => 1 [all_parts] => 0 [group] => test [is_group] => 0 [unit] => ед [no_yml] => 1 ) ) ) ) )


Помимо основных данных, всегда выгружаются дополнительные фото (photo) для каждого раздела.



Метод catalog_count позволяет подсчитать количество товаров по заданной выборке для построения пагинации.


Первым параметром запроса передается массив с возможными значениями указанными ниже:


join работает аналогично методу catalog (нажмите, чтобы посмотреть)
Тип string
Возможные значения
part, brand, category
Значение по умолчанию нет


where условия для выборки из БД
Тип array
Возможные значения работает аналогично методу catalog (нажмите, чтобы посмотреть)
Значение по умолчанию нет


where_in условия для выборки из БД (аналог SQL синтаксиса WHERE IN)
Тип array
Возможные значения работает аналогично методу catalog (нажмите, чтобы посмотреть)
Значение по умолчанию нет


where_not_in условия для выборки из БД (аналог SQL синтаксиса WHERE NOT IN)
Тип array
Возможные значения работает аналогично методу catalog (нажмите, чтобы посмотреть)
Значение по умолчанию нет


Внимание! Для методов where, where_in, where_not_in необходимо учитывать наличие синонимов, поэтому к полю, которое участвует в условии для выборки, добавляется название таблицы (например catalog.id, если необходимо в условии использовать ID товара)


filters фильтрация данных
Тип array
Возможные значения Для просмотра информации перейдите по ссылке
Значение по умолчанию нет


strict строгий режим, если включен, то выводятся только те товары, у которых активен родительский раздел
Тип boolean
Значение по умолчанию true


Внимание! Для использования параметров join, where и filters, а также для корректной обработки ответа, необходимо знать структуру таблицы, соответствующей данному методу. Для просмотра информации перейдите по ссылке.



Вторым параметром передается render:


render отвечает за вывод групповых товаров в списках, если параметр равен true, то выводятся только те товары, у которых render=1
Тип boolean
Значение по умолчанию
false



Пример простейшего вызова:

$this->smartriver->catalog_count();


Пример вызова с параметрами:

$this->smartriver->catalog_count(['join' => ['part' => 2]], true);


Пример ответа:

Array
(
    [status] => ok
    [message] => success
    [response] => 1
)



Метод catalog_part_count позволяет подсчитать количество разделов каталога по заданной выборке для построения пагинации.


Параметры запроса (передаются в массиве):


where условия для выборки из БД
Тип array
Возможные значения работает аналогично методу catalog_part (нажмите, чтобы посмотреть)
Значение по умолчанию нет


where_in условия для выборки из БД (аналог SQL синтаксиса WHERE IN)
Тип array
Возможные значения работает аналогично методу catalog_part (нажмите, чтобы посмотреть)
Значение по умолчанию нет


where_not_in условия для выборки из БД (аналог SQL синтаксиса WHERE NOT IN)
Тип array
Возможные значения работает аналогично методу catalog_part (нажмите, чтобы посмотреть)
Значение по умолчанию нет


filters фильтрация данных
Тип array
Возможные значения Для просмотра информации перейдите по ссылке
Значение по умолчанию нет


Внимание! Для использования параметра where и filters необходимо знать структуру таблицы, соответствующей данному методу. Для просмотра информации перейдите по ссылке.



Пример простейшего вызова:

$this->smartriver->catalog_part_count();


Пример вызова с параметрами:

$this->smartriver->catalog_part_count(['where' => ['id' => 2]]);


Пример ответа:

Array
(
    [status] => ok
    [message] => success
    [response] => 1
)



Метод catalog_extra позволяет получить данные по дополнительным модулям каталога, таким как бренды, категории, теги и коллекции.


Параметры запроса:


section модуль, по которому ведется выборка
Тип string
Возможные значения
brand, category, tags, collections
Значение по умолчанию
нет


params массив с параметрами запроса, содержит следующие данные:
where Описание

условия для выборки из БД

    

Тип array
Возможные значения
любой допустимый набор пар ключ-значение для корректного sql запроса, например array('active' => 1) будет соответствовать записи "WHERE active=1"
Значение по умолчанию
нет
limit Описание ограничение по количеству вывода данных
Тип integer
Значение по умолчанию
нет
offset Описание сдвиг для построения пагинации
Тип integer
Значение по умолчанию
нет
order Описание порядок вывода данных (сортировка)
Тип string
Возможные значения любая допустимая сортировка согласно БД, например 'name asc' будет соответствовать сортировке по имени от А до Я. Для сортировки по возрастанию используется asc, по убыванию - desc
Значение по умолчанию
нет


Внимание! Для использования параметров where и order, а также для корректной обработки ответа, необходимо знать структуру таблиц, соответствующих данному методу. Для просмотра информации перейдите по ссылке.



Пример простейшего вызова:

$this->smartriver->catalog_extra('brand');


Пример вызова с параметрами:

$this->smartriver->catalog_extra('brand', ['where' => ['id' => 1]]);


Пример ответа:

Array
(
    [status] => ok
    [message] => success
    [response] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [id_tpl] => -1
                    [name] => Тестовый бренд
                    [description] => 
                    [link] => /catalog/brand/testovy_brend
                    [image] => 
                    [seo_title] => 
                    [seo_keywords] => 
                    [seo_description] => 
                    [sort] => 0
                    [active] => 1
                    [photo] => Array
                        (
                        )

                )

        )

)


Помимо основных данных, для брендов и категорий выгружаются фото (photo).



Метод catalog_extra_count позволяет подсчитать количество брендов, категорий, тегов или коллекций.


Параметры запроса:


section модуль, по которому ведется выборка
Тип string
Возможные значения brand, category, tags, collections
Значение по умолчанию нет


where условия для выборки из БД
Тип array
Возможные значения любой допустимый набор пар ключ-значение для корректного sql запроса, например array('active' => 1) будет соответствовать записи "WHERE active=1"
Значение по умолчанию нет


Внимание! Для использования параметра where необходимо знать структуру таблицы, соответствующей данному методу. Для просмотра информации перейдите по ссылке.



Пример простейшего вызова:

$this->smartriver->catalog_extra_count('brand');


Пример вызова с параметрами:

$this->smartriver->catalog_extra_count('brand', ['id' => 1]);


Пример ответа:

Array
(
    [status] => ok
    [message] => success
    [response] => 1
)



Метод catalog_filters позволяет получить данные по фильтрам текущего раздела.


В отличие от остальных методов, данный метод отдает только фильтры с флагом active=1, т.к. создан исключительно для ускорения вывода, а не для использования в других модулях. Если необходимо получить все данные или дополнить выборку дополнительными условиями, воспользуйтесь следующим руководством.


Параметры запроса:


id_part ID раздела, по которому идет фильтрация
Тип integer
Значение по умолчанию нет


section Тип фильтра
Тип string
Возможные значения
item - фильтры товаров, part - фильтры разделов, all - все фильтры
Значение по умолчанию item


order порядок вывода данных (сортировка)
Тип string
Возможные значения любая допустимая сортировка согласно БД, например 'sort asc, name asc' будет соответствовать сортировке из админ. панели + сортировке по имени. Для сортировки по возрастанию используется asc, по убыванию - desc
Значение по умолчанию нет


Внимание! Для использования параметра order, а также для корректной обработки ответа, необходимо знать структуру таблицы, соответствующей данному методу. Для просмотра информации перейдите по ссылке.



Пример простейшего вызова:

$this->smartriver->catalog_filters(2);


Пример вызова с параметрами:

$this->smartriver->catalog_filters(2, 'item', 'sort asc, name asc');


Пример ответа:

Array
(
    [status] => ok
    [message] => success
    [response] => Array
        (
            [0] => Array
                (
                    [id] => 2
                    [name] => Тестовый фильтр
                    [type] => select
                    [section] => item
                    [sort] => 0
                    [values] => Array
                        (
                            [0] => Array
                                (
                                    [id] => test
                                    [name] => Тест
                                    [sort] => 0
                                    [has_value] => test
                                )

                        )

                )

        )

)


Помимо основных данных, выгружаются значения (values) для каждого фильтра.



Метод catalog_search позволяет вывести результаты поиска по заданным параметрам.


Параметры запроса (передаются в массиве):


search строка поиска
Тип string
Значение по умолчанию нет


page страница пагинации
Тип integer
Значение по умолчанию 1


limit ограничение по количеству вывода данных
Тип integer
Значение по умолчанию нет


extra дополнительные данные, которые необходимо получить
Тип array
Возможные значения работает аналогично методу catalog (нажмите, чтобы посмотреть)
Значение по умолчанию нет



Пример простейшего вызова:

$this->smartriver->catalog_search();


Пример вызова с параметрами:

$this->smartriver->catalog_search(['search' => 'Тест', 'extra' => ['brand', 'category']]);


Пример ответа:

Array
(
    [status] => ok
    [message] => search completed
    [response] => Array
        (
            [0] => Array
                (
                    [id] => 6
                    [id_source] => 
                    [id_tpl] => -1
                    [vendor_code] => testovy_tovar
                    [name] => Тестовый товар
                    [desc_short] => 

Анонс

[desc_full] =>

Контент

[price] => 1000.00 [price_new] => 900.00 [best_price] => 900.00 [amount] => 1 [unit] => шт. [step] => 1 [weight] => 1 [width] => 10 [height] => 5 [length] => 15 [digital] => 0 [service] => 0 [color] => 1 [link] => /products/testovy_tovar-6 [image] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif [group] => [seo_title] => [seo_keywords] => [seo_description] => [sort] => 0 [active] => 1 [active_part] => 1 [render] => 0 [main] => 0 [no_yml] => 1 [photo] => Array ( [0] => Array ( [url] => /images/gallery/x5Gkh3zUvHH9dOFgDUmj.gif [caption] => ) [1] => Array ( [url] => /images/gallery/IkbQSDqL8w8ZywGHmqPc.gif [caption] => ) ) [brand] => Array ( [id] => 1 [id_tpl] => -1 [name] => Тестовый бренд [description] => [link] => testovy_brend [image] => [sort] => 0 [active] => 1 ) [category] => Array ( [0] => Array ( [id] => 2 [name] => Тестовый статус [description] => [image] => /images/gallery/hWwyGaQN2XFFSa3NJfsF.svg [sort] => 0 [active] => 1 ) ) ) ) [count] => 1 )


Помимо результатов поиска, также выгружается количество совпадений (count) для построения пагинации в случае, если был передан limit (иначе count будет равен 0).



Метод catalog_item_add позволяет добавить товар.


Параметры запроса (передаются в массиве):


В качестве параметра может выступать любое значение из таблицы catalog кроме следующих полей: id, best_price, active_part и filter_N_exist.


В качестве обязательного параметра при добавлении передается:


part раздел товара
Тип int или array (если разделов несколько)
Значение по умолчанию нет


Дополнительно можно передать параметр:


sync определяет по какому ключу будет осуществляться обновление данных товара в случае, если он уже добавлен в БД
Тип string
Возможные значения vendor_code, id_source
Значение по умолчанию нет



Пример простейшего вызова:

$this->smartriver->catalog_item_add(['part' => 1]);


Пример вызова с параметрами:

$this->smartriver->catalog_item_add(['name' => 'Тестовый товар', 'id_source' => 'source_1', 'id_tpl' => 1, 'price' => 590, 'amount' => 15, 'part' => 1]);


Пример вызова при синхронизации:

$this->smartriver->catalog_item_add(['id_source' => 'source_1', 'name' => 'Тестовый товар #2', 'price' => 990, 'amount' => 10, 'part' => 2, 'sync' => 'id_source']);


Пример ответа:


Array

(

    [status] => ok

    [message] => item created

    [id] => 1


)



Метод catalog_item_update позволяет обновить товар по ID в системе SE4.


Параметры запроса:


id ID товара в системе SE4
Тип int
Значение по умолчанию нет


data массив данных для обновления товара (возможные ключи описаны в таблице catalog кроме следующих полей: id, best_price, active_part и filter_N_exist).
Тип array
Значение по умолчанию []


part раздел товара
Тип int или array (если разделов несколько)
Значение по умолчанию []



Пример простейшего вызова:

$this->smartriver->catalog_item_update(1, [], 1);


Пример вызова с параметрами:

$this->smartriver->catalog_item_update(1, ['price' => 320, 'amount' => 20], [1, 7]);


Пример ответа:


Array

(

    [status] => ok

    [message] => item updated


)



Метод catalog_item_delete позволяет удалить товар по ID в системе SE4.


Параметры запроса:


id ID товара в системе SE4
Тип int
Значение по умолчанию нет



Пример простейшего вызова:

$this->smartriver->catalog_item_delete(1);


Пример ответа:


Array

(

    [status] => ok

    [message] => item deleted


)



Метод catalog_part_add позволяет добавить раздел.


Параметры запроса (передаются в массиве):


В качестве параметра может выступать любое значение из таблицы catalog_part кроме следующих полей: id и main. Поле description заменяется на `desc`.


В качестве дополнительного параметра можно передать:



sync определяет по какому ключу будет осуществляться обновление данных раздела в случае, если он уже добавлен в БД
Тип string
Возможные значения vendor_code, id_source
Значение по умолчанию нет



Пример простейшего вызова:

$this->smartriver->catalog_part_add();


Пример вызова с параметрами:

$this->smartriver->catalog_part_add(['name' => 'Тестовый раздел', 'id_source' => 'source_1', 'id_tpl' => 1]);


Пример вызова при синхронизации:

$this->smartriver->catalog_part_add(['id_source' => 'source_1', 'name' => 'Тестовый раздел #2', 'sync' => 'id_source']);


Пример ответа:


Array

(

    [status] => ok

    [message] => part created

    [id] => 1


)



Метод catalog_part_update позволяет обновить раздел по ID в системе SE4.


Параметры запроса:


id ID раздела в системе SE4
Тип int
Значение по умолчанию нет


data массив данных для обновления раздела (возможные ключи описаны в таблице catalog_part кроме поля main).
Тип array
Значение по умолчанию []



Пример простейшего вызова:

$this->smartriver->catalog_part_update(1, []);


Пример вызова с параметрами:

$this->smartriver->catalog_part_update(1, ['name' => 'Тестовый раздел #2']);


Пример ответа:


Array

(

    [status] => ok

    [message] => part updated


)



Метод catalog_part_delete позволяет удалить раздел по ID в системе SE4.


Параметры запроса:


id ID раздела в системе SE4
Тип int
Значение по умолчанию нет


Внимание! При использовании данного метода необходимо учитывать, что удаляемый раздел может содержать другие разделы и товары. Если удалить родительский раздел, то все дочерние элементы перестанут отображаться в администраторской панели SE4. Чтобы избежать этого, используйте корректные проверки перед запуском метода удаления раздела.



Пример простейшего вызова:

$this->smartriver->catalog_part_delete(1);


Пример ответа:


Array

(

    [status] => ok

    [message] => part deleted


)

Была ли полезна для вас данная статья?