Краткое описание модуля 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.