Для звонков из регионов России

Для звонков из Москвы

API: Каталог

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


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


join позволяет указать дополнительные таблицы для выборки из БД. Параметр необходим, если выборка связана с определенным разделом, брендом, категорией или тегами
Тип array
Возможные значения
в качестве ключа передается одно из значений: part, brand, category, tags. В качестве значения передается 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.

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


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


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


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



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



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


$this->smartriver->catalog();


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


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


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


Array

(

    [status] => ok

    [message] => success

    [response] => Array

        (

            [0] => Array

                (

                    [id] => 64

                    [id_tpl] => 20

                    [vendor_code] => TEST_VC

                    [name] => Тестовый товар

                    [desc_short] =>

                    [desc_full] =>

                    [price] => 2730.00

                    [price_new] => 2550.00

                    [best_price] => 2550.00

                    [amount] => 0

                    [link] => testovy_tovar

                    [image] => /images/gallery/wR6qQFpA5StQF4B7mXfW.jpg

                    [seo_title] =>

                    [seo_keywords] =>

                    [seo_description] =>

                    [sort] => 0

                    [active] => 1
[active_part] => 1 

                    [photo] => Array

                        (

                            [0] => Array

                                (

                                    [url] => /images/gallery/VuLC8Fr653kxwLMDeOeW.jpg

                                    [caption] =>

                                )


                            [1] => Array

                                (

                                    [url] => /images/gallery/C2SC3VoiQNCPvQzyJbsW.jpg

                                    [caption] =>

                                )


                            [2] => Array

                                (

                                    [url] => /images/gallery/f6a5ef7567370db556922aff5e2256d5.jpg

                                    [caption] =>

                                )


                        )


                    [files] => Array

                        (

                            [0] => Array

                                (

                                    [name] => Тестовый файл

                                    [url] => /files/Rm3Mlw8h8UpHFCK5G2ga.txt

                                    [active] => 1

                                )


                        )


                    [part] => Array

                        (

                            [0] => Array

                                (

                                    [id] => 1

                                    [id_parent] => 0

                                    [id_tpl] => 21

                                    [vendor_code] =>

                                    [name] => Тестовый раздел

                                    [announce] =>

                                    [description] =>

                                    [link] => test

                                    [image] => /images/gallery/RufRP18W9KktopaZvxbP.jpg

                                    [main] => 0

                                    [sort] => 5

                                    [active] => 1

                                )


                        )


                   

                    [brand] => Array

(
[id] => 3
[id_tpl] => 5
[name] => Тестовый бренд
[description] =>
[link] => testoviy_brend
[image] => /images/gallery/1YQwLW6P7eiPsRt2qIQH.jpg
[sort] => 1
[active] => 1
)

[category] => Array
(
[0] => Array
(
[id] => 3
[name] => Новинка
[description] =>
[image] => /images/catalog/ursBnkJox3VJEl73WEJZ.jpg
[sort] => 3
[active] => 0
)


                            [1] => Array

                                (

                                    [id] => 1

                                    [name] => Акция

                                    [description] => Описание акции

                                    [image] =>

                                    [sort] => 4

                                    [active] => 1

                                )


                        )


                    [tags] => Array

                        (

                            [0] => Array

                                (

                                    [id] => 7

                                    [name] => Распродажа

                                    [sort] => 0

                                    [active] => 1

                                )


                            [1] => Array

                                (

                                    [id] => 5

                                    [name] => Тест

                                    [sort] => 0

                                    [active] => 1

                                )


                            [2] => Array

                                (

                                    [id] => 6

                                    [name] => Товар

                                    [sort] => 0

                                    [active] => 1

                                )


                        )


                    [varieties] => Array

                        (

                            [0] => Array

                                (

                                    [id] => 9

                                    [name] => Тестовая модификация

                                    [image] => /images/gallery/6JIFaDoFjzi8eThzgW0y.jpg

                                    [value] =>

                                    [unit] =>

                                    [price] => 5820.00

                                    [price_new] => 5630.00

                                    [sort] => 0

                                    [active] => 1

                                )


                        )


                    [options] => Array

                        (

                            [0] => Array

                                (

                                    [id] => 8

                                    [name] => Тестовая опция

                                    [image] => /images/gallery/0ba943fd0335f4d7307d1601d51164e5.jpg

                                    [price] => 250.00

                                    [sort] => 0

                                    [active] => 1

                                )


                        )


                    [filters] => Array

                        (

                            [0] => Array

                                (

                                    [id] => 9

                                    [name] => Тестовый фильтр

                                    [type] => select

                                    [value] => variant_2
[value_p] => Вариант 2
                                    [section] => all

                                    [sort] => 0

                                    [active] => 1
                                    [all_parts] => 1

                                )


                        )


                    [params] => Array

                        (

                            [0] => Array

                                (

                                    [id] => test_param

                                    [name] => Тестовый параметр

                                    [type] => text

                                    [value] => Тестовое значение

                                    [section] => all

                                    [sort] => 0

                                    [active] => 1
                                    [all_parts] => 1

                                )


                        )


                )


        )


    [settings] => Array

        (

            [currency] => rouble

            [currency_position] => right

            [default_photo] => /images/gallery/2it42IRI959rfdtSb2zG.svg

            [files_doc] => /images/gallery/da3d6238c8bc19b6f1933df0f1673d8a.svg

            [files_docx] =>

            [files_gif] => /images/gallery/a41e58e2661e886cd66119994f1b13fa.svg

            [files_jpg] => /images/gallery/5578a31e8e07483359b099ea50ca5763.svg

            [files_ods] =>

            [files_odt] =>

            [files_pdf] => /images/gallery/931f99566b13532b3c673c63b61e56b7.svg

            [files_png] =>

            [files_svg] => /images/gallery/8d4bacde0a5e273c5afad78520d9fe32.svg

            [files_txt] => /images/gallery/fbc9411aff8a76adadc3c8845934db3b.svg

            [files_xls] => /images/gallery/ce3b612001e93afe03864e49b85f83f7.svg

            [files_xlsx] =>

            [goods_order] => name asc

            [name_format] => name

            [unique_options] => 1

            [watermark] => /images/watermark/dN6VmG1CwPNIVPm4TUuc.png

            [price_format_decimals] => 2

            [price_format_dec_point] => .

            [price_format_delimiter] =>

        )


)


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


Настройки модуля "Каталог" содержат следующие параметры:


currency валюта (подробнее о валютах в системе SE4 по ссылке)
currency_position расположение валюты (подробнее о валютах в системе SE4 по ссылке)
default_photo фото, которое используется по умолчанию, если фото к товару или разделу не было загружено
files_doc иконка файла формата .doc
files_docx иконка файла формата .docx
files_gif иконка файла формата .gif
files_jpg иконка файла формата .jpg
files_ods иконка файла формата .ods
files_odt иконка файла формата .odt
files_pdf иконка файла формата .pdf
files_png иконка файла формата .png
files_svg иконка файла формата .svg
files_txt иконка файла формата .txt
files_xls иконка файла формата .xls
files_xlsx иконка файла формата .xlsx
goods_order сортировка товаров по умолчанию
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"
Значение по умолчанию нет


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


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


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


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


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


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



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


$this->smartriver->catalog_part();


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


$this->smartriver->catalog_part(['where' => ['active' => 1], 'limit' => 10, 'extra' => ['filters', 'params']])


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


Array

(

    [status] => ok

    [message] => success

    [response] => Array

        (

            [0] => Array

                (

                    [id] => 1

                    [id_parent] => 0

                    [id_tpl] => -1

                    [vendor_code] =>

                    [name] => test

                    [announce] =>

                    [description] =>

                    [link] => test

                    [image] =>

                    [seo_title] =>

                    [seo_keywords] =>

                    [seo_description] =>

                    [sort] => 1

                    [active] => 1

                    [photo] => Array

                        (

                            [0] => Array

                                (

                                    [url] => /images/gallery/wR6qQFpA5StQF4B7mXfW.jpg

                                    [caption] =>

                                )


                            [1] => Array

                                (

                                    [url] => /images/catalog/GP4krXf7yALZ9D6ur5QQ.jpg

                                    [caption] =>

                                )


                        )


                    [params] => Array

                        (

                            [0] => Array

                                (

                                    [id] => test1

                                    [id_part] => -1

                                    [name] => Тест 1

                                    [type] => text

                                    [value] => test value

                                    [section] => all

                                    [sort] => 1

                                    [active] => 1

                                )


                            [1] => Array

                                (

                                    [id] => test2

                                    [id_part] => -1

                                    [name] => Тест 2

                                    [type] => photo

                                    [value] => /images/gallery/wR6qQFpA5StQF4B7mXfW.jpg

                                    [section] => part

                                    [sort] => 2

                                    [active] => 1

                                )


                            [2] => Array

                                (

                                    [id] => spec_price

                                    [id_part] => 1

                                    [name] => Цена со скидкой

                                    [type] => price

                                    [value] => 2400

                                    [section] => all

                                    [sort] => 3

                                    [active] => 1

                                )


                        )


                )


        )


)



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


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


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


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


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


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


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



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


$this->smartriver->catalog_count();


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


$this->smartriver->catalog_count(['where' => ['active' => 1]]);


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


Array

(

    [status] => ok

    [message] => success

    [response] => 7

)



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


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


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


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


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



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


$this->smartriver->catalog_part_count();


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


$this->smartriver->catalog_part_count(['where' => ['active' => 1]]));


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


Array

(

    [status] => ok

    [message] => success

    [response] => 7

)



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


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


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


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' => 3]])


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


Array

(

    [status] => ok

    [message] => success

    [response] => Array

        (

            [0] => Array

                (

                    [id] => 3

                    [id_tpl] => 5

                    [name] => Тестовый бренд

                    [description] =>

                    [link] => testoviy_brend

                    [image] => /images/gallery/1YQwLW6P7eiPsRt2qIQH.jpg

                    [sort] => 1

                    [active] => 1

                    [photo] => Array

                        (

                            [0] => Array

                                (

                                    [url] => /images/gallery/qKxCalppXgjcxMQNqCqH.jpg

                                    [caption] =>

                                )


                            [1] => Array

                                (

                                    [url] => /images/gallery/dlDQ9oOh4oLr3dnzSkOn.jpg

                                    [caption] =>

                                )


                        )


                )


        )


)


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




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


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


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


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



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



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


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


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


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


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


Array

(

    [status] => ok

    [message] => success

    [response] => 7

)



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


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


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


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


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


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



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


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


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


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


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


Array

(

    [status] => ok

    [message] => success

    [response] => Array

        (

            [0] => Array

                (

                    [id] => 1

                    [name] => Тип

                    [type] => select

                    [sort] => 0

                    [values] => Array

                        (

                            [0] => Array

                                (

                                    [id] => ekonom

                                    [name] => Эконом

                                    [sort] => 1

                                )


                            [1] => Array

                                (

                                    [id] => biznes

                                    [name] => Бизнес

                                    [sort] => 2

                                )


                            [2] => Array

                                (

                                    [id] => premium

                                    [name] => Премиум

                                    [sort] => 3

                                )


                        )


                )


        )


)



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


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


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


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


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


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


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



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


$this->smartriver->catalog_search();


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


$this->smartriver->catalog_search(['search' => 'test', 'extra' => ['category']]);


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


Array

(

    [status] => ok

    [message] => search completed

    [response] => Array

        (

            [0] => Array

                (

                    [id] => 58

                    [name] => test

                    [price] => 0.00

                    [price_new] => 0.00

                    [desc_short] =>

                    [link] => test

                    [image] =>

                    [best_price] => 0.00
                    [active_part] => 1

                    [category] => Array

                        (

                            [0] => Array

                                (

                                    [id] => 2

                                    [name] => Скидка

                                    [description] => Спешите приобрести товар по 50% скидке!

                                    [image] =>

                                    [sort] => 1

                                    [active] => 1

                                )


                            [1] => Array

                                (

                                    [id] => 1

                                    [name] => Акция

                                    [description] => Описание акции

                                    [image] =>

                                    [sort] => 4

                                    [active] => 1

                                )


                        )


                )


        )

                [count] => 8


)

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


totop