Доработка плагина доставки на WP
- Опубликовано 2 года назад
- Просмотры 3
- Закончить проект
50,00₽
Описание
1. Добавление метода GetAddressPoints
Описание
У партнера может быть несколько складов, с которых мы забираем товар. Например, склад в Москве и Екатеринбурге. Со склада в Москве осуществляется отгрузку в города центральной части России; со склада В Екатеринбурге города за Уралом.
Перевозчик должен знать с какого склада какой заказ будет отгружен. Для этого в API добавлен метод GetAddressPoints. В ответ на его вызов возвращается список активных складов партнера и их адреса. Каждый склад имеет свой уникальный идентификатор ID_PartnerWarehouse.
Имеется 2 типа партнеров относительно способа передачи нам отправлений: мы забираем отправления и партнер сам привозит отправления на наш склад.
Определить тип можно следующим образом:
1)Если мы забираем, то GetAddressPoints вернет хотя бы 1 склад.
В таком случае во всех методах константой передаем параметр ID_Sklad =3 и ID_PartnerWarehouse.
2)Если партнер сам привозит на наш склад , то GetAddressPoints вернет ошибку “Для данного клиента нет адресов забора отправлений”.
В таком случае во всех методах передаем выбранный ID_Sklad и отсутствует ID_PartnerWarehouse.
Подробнее в документации.
Задача
К текущему крону на обновление ПВЗ и зон доставки добавляем GetAddressPoints
Если в ответ приходит ошибка "Message":"Для данного клиента нет адресов забора отправлений", то ничего не делаем
Если в ответ приходит список ID_PartnerWarehouse, то сохраняем его БД
Проверяем наличие в БД наличие записей ID_PartnerWarehouse, которые не пришли в ответ на вызов метода. Такие записи делаем неактивыми
В настройке “Точка приема отправлений” переделываем отображение списка доступных пунктов отгрузки
Если у партнера имеется хотя бы один активный ID_PartnerWarehouse, то отображаем список из ID_PartnerWarehouse
Если у партнера отсутствуют ID_PartnerWarehouse, то отображаем список из всех ID_Sklad
Дополнительно склад “Родники, ул.Трудовая, д.10” переименовываем в “Курьер Л-Пост”. При его выборе передаем ID_Sklad=3
“Курьер Л-Пост” должен быть первый в списке. Подставляем его по умолчанию
Во все вызовы методов GetServicesCalc, CreateOrders и UpdateOrders добавляем передачу параметра ID_PartnerWarehouse
Если выбран ID_PartnerWarehouse, то передаем его и константой ID_Sklad =3
Если Выбран ID_Sklad, то передаем выбранный ID_Sklad и ID_PartnerWarehouse не передаем
2. Настройка стоимости доставки по умолчанию
Описание:
Имеется потребность настраивать стоимость доставки по умолчанию. Например, для доставки по Москве курьером стоимость 500 руб.
Задача:
В настройках модуля в настройках доставки добавляем поле “Расчет стоимости доставки”.
Доступные варианты: “Статический” и “Динамический”.
При выборе “Статический” отображаем поле “Стоимость доставки по умолчанию”. В него даем ввести числовые значения от 0 до 10000
На странице оформления заказа и в админке при расчете стоимости доставки добавляем проверку на выбранный тип расчета
Если “Статический”, игнорируем стоимость от АПИ Л-Пост и по умолчанию отображаем “Стоимость доставки по умолчанию”
Если “Динамический”, то по умолчанию отображаем стоимость доставки от АПИ Л-Пост
3. Изменение расчета срока доставки
Описание:
Сейчас, в параметр DayLogistic в ответе метода GetServicesCalc заложено, буквально, следующее: "Срок доставки в днях от пункта приема отправлений до пункта доставки". Именно это заложено в тех документации и в методах.
Для Москвы в ответ на вызов метода GetServicesCalc возвращается параметр DayLogistic = 0. Данный параметр используется при расчете срока доставки. Как следствие, на интерфейсе отображается срок 0 дней (рис.2). Такой срок не возможен.
Задача:
Необходимо переделать расчет срока доставки при выборе тарифа.
Срок доставки = DateClose от метода GetServicesCalc + DayLogistic
Например, текущая дата 01.01.2022. Метод GetServicesCalc вернул DateClose = 03.01.2022 и DayLogistic = 3
Итого “Срок доставки” = (03.01.2022 01.01.2022) + 3 = 2 + 3 = 5
4. Изменить передачу интервалов доставки при создании заказа
Описание:
В настоящий момент в модуль заложено, что всегда доставки 5 интервалов доставки курьером и интервалы передаются параметром TypeIntervalDeliv
В действительности доступных интервалов может быть больше/меньше. Например, в Московской области у ряда городов по четвергам доступны только 2 интервала: 9-12 и 18-21.
Для передачи доступных интервалов по API метод GetServicesCalc добавлен массив Intervals со списком доступных интервалов доставки для определенной даты.
В методы CreateOrders, UpdateOrders добавлены параметры TimeFrom, TimeTo и удален параметр TypeIntervalDeliv.
Подробнее в документации
Задача:
Добавить определение доступных интервалов доставки на массив Intervals метода GetServicesCalc.
В методы CreateOrders и UpdateOrders вместо TypeIntervalDeliv передавать параметры TimeFrom и TimeTo.
5. Смена логотипов
У нас поменялся логотип. Необходимо на маркетплейсе во всех местах в модуле обновить логотип и пины на карте.
Описание
У партнера может быть несколько складов, с которых мы забираем товар. Например, склад в Москве и Екатеринбурге. Со склада в Москве осуществляется отгрузку в города центральной части России; со склада В Екатеринбурге города за Уралом.
Перевозчик должен знать с какого склада какой заказ будет отгружен. Для этого в API добавлен метод GetAddressPoints. В ответ на его вызов возвращается список активных складов партнера и их адреса. Каждый склад имеет свой уникальный идентификатор ID_PartnerWarehouse.
Имеется 2 типа партнеров относительно способа передачи нам отправлений: мы забираем отправления и партнер сам привозит отправления на наш склад.
Определить тип можно следующим образом:
1)Если мы забираем, то GetAddressPoints вернет хотя бы 1 склад.
В таком случае во всех методах константой передаем параметр ID_Sklad =3 и ID_PartnerWarehouse.
2)Если партнер сам привозит на наш склад , то GetAddressPoints вернет ошибку “Для данного клиента нет адресов забора отправлений”.
В таком случае во всех методах передаем выбранный ID_Sklad и отсутствует ID_PartnerWarehouse.
Подробнее в документации.
Задача
К текущему крону на обновление ПВЗ и зон доставки добавляем GetAddressPoints
Если в ответ приходит ошибка "Message":"Для данного клиента нет адресов забора отправлений", то ничего не делаем
Если в ответ приходит список ID_PartnerWarehouse, то сохраняем его БД
Проверяем наличие в БД наличие записей ID_PartnerWarehouse, которые не пришли в ответ на вызов метода. Такие записи делаем неактивыми
В настройке “Точка приема отправлений” переделываем отображение списка доступных пунктов отгрузки
Если у партнера имеется хотя бы один активный ID_PartnerWarehouse, то отображаем список из ID_PartnerWarehouse
Если у партнера отсутствуют ID_PartnerWarehouse, то отображаем список из всех ID_Sklad
Дополнительно склад “Родники, ул.Трудовая, д.10” переименовываем в “Курьер Л-Пост”. При его выборе передаем ID_Sklad=3
“Курьер Л-Пост” должен быть первый в списке. Подставляем его по умолчанию
Во все вызовы методов GetServicesCalc, CreateOrders и UpdateOrders добавляем передачу параметра ID_PartnerWarehouse
Если выбран ID_PartnerWarehouse, то передаем его и константой ID_Sklad =3
Если Выбран ID_Sklad, то передаем выбранный ID_Sklad и ID_PartnerWarehouse не передаем
2. Настройка стоимости доставки по умолчанию
Описание:
Имеется потребность настраивать стоимость доставки по умолчанию. Например, для доставки по Москве курьером стоимость 500 руб.
Задача:
В настройках модуля в настройках доставки добавляем поле “Расчет стоимости доставки”.
Доступные варианты: “Статический” и “Динамический”.
При выборе “Статический” отображаем поле “Стоимость доставки по умолчанию”. В него даем ввести числовые значения от 0 до 10000
На странице оформления заказа и в админке при расчете стоимости доставки добавляем проверку на выбранный тип расчета
Если “Статический”, игнорируем стоимость от АПИ Л-Пост и по умолчанию отображаем “Стоимость доставки по умолчанию”
Если “Динамический”, то по умолчанию отображаем стоимость доставки от АПИ Л-Пост
3. Изменение расчета срока доставки
Описание:
Сейчас, в параметр DayLogistic в ответе метода GetServicesCalc заложено, буквально, следующее: "Срок доставки в днях от пункта приема отправлений до пункта доставки". Именно это заложено в тех документации и в методах.
Для Москвы в ответ на вызов метода GetServicesCalc возвращается параметр DayLogistic = 0. Данный параметр используется при расчете срока доставки. Как следствие, на интерфейсе отображается срок 0 дней (рис.2). Такой срок не возможен.
Задача:
Необходимо переделать расчет срока доставки при выборе тарифа.
Срок доставки = DateClose от метода GetServicesCalc + DayLogistic
Например, текущая дата 01.01.2022. Метод GetServicesCalc вернул DateClose = 03.01.2022 и DayLogistic = 3
Итого “Срок доставки” = (03.01.2022 01.01.2022) + 3 = 2 + 3 = 5
4. Изменить передачу интервалов доставки при создании заказа
Описание:
В настоящий момент в модуль заложено, что всегда доставки 5 интервалов доставки курьером и интервалы передаются параметром TypeIntervalDeliv
В действительности доступных интервалов может быть больше/меньше. Например, в Московской области у ряда городов по четвергам доступны только 2 интервала: 9-12 и 18-21.
Для передачи доступных интервалов по API метод GetServicesCalc добавлен массив Intervals со списком доступных интервалов доставки для определенной даты.
В методы CreateOrders, UpdateOrders добавлены параметры TimeFrom, TimeTo и удален параметр TypeIntervalDeliv.
Подробнее в документации
Задача:
Добавить определение доступных интервалов доставки на массив Intervals метода GetServicesCalc.
В методы CreateOrders и UpdateOrders вместо TypeIntervalDeliv передавать параметры TimeFrom и TimeTo.
5. Смена логотипов
У нас поменялся логотип. Необходимо на маркетплейсе во всех местах в модуле обновить логотип и пины на карте.
Опубликовано 2 года назад
Информация
Посещаемость:
4802
Дата регистрации:
11 лет назад