Skip to end of metadata
Go to start of metadata

Назначение документа

Документ описывает рекомендации и требования для разработки расширений и модулей к существующим e-commerce платформам.

Цель документа: дать ясное и полное описание процесса установки расширения, его настройки и эксплуатации.

Требования к процессу установки

Варианты установки модуля

Сценарий 1. Сайт-Маркетплейс-Токен

  1. Пользователь находит плагин в маркетплейсе.
  2. Устанавливает плагин.
  3. Заходит в настройки, видит предложение указать токен магазина и ссылку на регистрацию в REES46.
  4. Регистрируется в REES46, получает токен магазина.
  5. Сохраняет токен магазина в настройках плагина.

Примеры интеграций: Битрикс, Magento 1.x.

Сценарий 2. Быстрая регистрация

  1. Пользователь находит плагин в маркетплейсе.
  2. Устанавливает плагин.
  3. В процессе установки переходит на специальный URL быстрой регистрации с токеном авторизации со стороны CMS.
  4. Производит быструю регистрацию и создание магазина.
  5. Редиректится обратно в CMS с токеном магазина.
  6. Токен магазина прописывается автоматически в настройках плагина.

Примеры интеграций: InSales, Shopify.

Сценарий 3. Размещение исходных кодов

  1. Пользователь переходит в нашу инструкцию.
  2. Скачивает исходные коды модуля.
  3. Загружает их на свой сайт.
  4. Устаналивает модуль по инструкции.
  5. Заходит в настройки, видит предложение указать токен магазина и ссылку на регистрацию в REES46.
  6. Регистрируется в REES46, получает токен магазина.
  7. Сохраняет токен магазина в настройках плагина.

Примеры интеграции: OpenCart, Simpla.

Настройки модуля

Экран настроек модуля состоит из одной страницы, содержащий секции:

  • Токен и секретный ключ магазина.
  • URL товарного фида и информация о размещении его в настройках магазина в REES46.
  • Экспорт заказов.
  • Синхронизация статусов заказов.
  • Синхронизация подписчиков.
  • Настройки товарных рекомендаций.
  • Управление триггерными рассылками (опционально).
  • Быстрый переход в бэкофис REES46.
  • Статус трекинга событий.

Рабочий режим модуля

Экспорт товарного каталога

Модуль создает доступный по HTTP URL, содержащий Расширенный YML. Для каждого модуля путь к YML однотипный и после установки модуля и регистрации на сайте REES46, в настройках магазина автоматически сохраняется путь к YML-файлу.

Скрипт генерации YML не должен требовать от хостера включения дополнительных модулей PHP типа XMLWriter (у некоторых тостеров он отсутствует).

Идеально, если скрипт генерирует YML сразу в отраслевых форматах (частичная или полная поддержка) в соответствии с инструкциями Отраслевые алгоритмы.

Информация о доступном YML-файле и инструкция о том, как его установить в настройках магазина в личном кабинете REES46 также должна присутствовать в настройках модуля.

Автоматическое добавление товарного каталога в настройки магазина на REES46

Сразу после сохранения в настройках модуля токена магазина и секретного ключа должен быть отправлен запрос на установку этого YML-урла с помощью метода https://rees46.com/api-doc/1.0/shop/set_yml.html

Запрос должен отправляться только один раз - после первичного сохранения токена и секрета магазина, чтобы предотвратить перезапись YML-урла в настройках магазина в одной из ситуаций:

  • пользователь решил использовать свой собственный YML (возможно, отраслевой);
  • пользователь по каким-то причинам стер YML из настроек магазина и не хочет, чтобы использовался стандартный URL.

Инициализация сессии

  1. На каждой публичной странице (исключая админку) внедряется скрипт REES46 JS SDK III в соответствии с инструкцией Установка базового кода.
  2. Если пользователь авторизован в интернет-магазине, то передается его идентификатор и email (кроме временных идентификаторов и емейлов, которые иногда генерируются средствами CMS и по факту не работают) в соответствии с инструкцией Работа с профилем пользователя.

Трекинг поведения пользователей

Модуль должен автоматически перехватывать события поведения пользователя и отслеживать их по инструкции Отслеживание поведения пользователей. При этом операции управления корзиной и оформления заказа должны отслеживаться не только для базовой функциональности CMS, но и при использовании одного из популярных модулей типа "Заказ в один клик", "AJAX-корзина" и подобных.

Добавление в корзину также должно учитываться при добавлении в корзину AJAX-запросом из товарной категории или результатов поиска.

Просмотр товара должен засчитываться, если используется функция быстрого просмотра без перехода на отдельную страницу.

Удаление товара из корзины или очистка корзины должно засчитываться даже при работе с динамической корзиной типа "быстрый доступ к корзине в нижней части экрана".

Подписки на триггеры

Если CMS позволяет, то в редакторе должны появиться компоненты модуля для подписки на определенные триггеры в соответствии с Подписка на триггеры. Компоненты должны быть оформлены в виде стандартных макросов или элементов редактора, поддерживаемых CMS для того, чтобы ими мог пользоваться обычный программист начального уровня или редактор сайта.

Кнопки подписки не должны показываться тогда, когда состояние товара не соответствует требуемому. Например, кнопка подписки на "товар снова в наличии" не должна показываться при выполнении любого из этих условий:

  • товар уже в наличии;
  • пользователь уже подписался на этот товар.

Товарные рекомендации

В настройках модуля пользователь должен иметь возможность выбрать один из режимов показа товарных рекомендаций:

При отрисовке товарных рекомендаций:

  • обязательно должна выводиться цена в валюте и с учетом всех скидок для текущего пользователя;
  • обязательно исключаться из рекомендаций товары не в наличии;
  • обязательно товары должны выводиться ровно в том порядке, в котором они пришли из API;
  • обязательно не выводить блок товарных рекомендаций, если в нем товаров меньше, чем минимальное количество, указанное в настройках модуля (по-умолчанию 2);
  • крайне желательно выводить блоки в дизайне и использованием компонентов самой CMS, для того, чтобы поддерживалась функциональность "добавить в корзину", "быстрый просмотр" и прочее, что уже работает в CMS.

Файлы, необходимые для web push уведомлений

На сайте должны автоматически стать доступными файлы, необходимые для web push уведомлений в соответствии с инструкцией Подписка на web-push уведомления в разделе "Подготовительные работы".

Экспорт истории заказов

В настройках модуля должна быть кнопка "Экспорт истории заказов", которая работает в соответствии с инструкцией Загрузка истории заказов. Экспортируется история заказов за последние 6 месяцев.

Синхронизация статусов заказов

Модуль должен ежедневно синхронизировать статусы заказов в соответствии с инструкцией Синхронизация статусов заказов по одному из вариантов:

  • либо оформленные за последние 14 дней, изменившие статус с "Оформлен" на "Исполнен" или "Отменен" (и подобные вариации в зависимости от особенностей CMS или настроек пользователя);
  • либо измененные за время с даты последней синхронизации (более предпочтительный вариант).

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

Экспорт аудитории подписчиков

В настройках модуля должна быть кнопка "Загрузить подписчиков", которая работает в соответствии с инструкцией Загрузка аудитории рассылок. Загружаются только те пользователи, которые не отменили подписку на рассылки.

Управление email триггерами

Во вкладке управления триггерными рассылками вывести поддерживаемые нами виды email триггеров и дать возможность включать и выключать их с помощью API https://rees46.com/api-doc/1.0/mailings/switch_trigger.html

Должно быть описание, что это лишь упрощенная версия управления триггерами и полная версия находится в бэкофисе в REES46. И кнопка быстрого перехода в бэкофис REES46.

Быстрый переход в бэкофис REES46

Должна присутствовать кнопка быстрого перехода в бэкофис REES46 без ввода логина и пароля. Делается по методу API https://rees46.com/api-doc/1.0/customers/login.html

Статус событий

На главной странице модуля, если он установлен, должен выводиться статус четырех главных событий (rate исключить, если будет в ответе). В случае потери событий (просмотр - 5 минут, корзина - 12 часов, заказ - 24 часа) статус события меняется на предупредительный. Метод API для получения статуса: https://rees46.com/api-doc/1.0/shop/events_status.html

 

Публикация модуля

Модуль должен быть опубликован в маркетплейсе CMS.

Модуль должен содержать все необходимые коммерческие описания, скриншоты, документацию, ссылки, контакты и прочее, что необходимо для органического трафика и SEO. Пользователь, нашедший модуль в маркетплейсе, должен иметь возможность получить всю необходимую информацию из описания модуля и подключить его без необходимости искать дополнительную информацию о платформе в интернете.

Документация по установке модуля

Документация по установке модуля должна быть выложена на сайте docs.rees46.com в соответствующем разделе и иметь локализацию на языки стран, в которых эта CMS часто используется. Если CMS работает только на локальном рынке, то инструкция должна быть только на этом языке.

Добавление модуля в справочник на сайте REES46

  1. Модуль должен быть добавлен в справочник на сайте REES46, участвующий при создании или редактировании магазина.
  2. Ссылка на модуль должна фигурировать в инструкции, сгенерированной для магазина после прохождения мастера подключения.
  3. Модуль должен предлагаться только для тех языков, в странах которого он может использоваться.

Удаление и деактивация модуля

При выключении или удалении модуля сайт должен работать без проблем и ошибок. Не должно остаться никаких вставленных в шаблоны кусков кода или скриптов от REES46.

Кеширование

Так как CMS в своем большинстве работают медленно и в Черную Пятницу просто умирают, необходимо использовать кеширование для всех ресурсоемких операций:

  • Генерация YML. 
  • Отрисовка товарных рекомендаций.

Генерация YML

Дать возможность генерировать на лету и добавить возможность генерации статичного файла по расписанию. Учитывать, что обычная генерация с помощью "wget http://site.com/yml.xml.php" может отвалиться по таймауту.

Отрисовка товарных рекомендаций

Отрисовка товарных рекомендаций может занимать много времени из-за фрагментации данных по разным таблицам, а также расчета актуальной цены товара с учетом применных скидок, групп клиентов, географии и т.д. Поэтому помимо оптимизации запросов к БД необходимо кешировать информацию о товаре.

Ключ кеша должен быть таким, чтобы для пользователей в одинаковых условиях ключ кеша был бы одинаковым. Например, если цена товара зависит от выбранного города, специальной группы авторизованного пользователя со спецскидками и примененного кода скидки, то ключ должен состоять из всех этих трех параметров и пользователи, у которых все три параметра одинаковы, пользуются одинаковым кешем.

Если для разных групп пользователей часть информации не меняется (например, картинка), а часть меняется (например, наличие или цена), то кешировать можно разные части: картинки одним ключом кеша для всех пользователей, а цены отдельными ключами для каждого типа пользователя.

 

 

  • No labels