Задачи, описанные ниже носят второстепенный характер – просьба оценить трудозатраты по ним отдельно.




CMS: Opencart 2.3.0.2

 

Предлагается разделить интеграцию сайта с API «Маршрут» на функциональные блоки, в соответствии с возможностями и функциями, поддерживаемыми API.

Мы видим реализацию блоков как отдельные модули (подмодули) для cms, управление которыми осуществляется из админки сайта. Однако, готовы обсудить все возможные варианты реализации.

Блок 1. Склад

В API раздел «Склад» - «Получить товары и остатки».

Возможность актуализации количества товара на сайте в соответствии с наличием товара, готового к продаже на складе компании «Маршрут».

Требования к функционалу:

- Модуль позволяет автоматически (например, настройкой cron) и в ручном режиме формировать запрос к серверу компании «Маршрут» и получать перечень доступного к продаже товара.

В API: cnt | Свободный остаток на складе

Раздел data object array  
Поле Тип данных Пример заполнения Описание поля
stock_a integer   Кол-во годного товара
stock_q integer   Кол-во товара в карантине склада
stock_d integer   Кол-во поврежденного товара
cnt integer   Свободный остаток на складе

 

- Модуль осуществляет поочередное сравнение полученных данных по «item_id» в API (Идентификатор товара ИМ) с полем «Модель» товара в БД сайта.

- При совпадении значений указанных полей – корректируется кол-во доступного товара на сайте.

- Иначе, если какой-то полученный идентификатор «item_id» не совпадает ни с одним из значений поля «Модель» товара в БД сайта – соответствующее сообщение отображается в логе.

 

Дополнительно в логе отражается кол-во полученных «item_id» и количество измененных полей «Модель» товара, а также ошибки, которые могут возникнуть при обмене.

 

Блок 2. Доставка

В API раздел «Доставка» - «Расчет стоимости доставки» и «Полный список ПВЗ»

- На сайте используется модуль GeoIP для определения региона пользователя по IP-адресу (база ФИАС).

- На сайте используется модуль Simple для представления страницы оформления доставки/оплаты.

 

https://opencartforum.com/files/file/324-modul-simple-uproschennaya-registraciya-i-zakaz/

https://opencartforum.com/files/file/888-opredelenie-goroda-po-ip-geo-ip/

 

Возможность получения с сервера «Маршрут» возможных вариантов доставки заказа и стоимости доставки в выбранный клиентом регион.

Возможность вносить наценку на каждый из вариантов доставки.

Полученные варианты доставки отображаются клиенту в зависимости от возможности доставки (предлагает API «Маршрут» в зависимости от адреса) и выбранных и настроенных «географических зон» в cms.

Необходимо иметь возможность отключения/включения некоторых вариантов доставки для определенных регионов.

Например: для Москвы – отображать помимо стандартного самовывоза, доставку курьером «Маршрут» и самовывоз Boxberry, IML.

Принцип реализации представлен в API, частично описан на странице компании «Маршрут» в github: https://github.com/marschroute/html-widget

 

Желательна классическая реализация выбора способа доставки для Opencart и Simple:

 

 

Для варианта доставки «Почта РФ», «Почта РФ наложенный платеж», «КазПочта», «Курьерская служба» необходимо подхватывать значения полей улица, индекс, дом, стр/корп, кв/оф и комментария из соответствующих полей opencart (simple).

 

Для варианта доставки «Курьерская служба Маршрут» необходимо выводить обязательное поле «дата и время доставки»:

 

 

Для вариантов доставки «Самовывоз» и «Курьерская служба Маршрут» в письме об успешном совершении заказа необходимо выводить поле с дополнительными данными о выбранной доставке: Адрес ПВЗ, дату забора заказа и дополнительную информацию.

 

 

Реализация возможности выбора ПВЗ с помощью API яндекс, как это реализовано на виджите.

Отсутствие лого «Marschroute» | либо использование лого Интернет-магазина.

 

Расчет массы и габаритов заказа и передача в запросе API для определения точной стоимости доставки.

 

Необходимо предусмотреть возможность задать способ оплаты в зависимости от выбранного метода доставки (посредством simple).

Например:

- Для СДЭК возможно оплатить заказ при получении наличными;

- Для почты РФ доступен наложенный платеж (за наценку).

 

 

Блок 3. Заказы

В API раздел «Заказы» - «Передать заказ», «Статусы заказов», «Данные заказа»

Передача заказа на сервер «Маршрут» осуществляется с необходимыми заполненными полями, представленными в API с дополнительным параметром: «Не собирать и не отгружать заказ со склада до дополнительного подтверждения».

Раздел order[options] object      
Поле Тип данных Пример заполнения Описание поля Проверки Действия по ошибкам
manual_confirm integer   Не собирать и не отгружать заказ со склада до дополнительного подтверждения Возможные значения: 1, 0 Подтверждение не требуется

 

Оператор магазина связывается с клиентом, подтверждает заказ в ЛК отправляя в работу, либо отменяет.

 

Задачи, описанные ниже носят второстепенный характер – просьба оценить трудозатраты по ним отдельно.

Создание заказа на сайте и получение его данных, если он оформлен вручную из ЛК «Маршрут» - тут необходима консультация по возможности реализации подобного варианта средствами API.

Актуализация статусов заказов на сайте происходит автоматически (например, настройкой cron) и в ручном режиме.

- Модуль осуществляет изменение поля «Статус заказа» товара в БД сайта в соответствии с полученными параметрами поля «id» заказа API.

Используемые статусы заказов «Маршрут» представлены в файле – «Соответствие статусов в ЛК и АПИ.xlsx»

При получении статуса заказа «Отгружено на почту» происходит запрос «post_barcode» (API-Данные заказа) - при изменении статуса на сайте добавляется комментарий с текстом, содержащий почтовый идентификатор из поля «post_barcode».

При получении статуса заказ «Принят перевозчиком» происходит периодический запрос (раз в сутки) «sms» -> «Date, text» (API - Данные по контактам с клиентом) и при изменении статуса на сайте добавляется комментарий с текстом, содержащим время и текст смс-уведомления клиенту из указанных полей.

Обновление всех статусов на сайте заканчивается при достижении статусов: 35 Отказ, 36 Возврат, 50 Выполнен, 51 Компенсирован.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-21 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: