Jump to content
Sign in to follow this  
erozhnov

Модуль для создания заказа во внешней системе OpenCart 2.0

Recommended Posts

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

2.      Пример работы с API можно посмотреть здесь: http://api.iiko.ru/php/index.html Там по шагам с PHP кодом выполняется создание заказа

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

 

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

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

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

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

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

 

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

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

 

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

Поля:

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 (берутся значения таблички из админки и происходит формирования значений поля: Улица + « д.» + Дом). Например, для такой таблички адресов самовывоза

Город

Улица

Дом

Санкт-Петербург

Ул. Репищева

20

Санкт-Петербург

Ул. Рентгена

5

 

Мы получаем два адреса самовывоза: «ул. Репищева д. 20» и «Ул. Рентгена д. 5).

 

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

Share this post


Link to post
Share on other sites

Тоже интересует данный модуль, с предложениями в лс пожалуйста.

Share this post


Link to post
Share on other sites

Тоже интересует данный модуль, с предложениями в лс пожалуйста.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.