Работа! OC2.0 - Модуль для отправки заказа во внешнюю систему

Тема в разделе "Поиск исполнителей", создана пользователем Евгений Рожнов, 23 июл 2015.

  1. Евгений Рожнов

    Евгений Рожнов Новичок

    Сообщения:
    2
    Симпатии:
    0
    Краткое описание модуля

    1. Модуль выполняет создание заказов в внешней системе iiko с помощью API (http://api.iiko.ru/Instruct.aspx).

    2. Пример работы с APIможно посмотреть здесь: http://api.iiko.ru/php/index.html

    3. Используемые модули и темы в стандартном решении: тема Pavilion, модуль «простая регистрация и заказ Simple”.


    Технические подробности:

    4. Тестовый домен opencart.olebo.ru, описанное ниже поведение и поля уже реализованы

    5. Версия OC: русская сборка 2.0.3.1.

    6. В модуле «простая регистрация и заказ Simple” созданы custom-поля, работа с которыми необходима для интеграции: street_id (улица), house_id (дом), kvartiraofis_id (квартира или офис), adres_samovivoza (адрес самовывоза).

    7. В opencartнастроено два типа доставки: Курьерская доставка и доставка Самовывозом. В зависимости от типа доставки при заказе заполняется или adres_samovivoza (при способе доставки самовывоз), либо же доставка street_id, house_id, kvartiraofis_id(при способе доставки Курьерская доставка).


    Условия разработки:

    8. Разработчик передает эксклюзивные права на модуль Заказчику и обязуется не разрабатывать аналогичные модули / аналогичные заказы по интеграции.


    Админка модуля

    Поля:

    1. Задается лицензионный ключ

    2. Задается хост и порт сервера

    3. Задается логин и пароль для доступа к серверу

    4. Административный e-mailдля уведомления о проблемах в модуле

    5. Кнопка «Обновить Улицы и Адреса Самовывоза»

    6. Кнопка «Обновить Каталог» /при нажатии выводится

    7. Кнопка «Проверить статус сервера»: online/offline

    8. Адреса самовывоза (таблица)

    a. Город, улица, дом

    9. Имена типов оплаты:

    a. Выводятся все типы оплат созданных в OpenCartи для каждого типа оплаты задается “Имя Типа оплаты в iiko”, текстовое поле.

    10. Имена типов доставки:

    a. Выводятся два типа доставок, созданных в OpenCart(Курьерская доставка, Самовывоз) и для них задается текстовое поле “Имя Типа Доставки в iiko”

    Первая итерация (отправка заказов):

    Функционал админки:

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

    2. При нажатии на кнопки выводится «Будущие версии»

    Функционал модуля:

    При создании нового заказа в opencartзаказ создается в iiko. При проблеме с созданием заказа в iikoотправляется e-mailадмину (e-mailберется из админки модуля), а также на e-mailхардкоднутый (будет сообщен при разработке).

    При отправке заказа в iikoнеобходимо:

    1. Правильно указать тип доставки (Курьерская или самовывоз, имя берется из админки)

    2. Правильно указать тип оплаты (Имя типа берется из админки)

    3. Не создавать дубликатов клиентов в айко (проводить поиск клиента по номеру телефона и если клиент в iikoесть, то создавать доставку для данного клиента).

    4. Не создавать дубликатов адресов в iiko(если клиент ранее уже заказывал по данному адресу, то использовать существующий адрес, а не создавать дубликат)

    5. При заказе товара с опциями также добавить в заказ и опции

    6. В айко также должны попасть следующие поля заказа: ФИО, Комментарий, Адрес (customполя модуля Simple), Заказанные Товары.

    7. При заказе самовывозом хардкоднуть адрес самовывоза (точный адрес будет сообщен при начале разработки)

    Технические подробности (обсуждаемо):

    1. если нужно использовать OCMOD или VQMOD, использовать VQMOD.

    2. использовать обработчик событий OpenCart

    Вторая итерация (интеграция с модулем «Простая регистрация и Заказ», далее Simple) :

    1. В модуле Simpleсозданы кастом поля street_idи adres_samovivoza. Тип поля – select, значения получаются вызовом функции в PHP.

    2. При нажатии на кнопку «Обновить улицы и адреса самовывоза» происходит обновление значений для поля street_id (перечень улиц получается из айко для первого города в iiko).

    3. При нажатии на кнопку «Обновить улицы и адреса самовывоза» происходит обновление значений для поля adres_samovivoza (берутся значения таблички из админки и происходит формирования значений поля: Улица + « д.» + Дом).

    4. Статус сервера online/offline при нажатии на кнопку, определяется путем получения токена от сервера. Если токен получен, то online. Иначе offline.
     
  2. staniki

    staniki Пользователь

    Сообщения:
    36
    Симпатии:
    0
    Тоже интересует данный модуль, с предложениями в лс пожалуйста.