46
Юрий Волошин, Алексей Кирсанов 1C-Битрикс Новая eCommerce платформа D7: заказы, холдинг, персональный раздел

Новая eCommerce платформа D7: заказы, холдинг, персональный раздел

  • Upload
    1-

  • View
    370

  • Download
    9

Embed Size (px)

Citation preview

Page 1: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Юрий Волошин, Алексей Кирсанов1C-Битрикс

Новая eCommerce платформа D7: заказы, холдинг, персональный раздел

Page 2: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Процедура оформления заказа D7

Page 3: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел
Page 4: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• Переход на eCommerce D7

• Реконструкция всей процедуры заказа

• Повышение конверсии интернет-магазина

Задача изменений

Page 5: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

A/B тестирование маркетинговый метод используется для оценки и управления конверсией сайта

«А» ― это то, как у вас есть сейчас (старый дизайн). «B» ― это то, с чем вы будете экспериментировать (новый дизайн).

Для половины показывается дизайн «А», для другой половины ― дизайн «B».

И по каждому из вариантов замеряются все ключевые показатели, в первую очередь ― конверсия.

Page 6: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

A/B-тестирование новой процедуры заказа

Page 7: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

А/В-тестирование оформления заказа

1,2%Конверсия

0,9%Конверсия

А В

Page 8: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Оформление заказа

• Требования времени• Требования клиентов• Новые возможности• Новая архитектура D7• Адаптивная верстка

Page 9: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• Оплата и доставка в зависимости от региона

• Запрашиваем у клиента только нужную информацию

• Поддержка точек самовывоза в неограниченных количествах

• Карты в профиле покупателя• Множественный пересчет и уточнения

параметров доставки• Показ дополнительных услуг в

доставках• Автозаполнение при повторном заказе

• Режим совместимости

Что нового

Page 10: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Компонент sale.order.ajax идеальный, и его не надо кастомизировать— Орландо Виласека, разработчик

Page 11: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Службы доставки

Page 12: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• Автоматическое отслеживание статусов• Синхронизация статусов• Ограничения• Дополнительные услуги• Автоматическое размещение заявки на

забор груза в службу доставки в конце дня

Службы доставки

Page 13: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Событие на расчет стоимости доставки// в /bitrix/php_interface/init.php

EventManager::getInstance()->addEventHandler('sale', 'onSaleDeliveryServiceCalculate', 'myCalc');

function myCalc(Event $event){

/** @var Delivery\CalculationResult $baseResult */$baseResult = $event->getParameter("RESULT");/** @var Shipment $shipment */$shipment = $event->getParameter("SHIPMENT");$deliveryId = $event->getParameter("DELIVERY_ID");

$price = $baseResult->getDeliveryPrice() + 100;$baseResult->setDeliveryPrice($price);

$event->addResult(new EventResult(

EventResult::SUCCESS, array('RESULT' => $baseResult))

);}

Page 14: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Новая служба доставки

Page 15: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

// в /bitrix/php_interface/include/sale_delivery/ или /local/php_interface/include/sale_delivery/

// custom/handler.php

namespace Sale\Handlers\Delivery;

use Bitrix\Sale\Delivery\CalculationResult;use Bitrix\Sale\Delivery\Services\Base;

class CustomHandler extends Base{

public static function getClassTitle(){

return 'Доставка по весу';}

public static function getClassDescription(){

return 'Доставка стоимость которой зависит только от веса отправления';}

Новая служба доставки - 1

Page 16: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

protected function calculateConcrete(\Bitrix\Sale\Shipment $shipment){

$result = new CalculationResult();$price = floatval($this->config["MAIN"]["PRICE"]);$weight = floatval($shipment->getWeight()) / 1000;

$result->setDeliveryPrice(roundEx($price * $weight, 2));$result->setPeriodDescription('1 день');

return $result;}

protected function getConfigStructure(){

return array("MAIN" => array(

"TITLE" => 'Настройка обработчика',"DESCRIPTION" => 'Настройка обработчика',

Новая служба доставки - 2

Page 17: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

"ITEMS" => array("PRICE" => array(

"TYPE" => "NUMBER","MIN" => 0,"NAME" => 'Стоимость доставки за грамм'

))

));

}

public function isCalculatePriceImmediately(){

return true;}

public static function whetherAdminExtraServicesShow(){

return true;}

}

Новая служба доставки - 3

Page 18: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Новые ограничения

Page 19: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

// в init.phpMain\EventManager::getInstance()->addEventHandler('sale', 'onSaleDeliveryRestrictionsClassNamesBuildList', 'myBuildList');

function myBuildList(){

return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS,array(

'\ByMoonday' => '/restrictions/bymoonday.php')

);}

Новые ограничения - 1

Page 20: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

// в /restrictions/bymoonday.php

use Bitrix\Sale\Delivery\Restrictions;use Bitrix\Sale\Internals\CollectableEntity;

class ByMoonday extends Restrictions\Base{

public static function getClassTitle(){

return 'По лунным суткам';}

public static function getClassDescription(){

return 'Доставка будет выводится только в указанном диапазоне лунных суток';}

Новые ограничения - 2

Page 21: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

public static function check($moonday, array $restrictionParams, $deliveryId = 0){

if ($moonday < $restrictionParams['MIN_MOONDAY']|| $moonday > $restrictionParams['MAX_MOONDAY'])return false;

return true;}

protected static function extractParams(CollectableEntity $shipment){

$json = file_get_contents('http://moon-today.com/api/index.php?get=moonday');$res = json_decode($json, true);return !empty($res['moonday']) ? intval($res['moonday']) : 0;

}

Новые ограничения - 3

Page 22: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

public static function getParamsStructure($entityId = 0){

return array("MIN_MOONDAY" => array(

'TYPE' => 'NUMBER','DEFAULT' => "1",'LABEL' => 'Минимальные сутки'

),"MAX_MOONDAY" => array(

'TYPE' => 'NUMBER','DEFAULT' => "30",'LABEL' => 'Максимальные сутки'

));

}}

Новые ограничения - 4

Page 23: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Новые дополнительные услуги

Page 24: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

// в init.phpMain\EventManager::getInstance()->addEventHandler('sale', 'onSaleDeliveryExtraServicesClassNamesBuildList', 'myBuildList');

function myBuildList(){

return new Main\EventResult(Main\EventResult::SUCCESS, array('\MyService' => 'folder/myservice.php'));}

Новые дополнительные услуги

class MyService extends Sale\Delivery\ExtraServicesBase{

public function getClassTitle(){

return "Моя услуга";}

public function getCost(){

return 1000;}

1.

2.

Page 25: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Платежные системы

Page 26: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• Возврат денег• Тонкая настройка банковского счета• B2B платежи в Яндекс• Кастомизация шаблонов платежных

систем• Ограничения• Не нужно вводить одни и те же

параметры для разных платежных систем

• Единая точка входа для ответов платежных систем

Платежные системы

Page 27: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• Код платежа (ID) vs. Номер платежа• Номер платежа: номер заказа/порядковый номер платежа• Для заказа с ID=49 и номером 49 номер

платежа будет 49/1• Для заказа с ID=49 и номером 135_3

номер платежа будет 135_3/1• Кастомизация шаблонов на событиях

Номера оплат

Page 28: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Кастомизация шаблона

<a href="#" onclick="document.getElementById('my_yandex').submit(); return false;"><img src="/images/kot1.png"></a>

<form name="ShopForm" action="<?=$params['URL'];?>" method="post" id="my_yandex"><input name="ShopID" value="<?=$params['YANDEX_SHOP_ID'];?>" type="hidden">* * *

Page 29: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• Обработчики – классы + вспомогательные файлы

• Наследование, интерфейсы• Базовые классы

PaySystem\BaseServiceHandlerPaySystem\ServiceHandler

• Пути/local/php_interface/include/sale_payment//bitrix/php_interface/include/sale_payment/

• Системные обработчики/bitrix/modules/sale/handlers/paysystem

Новая платежная система

Page 30: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Новые ограниченияMain\EventManager::getInstance()->addEventHandler('sale',

'onSalePaySystemRestrictionsClassNamesBuildList', 'myBuildList');

Page 31: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Холдинговая структура

Page 32: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• На смену отдельным каталогам для каждого

города приходит единый каталог

• Город покупателя влияет на время доставки,

типы платежных сервисов и юридическое лицо

выполняющее все процедуры

Холдинговая структураторговля на всю страну

Page 33: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Автоматическое назначение компании и ответственного

в зависимости от города местонахождения покупателя

выбирается:- юридическое лицо- ответственный менеджер- платежные системы и реквизиты, привязанные к

городу покупателя- служба доставки, привязанная к городу

покупателя

Правила обработки частичной оплаты и отгрузки

Холдинговая структура (этап 3 из 4)

Page 34: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Схема работы

ОПЛАТА

ЗАКАЗ

ОПЛАТА

ОТГРУЗКА

КОМПАНИЯ 1

КОМПАНИЯ 2

КОМПАНИЯ 3

ОТГРУЗКА

Page 35: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

ООО Моя компания• г. Москва• физические лица

ИП Антон Компотов• г. Москва• юридические лица

ООО Максим и Ко• г. Калининград

Настраиваем: компании

Page 36: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Настраиваем: компании - 1

Page 37: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Настраиваем: платежные системы

Page 38: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Оформляем заказ

Page 39: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Пользовательские правилаMain\EventManager::getInstance()->addEventHandler('sale',

'onSaleCompanyRulesClassNamesBuildList', 'myBuildList');

Page 40: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Персональный раздел

Page 41: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• Единый комплексный компонент всего персонального раздела, расширены сценарии использования

• Все компоненты написаны с использованием нового ядра D7

• Поддерживается разделение заказов• Поддерживаются сценарии работы с

пополнением счета и возможность пополнить счет без оформления заказа

• Адаптивный дизайн

Персональный раздел

Page 42: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Мои заказы

• Оплата• Смена способа оплаты• Статус доставки• Поддержка множественных

оплат и отгрузок

• Повторение заказа• Отмена заказа

Page 43: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

• Текущий внутренний счет• Возможность пополнить• Оплата заказов с

внутреннего счета

Покупка денег

Page 44: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Подписка на отсутствующие товары

Page 45: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Новые возможности

скидок

В следующей части

Кастомизация административного

раздела

Автоматизация

1 2 3

Page 46: Новая eCommerce платформа D7:  заказы, холдинг, персональный раздел

Спасибо за внимание! Вопросы?