Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль для создания заказа во внешней системе 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.

Надіслати
Поділитися на інших сайтах


  • 1 year later...
  • 9 months later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.