URL модуля внутри CMS
https://www.insales.ru/collection/apps-kurierskie-sluzhby/product/iml
Настройка модуля Insales IML
После установки приложения переходим в раздел Приложения > Установленные > IML, авторизуемся (данные от входа в ЛК iml) и заполняем необходимые поля:
- Склад отправления (выбрать свой город, поле «Город отправления» заполняется автоматических исходя из выбранного склада)
- Дополнительный вес упаковки, г – какой вес упаковки прибавить к весу товара
- Добавочная стоимость Курьер – какую сумму (в руб.) добавить к стоимости доставки курьером
- Добавочная стоимость Самовывоз – какую сумму (в руб.) добавить к стоимости доставки при доставке заказ до ПВЗ
- Прибавить к сроку доставки дней на комплектацию – сколько дней необходимо на сборку заказа / посылки до момента передачи в службу доставки
- Время соединения по умолчанию, сек – минимум 300, если возникают ошибки или очень долго ожидание – можно увеличить данный интервал, изменять его нужно только в случае нестабильной или ошибочной работы
- НДС – в случае работы с НДС выбрать свой процент НДС
Дальше необходимо настроить размеры и вес посылки по умолчанию, если данные параметры не заданы у товаров в магазине. Данную настройку необходимо или оставить по умолчанию или заполнить своими размерами (в мм.) и весом товара (в гр.).
При ошибках расчета стоимости товаров – необходимо сбросить кеш расчетов, для этого необходимо переходим в приложение (Приложения > Установленные > IML) и нажимаем кнопку «Сбросить кеш калькулятора».
Если необходимо изменить учётные данные (данные входя в ЛК iml) переходим в приложение (Приложения > Установленные > IML) > Учетные данные. После ввода новых данных необходимо сбросить кеш расчета и проверить заполненные данные (настройки) приложения.
После чего необходимо активировать доставки, переходим (Настройки > Доставки) там будет два новых способа «Доставка IML самовывоз» и «Доставка IML курьер».
Системные настройки не меняем, подключаем только платежные системы, которые работают с выбранной доставкой «Привязка к способам оплаты», и настраиваем привязку к регионам, если это необходимо «Привязка к регионам и городам».
Если все настроено верно, в оформление заказа появятся новые пункты доставки
Настройка правил обработки цены и сроков доставок
Для модификации данных используются JS функции обработчика, если они заданы.
<? /** * Изменение минимальных сроков доставки * * @param string type - Тип, может принимать значения self – Список ПВЗ, courier – доставка курьером * @param object filter - фильтр запроса отправляемый insales * @param int minDays - минимальное количество дней полученное от iml * * @return int Минимальный срок доставки */ function imlUpdateDeliveryDate(type, filter, minDays) { return (minDays + 20); } /** * Изменение цены и сроков для списка выбора ПВЗ * * @param object data - объект с данными для построения точек ПВЗ * @param object filter - фильтр запроса отправляемый insales * * @return object */ function imlUpdateDeliverySelfInit(data, filter) { for (pointId in data.points) { data.points[pointId]['best_tariff']['days'] += 40; data.points[pointId]['best_tariff']['deliveryCost'] = 500; data.points[pointId]['deliveryCost'] = 500; } data['providers']['iml']['best_tariff']['days'] = 10; data['providers']['iml']['best_tariff']['deliveryCost'] = 700; data['providers']['iml']['tariffs']['deliveryCost'] = 700; return data; } ?>
Для точки (ПВЗ)
data\points\point\best_tariff\days - Минимальный срок доставки
data\points\point\best_tariff\deliveryCost - Цена доставки (должно быть одинаково с data\points\point\deliveryCost)
Для списка (при выборе ПВЗ цена и сроки от)
data\providers\iml\best_tariff\days - Минимальный срок доставки
providers\iml\best_tariff\deliveryCost - Цена доставки (должно быть одинаково с data\providers\iml\tariffs\deliveryCost)
filter - фильтр запроса отправляемый insales
<? /** * Изменение начальных настроек цены, это первичный расчет * для ПВЗ когда пункт еще не выбран, т.е. показывается * самая малая цена и цена для курьерской доставки. * * @param object data - объект с начально отображаемой ценой */ function imlCalculationFirstPriceRequest(data, filter) { data.delivery_price = 1200; return data; } ?> data : { "delivery_price" : 356, "type" : "self" self для ПВЗ, courier для курьерской доставки }
filter - фильтр запроса отправляемый insales
{ city: "Ульяновск" Город country: "RU" insales_id: 223003 location: { Расшифровка местоположения address: "" area: null area_type: null autodetected: null city: "Ульяновск" city_type: "г" country: "RU" flat: "" house: "" is_kladr: true kladr_code: "7300000100000" last_level: "Ульяновск" last_level_type: "г" latitude: null locality: "Ульяновск" locality_type: "г" longitude: null region_zip: "432000" result: "г Ульяновск, Ульяновская обл." settlement: null settlement_type: null state: "Ульяновская" state_type: "обл" street: "" street_type: null zip: null } price: 12600 Стоимость заказа region: "обл Ульяновская" Регион weight: "0.5" Вес заказа zip: 0 }
Пример:
- Установить цену доставки для ПВЗ Волгограда 200р
- Установить цену доставки для ПВЗ Волгограда 150р если заказ больше 2000р
function imlCalculationFirstPriceRequest(data, filter) { if(filter.city == "Волгоград" && data.type == "self") data.delivery_price = filter.price >= 2000 ? 150 : 200; return data; } function imlUpdateDeliverySelfInit(data, filter) { if(filter.city == "Волгоград") { var delivery_price = filter.price >= 2000 ? 150 : 200; for (pointId in data.points) { data.points[pointId]['best_tariff']['deliveryCost'] = delivery_price; data.points[pointId]['deliveryCost'] = delivery_price; } data['providers']['iml']['best_tariff']['deliveryCost'] = delivery_price; data['providers']['iml']['tariffs']['deliveryCost'] = delivery_price; } return data; }
Код должен располагаться до вызова
<script type="text/javascript" src="//insales.iml.ru/checkoutWidget/widget.js?insales_id=223003"></script>
для этого лучше всего разместить код в службе доставки "Доставка IML самовывоз" (Настройки - Доставка - Доставка IML самовывоз) в поле Javascript до подключения библиотеки.