Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Поддержка] DPD - служба доставки http://dpd.ru + Наложенный платеж


kin208

Recommended Posts


Когда модуль будет адаптирован под 2.3.0.2 версию ОС ?

Уже сделано, там есть версия для 2.3

Надіслати
Поділитися на інших сайтах

Что бы корректно работала предварительная оценка стоимости заказа по введенному индексу я написал себе костыль. Работает только для РФ, может кому пригодится.

В файле /catalog/controller/extension/total/shipping.php найти сроку

$this->session->data['shipping_address'] = array(

и добавить перед ней

//  === узнать город по индексу ====
			$this->load->model('extension/shipping/dpdregions');
			$convert_region = $this->model_extension_shipping_dpdregions->getRegions($this->request->post['zone_id']);
			
			$find_city = array('',0,999999);
			$file_city = @fopen(DIR_SYSTEM."storage/download/dpd_cities.txt", "r");
			if ($file_city !== false && $convert_region !== false) {		
				
				$post_code = $this->request->post['postcode'];
				$zone_code_id = $this->request->post['zone_id'];
				
				while (!feof($file_city)) {
					$line = explode('|',fgets($file_city));
					
					// отбросить чужие  
					if ($line[3] != 'г') continue;
					if ($line[1] != $convert_region) continue;
					if ($line[0] != $iso_code_2) continue;
					if ($line[5] > $post_code) continue;
					if ($line[6] < $post_code) continue;
					
					// выбрать ближайший город					
					if ($find_city[1] <= $line[5] && $find_city[2] >= $line[6])						
						$find_city = array($line[4],$line[5],$line[6]);
									
				}
				fclose($file_city);			
			}

а чуть ниже после нее найти строку 

'city' => '',

и заменить на 

'city' => $find_city[0],

Далее в папке /catalog/model/extension/shipping/ добавить файл dpdregions.php с содержимым 

<?php
class ModelExtensionShippingDpdRegions extends Model {

	public function getRegions ($id){		
		
		$query = $this->db->query("SELECT `dpd_code` FROM `" . DB_PREFIX . "dpd_regions` where `id_oc` = ".(int)$id." limit 1");		
		
		if ($query->row)
			return $query->row['dpd_code'];
		else
			return false;
		}
}
?>

Не забудьте файлу /catalog/model/extension/shipping/dpdregions.php дать соответствующие chown и chmod (например, www-data:www-data и 550).

В принципе, автору модуля нет проблем дописать это для всех остальных стран и добавить это в файл dpd_modification.ocmod.xml в своих будущих сборках, чтоб народ не лазил в коде, а то мне лениво и денег не плотють :-) 

Надіслати
Поділитися на інших сайтах


Прислали письмо из DPD:
 

Цитата

Просим Вас донести информацию до Ваших коллег ответственных за взаимодействие с DPD в России.

Информируем Вас, о том что  в целях повышения качества и стабильности работы веб сервисов,  06.03.2017 будут отключены все методы которые работают по адресу
http://ws.dpd.ru:80/services/geography.

Просим внести изменения до указанного срока и указать новый адрес
http://ws.dpd.ru:80/services/geography2

Так же если Вы используете метод getCitiesCashPay, то в новой версии необходимо запрос обернуть в <request>. Это связанно с тем, что теперь во входящих параметрах добавился новый параметр <countryCode>. С помощью которого можно указать код страны.

Это повлияет на модуль? Нужно будет обновлять?

Надіслати
Поділитися на інших сайтах


15 минут назад, ditex сказал:

Прислали письмо из DPD:
 

Это повлияет на модуль? Нужно будет обновлять?

Я это всё исправлял несколько месяцев назад.

Зайдите в настройки модуля, во вкладку Синхронизация и нажмите на кнопку "Загрузить список городов".

Если загрузка пройдет, то можно ничего не делать. Если будет ошибка - то скачайте последнюю версию модуля и перезалейте файлы из папки Upload в корень сайта.

Ссылка на модуль:

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Здравствуйте.

Зашел спор с тех.поддержкой DPD о неверной обработке запроса модуля по стоимости доставки за дату 25.01.2017 года (разночтение в ответе по API и по расчету через их личный кабинет достигло 200% с лишним). Выяснилась эта гигантская разница только сейчас, когда покупатель пришел на терминал получать заказ, а ему выкатили огромную сумму за доставку. Дошло до желания обеих сторон посмотреть ПОЛНЫЙ массив запроса и ответ по API по одному конкретному заказу от этого числа. Подскажите, я могу как-нибудь выудить у себя это полный массив запроса и ответа? Из БД или еще как?

В БД в таблице oc_dpd_cache данные только за последние сутки. А нужно за дату двухнедельной давности

Змінено користувачем globaltrading
Надіслати
Поділитися на інших сайтах


В 10.02.2017 в 21:47, globaltrading сказал:

Здравствуйте.

Зашел спор с тех.поддержкой DPD о неверной обработке запроса модуля по стоимости доставки за дату 25.01.2017 года (разночтение в ответе по API и по расчету через их личный кабинет достигло 200% с лишним). Выяснилась эта гигантская разница только сейчас, когда покупатель пришел на терминал получать заказ, а ему выкатили огромную сумму за доставку. Дошло до желания обеих сторон посмотреть ПОЛНЫЙ массив запроса и ответ по API по одному конкретному заказу от этого числа. Подскажите, я могу как-нибудь выудить у себя это полный массив запроса и ответа? Из БД или еще как?

В БД в таблице oc_dpd_cache данные только за последние сутки. А нужно за дату двухнедельной давности

Здравствуйте, ответил в личку.

Надіслати
Поділитися на інших сайтах

  • 4 weeks later...

Цены на доставку, который рассчитывает Ваш модуль, в несколько раз выше цен в калькуляторе на их сайте. Кто вводит в заблуждение - их сайт или Ваш модуль?

Надіслати
Поділитися на інших сайтах


On 12.03.2017 at 3:31 AM, hunter14 said:

Цены на доставку, который рассчитывает Ваш модуль, в несколько раз выше цен в калькуляторе на их сайте. Кто вводит в заблуждение - их сайт или Ваш модуль?

 

Здравствуйте,

Цены должны совпадать.

 

Если цены не совпадают, то скорее всего Вы сравниваете разные тарифы. В одном случае ClassicParcel а в другом случае какой-то дорогой тариф, например Domestic. 90% вероятности - что в этом причина различий.

 

(Кроме этого, цены в калькуляторе на сайте dpd.ru нужно смотреть после того как Вы авторизуетесь на сайте, потому что тариф у отдельных клиентов DPD могут отличаться в меньшую сторону от стандартного тарифа. Но это отклонение не в разы.)

 

Для проверки сделайте следующее:

Включите в настройках модуля Режим отладки. После этого на странице оформления заказа будет выводиться отладочный текст, типа:

 

"request" => array(
        "auth" => Array(
            "clientNumber" => '11111',
            "clientKey" => 'gfgdfgdfg'
        ), 
        "pickup" => Array(
            "countryCode" => "RU",
            "cityName" => "Пенза",
            "regionCode" => 58,
            "cityId" => 195841995 
        ),
        "delivery" => Array(
            "cityName" => "Новый Уренгой", 
            "countryCode" => "RU",
            "regionCode" => 89,
            "cityId" => 195912233
        ),
        "weight" => 0.9,
        "selfPickup" => 0,
        "selfDelivery" => 0,
        "declaredValue"    => 2600
    )

Обратите внимание на следующие параметры:

"weight" - вес в кг. Он должен совпадать с весом который Вы указываете в калькуляторе на сайте dpd.ru

"selfPickup" => 0, - (0 - означает что у Вас заказ забирает курьер DPD, 1 - означает что Вы сами доставляете груз к DPD)
"selfDelivery" => 0, - (0 - означает груз клиенту доставляет курьер DPD, 1 - означает что клиент сам забирает груз в отделении DPD)
"declaredValue"    => 2600 - объявленная ценность в рублях.

 

И еще может быть параметр:

'volume' => 0.111 - это объем груза в метрах квадратных 

 

Все эти параметры должны совпадать с тем что Вы указываете в калькуляторе.

--------

Если Вы сопоставили данные модуля и данные калькулятора и не смогли определить причину расхождения цены - то напишите мне в скайп kin154 после обеда.

 

 

Надіслати
Поділитися на інших сайтах

Проверял я для одного и того же метода доставки - DPD CLASSIC Parcel.

На сайте dpd из личного кабинета - после авторизации, разумеется - по ссылке калькулятор расчёта доставки.

Там для одних и тех же контрольных данных (забор от двери курьером DPD, доставка до двери) выдал в Вашем модуле 3369 с доставкой, 3180р с забором со склада DPD.

А на сайте dpd для этого метода показал калькулятор стоимость доставки до двери получателя чуть меньше 900 руб плюс примечание, что забор груза около 300 руб (насколько я помню - 298 руб было указано), т.е. в сумме около 1200 руб (чуть меньше). Довольно ощутимая разница с рассчитанной Вашим модулем 3369 руб.

Надіслати
Поділитися на інших сайтах


19 minutes ago, hunter14 said:

Проверял я для одного и того же метода доставки - DPD CLASSIC Parcel.

На сайте dpd из личного кабинета - после авторизации, разумеется - по ссылке калькулятор расчёта доставки.

Там для одних и тех же контрольных данных (забор от двери курьером DPD, доставка до двери) выдал в Вашем модуле 3369 с доставкой, 3180р с забором со склада DPD.

А на сайте dpd для этого метода показал калькулятор стоимость доставки до двери получателя чуть меньше 900 руб плюс примечание, что забор груза около 300 руб (насколько я помню - 298 руб было указано), т.е. в сумме около 1200 руб (чуть меньше). Довольно ощутимая разница с рассчитанной Вашим модулем 3369 руб.

 

В Система -> Локализация -> Валюты

Курс валюты по-умолчанию равен 1.0000 ?

 

Если да, то напишите мне в скайп (kin154), будем разбираться.

Надіслати
Поділитися на інших сайтах

24 minutes ago, hunter14 said:

Да, 1.00000000

И других валют, кроме рубля, нет в магазине.

 

Если у Вас есть возможность, то откройте в PhpMyAdmin таблицу dpd_cache, найдите там этот заказ (по городу доставки в колонке params) и скопируйте сюда то что в этой строке в колонках params и result

Надіслати
Поділитися на інших сайтах

Похоже, что Ваш модуль конфликтовал с подсказками заполнения адреса DaData - когда я их отключил, расчёт цен стал адекватных. Хотя подсказки отключать жалко - но, похоже , сырой модуль не Ваш, а именно подсказок.

Надіслати
Поділитися на інших сайтах


Приветствую.

версия 3.5

При отправке заявки на забор груза в DPD не подхватывается изменение доп. услуг - отправляется те, которые установлены по умолчанию.

Например: по умолчанию в настройках стоит "Ожидание на адресе - проверка на соответствие" - Перед отправкой заявки в селекте вручную выбираю "Отключено" - отправляю заявку на забор груза - выводится уведомление, что данная услуга не доступна при отправке в Казахстан, заказ на рассмотрении.

1. Почему не подхватилось в отправляемом массиве ОТКЛЮЧЕННАЯ доп. услуга "Ожидание на адресе"?

2. Изменение плательщика (кто оплачивает доставку) тоже не подхватывается - почему?

 

Из значений, установленных по умолчанию в настройках модуля не передается при отправке заявки на забор груза (отсутствует в данных заказа в личном кабинете DPD):

1. Объявленная ценность посылки.

2. Дополнительная информация (Инструкция для курьера)

3. Кто разместил заказ (вместо Фамилии пишет WS, вместо номера телефона пишет 00000000

4. Форма оплаты (в строке заказа отсутствует "Безналичный расчет" или "Наличный расчет" - строка пустая)

Змінено користувачем globaltrading
Надіслати
Поділитися на інших сайтах


13 minutes ago, kamar87 said:

Для Беларуси подойдет или нет?

 

Для Беларуси - подойдет.

API DPD который используется модулем считает доставку для четырех стран: Армения, Беларусь, Казахстан, Россия.

 

 

Надіслати
Поділитися на інших сайтах

2 часа назад, kin208 сказал:

 

Для Беларуси - подойдет.

API DPD который используется модулем считает доставку для четырех стран: Армения, Беларусь, Казахстан, Россия.

 

 

На демо сайте если выбрать Беларусь только фиксированная доставка...

Надіслати
Поділитися на інших сайтах


22 minutes ago, kamar87 said:

На демо сайте если выбрать Беларусь только фиксированная доставка...

 

Нужно корректно указывать название города и индекс.

Должно быть: https://yadi.sk/i/0A2mkoiu3Fxwic

Тогда отобразится: https://yadi.sk/i/JmyrXe0E3Fxws9

 

Надіслати
Поділитися на інших сайтах

6 минут назад, kin208 сказал:

 

Нужно корректно указывать название города и индекс.

Должно быть: https://yadi.sk/i/0A2mkoiu3Fxwic

Тогда отобразится: https://yadi.sk/i/JmyrXe0E3Fxws9

 

Обязательно должен быть указан вес товара в админке (габариты)?

Надіслати
Поділитися на інших сайтах


12 minutes ago, kamar87 said:

Обязательно должен быть указан вес товара в админке (габариты)?

 

Можно не указывать, если вот эти настройки прописаны в модуле https://yadi.sk/i/xTO0J3f13Fy4zg

Надіслати
Поділитися на інших сайтах

1 minute ago, juri79 said:

Ключ через сколько дней ждать ?

 

Ключ можно подключать сразу и ничего не ждать.

Там пост-проверка.

Надіслати
Поділитися на інших сайтах

10 hours ago, globaltrading said:

Приветствую.

версия 3.5

При отправке заявки на забор груза в DPD не подхватывается изменение доп. услуг - отправляется те, которые установлены по умолчанию.

Например: по умолчанию в настройках стоит "Ожидание на адресе - проверка на соответствие" - Перед отправкой заявки в селекте вручную выбираю "Отключено" - отправляю заявку на забор груза - выводится уведомление, что данная услуга не доступна при отправке в Казахстан, заказ на рассмотрении.

1. Почему не подхватилось в отправляемом массиве ОТКЛЮЧЕННАЯ доп. услуга "Ожидание на адресе"?

2. Изменение плательщика (кто оплачивает доставку) тоже не подхватывается - почему?

 

Из значений, установленных по умолчанию в настройках модуля не передается при отправке заявки на забор груза (отсутствует в данных заказа в личном кабинете DPD):

1. Объявленная ценность посылки.

2. Дополнительная информация (Инструкция для курьера)

3. Кто разместил заказ (вместо Фамилии пишет WS, вместо номера телефона пишет 00000000

4. Форма оплаты (в строке заказа отсутствует "Безналичный расчет" или "Наличный расчет" - строка пустая)

 

Добрый день,

 

вроде все починил.

 

Скачайте последнюю версию модуля (3.56) и перезалейте файлы из папки upload в корень сайта.

 

И проверяйте.

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.