Page tree
Skip to end of metadata
Go to start of metadata

URL модуля внутри CMS

https://www.insales.ru/collection/apps-kurierskie-sluzhby/product/iml 

Настройка модуля Insales IML

После установки приложения переходим в раздел Приложения > Установленные > IML, авторизуемся (данные от входа в ЛК iml) и заполняем необходимые поля:

  1. Склад отправления (выбрать свой город, поле «Город отправления» заполняется автоматических исходя из выбранного склада)
  2. Дополнительный вес упаковки, г – какой вес упаковки прибавить к весу товара
  3. Добавочная стоимость Курьер – какую сумму (в руб.) добавить к стоимости доставки курьером
  4. Добавочная стоимость Самовывоз – какую сумму (в руб.) добавить к стоимости доставки при доставке заказ до ПВЗ
  5. Прибавить к сроку доставки дней на комплектацию – сколько дней необходимо на сборку заказа / посылки до момента передачи в службу доставки
  6. Время соединения по умолчанию, сек – минимум 300, если возникают ошибки или очень долго ожидание – можно увеличить данный интервал, изменять его нужно только в случае нестабильной или ошибочной работы  
  7. НДС – в случае работы с НДС выбрать свой процент НДС

Дальше необходимо настроить размеры и вес посылки по умолчанию, если данные параметры не заданы у товаров в магазине. Данную настройку необходимо или оставить по умолчанию или заполнить своими размерами (в мм.) и весом товара (в гр.).

При ошибках расчета стоимости товаров – необходимо сбросить кеш расчетов, для этого необходимо переходим в приложение (Приложения > Установленные > 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 до подключения библиотеки.

  • No labels