Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

Рекомендованные сообщения

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.

Ссылка на комментарий
Поделиться на других сайтах


  • 1 год спустя...
  • 9 месяцев спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.