API: Корзина


Для перечисленных ниже методов необходимо подключить дополнительно библиотеку session следующим образом:


$this->load->library('session');


Содержание
позволяет добавить товар в корзину
позволяет изменять количество товара в корзине
позволяет удалить товар из корзины
позволяет добавить доставку в корзину
позволяет удалить доставку из корзины
позволяет получить данные о товарах в корзине
позволяет получить данные о доставке в корзине
позволяет получить данные о сумме корзины
позволяет полностью очистить корзину
позволяет активировать купон в корзине
позволяет удалить купон из корзины



Метод add_cart_item позволяет добавить товар в корзину.


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


id_item ID товара
Тип integer
Значение по умолчанию нет


id_variety ID модификации
Тип integer
Значение по умолчанию нет


amount количество
Тип integer
Значение по умолчанию нет


options опции товара
Тип array
Значение по умолчанию нет



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

$this->smartriver->add_cart_item(1, 0);


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

$this->smartriver->add_cart_item(1, 0, 2);


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


Ответ не содержит вывода данных



Метод update_cart_item позволяет изменять количество товара в корзине.


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


id_item ID товара
Тип integer
Значение по умолчанию нет


id_variety ID модификации
Тип integer
Значение по умолчанию нет


amount количество
Тип integer
Значение по умолчанию нет


options опции товара
Тип array
Значение по умолчанию нет



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

$this->smartriver->update_cart_item(1, 0, 2);


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


Ответ не содержит вывода данных



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


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


id_item ID товара
Тип integer
Значение по умолчанию нет


id_variety ID модификации
Тип integer
Значение по умолчанию нет


amount количество
Тип integer
Значение по умолчанию нет


options опции товара
Тип array
Значение по умолчанию нет



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

$this->smartriver->delete_cart_item(1, 0);


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

$this->smartriver->delete_cart_item(1, 0, 2);


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


Ответ не содержит вывода данных



Метод add_cart_delivery позволяет добавить доставку в корзину.


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


id_delivery ID доставки
Тип integer
Значение по умолчанию нет



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

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


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


Ответ не содержит вывода данных



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


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


Нет параметров



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

$this->smartriver->delete_cart_delivery();


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


Ответ не содержит вывода данных



Метод get_cart позволяет получить данные о товарах в корзине.


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


Нет параметров



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

$this->smartriver->get_cart();


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


Array

(

    [0] => Array

        (

            [id] => 64

            [id_source] => SOURCE_ID

            [id_session] => SESSION_ID

            [amount] => 2

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

            [vendor_code] => TEST_VC

            [desc_short] => 

            [link] => /products/testovy_tovar-64

            [variety_id] => 9

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

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

            [value] => 10

            [unit] => шт

            [price] => 5880

            [amount_step] => 1

            [quantity] => 5

            [weight] => 240

            [options] => 8

            [options_data] => Array

                (

                    [0] => Array

                        (

                            [id] => 8

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

                            [price] => 250.00

                        )


                )


        )


)


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



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


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


Нет параметров



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

$this->smartriver->get_cart_delivery();


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


stdClass Object

(

    [id_delivery] => 1

    [name] => Доставка курьером

)


false - если нет данных о доставке или она не добавлена в корзину



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


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


Нет параметров



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

$this->smartriver->get_cart_sum();


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


Array

(

    [sum] => 12010

    [discount_sum] => 10922

    [amount] => 2

    [count] => 1

    [delivery] => 250
    [delivery_module ] =>

    [extra] => Array

        (

            [discount] => 1

            [coupon] => 1

            [discount_name] => Скидка при покупке online

            [discount_value] => 5

            [discount_unit] => %

            [discount_quantity] => 588

            [discount_diff] => 0

            [coupon_id] => 1

            [coupon_name] => Тестовый купон

            [coupon_code] => TEST_COUPON

            [coupon_value] => 500

            [coupon_unit] => currency

            [coupon_quantity] => 500

            [coupon_diff] => 0

            [coupon_amount] =>

        )

    [price_data ] => Array

        (

            [177_0 ] => Array

                (

                    [price] => 5880

                    [price_calc] => 5336

                    [amount] => 2

                )

        )


)


Основные параметры ответа:


sum сумма корзины без скидок
discount_sum сумма корзины со всеми скидками и купонами
amount количество товаров в корзине (доставка не учитывается)
count количество уникальных позиций в корзине (доставка не учитывается)
delivery сумма доставки
delivery_module
модуль расчета стоимости доставки
extra массив с дополнительными данными, такими как скидки и купоны



Дополнительные параметры ответа:


discount активирована ли скидка в корзине
coupon активирован ли купон в корзине
discount_name название скидки
discount_value величина скидки
discount_unit тип скидки, % или currency (валюта)
discount_quantity
размер скидки в валюте интернет-магазина
discount_diff
погрешность при округлении скидки
coupon_id ID активированного купона
coupon_name название купона
coupon_code код купона
coupon_value величина скидки
coupon_unit тип скидки, % или currency (валюта)
coupon_quantity
размер скидки в валюте интернет-магазина
coupon_diff
погрешность при округлении скидки
coupon_amount количество купонов



Блок price_data:


Содержит массив цен, где ключи массива состоят из конкатенации ID товара и ID модификации со знаком "_" (В примере указан товар с ID 177 без модификации, т.е. ID модификации 0), а значения описаны ниже в таблице


price исходная цена товара/модификации
price_calc цена товара/модификации со всеми примененными скидками и купонами (сначала применяется скидка, затем купон)
amount количество в корзине



Метод clear_cart позволяет полностью очистить корзину.


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


Нет параметров



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

$this->smartriver->clear_cart();


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


Ответ не содержит вывода данных



Метод redeem_coupon позволяет активировать купон в корзине.


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


code код купона
Тип string
Значение по умолчанию нет



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

$this->smartriver->redeem_coupon('TEST_COUPON');


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


stdClass Object

(

    [id] => 1

)


false - если купон не удалось активировать



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


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


Нет параметров



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

$this->smartriver->delete_coupon();


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


Ответ не содержит вывода данных




Мы используем файлы cookie, чтобы сделать работу с сайтом проще и удобнее. Подробную информацию можно прочитать тут

totop