Розробка швидкого замовлення (купити в один клік) 1С-Бітрікс
«Купити в один клік» — форма з мінімальним набором полів (зазвичай тільки телефон), яка створює замовлення в Бітрікс без проходження стандартного checkout. У Бітрікс немає готового компонента для цього — це завжди кастомна розробка. При неправильній реалізації замовлення з «одного кліку» потрапляють у статус «Новий», але без прив'язки до кошика, без розрахунку доставки та без можливості онлайн-оплати — менеджер витрачає час на уточнення всього вручну.
Що відбувається при натисканні «Купити в один клік»
Технічно правильна реалізація має:
- Створити замовлення в Бітрікс через
\Bitrix\Sale\Order::create()із вказівкою товару, кількості та ціни - Прив'язати замовлення до анонімного або авторизованого користувача
- Встановити статус замовлення, тип платника та властивості (телефон із форми)
- Сповістити менеджера через подію
OnSaleOrderSavedабо\Bitrix\Sale\Notify - Відправити підтвердження покупцю на телефон (SMS через модуль
smscабо інший провайдер)
Мінімальний обробник створення замовлення:
$order = \Bitrix\Sale\Order::create('s1', \CSaleUser::GetAnonymousUserID());
$order->setPersonTypeId(1); // тип платника «фізособа»
$basket = \Bitrix\Sale\Basket::create('s1');
$item = $basket->createItem('catalog', $productId);
$item->setFields([
'QUANTITY' => $quantity,
'CURRENCY' => 'RUB',
'LID' => 's1',
'PRODUCT_PROVIDER_CLASS' => '\Bitrix\Catalog\Product\CatalogProvider',
]);
$order->setBasket($basket);
$propertyCollection = $order->getPropertyCollection();
$phoneProp = $propertyCollection->getItemByOrderPropertyCode('PHONE');
if ($phoneProp) {
$phoneProp->setValue($phone);
}
$order->setField('STATUS_ID', 'N'); // статус «Новий»
$result = $order->save();
Варіанти поведінки кнопки
Модальне вікно з формою. Найпоширеніший варіант: кнопка «Купити в один клік» відкриває модальне вікно з полем телефону (і опціонально — іменем). При відправці створюється замовлення і показується повідомлення «Ми вам передзвонимо».
Форма прямо на сторінці товару. Для певних ніш (складні товари, де важливе пояснення менеджера) форма розгортається прямо під кнопкою без модального вікна. Конверсія дещо нижча через вихід користувача з контексту перегляду товару, але знижується показник відмов від модального вікна.
Швидке замовлення в каталозі (на картці). Кнопка «Купити в один клік» на лістингу каталогу — без переходу на сторінку товару. Тут важливо передати не лише ID товару, а й вибрану торгову пропозицію (колір, розмір), якщо вони є. Це вимагає попереднього кроку вибору пропозиції або автоматичного вибору першої доступної.
Нестандартні сценарії
Швидке замовлення кількох товарів. У B2B-сегменті потрібно замовити кілька позицій без повноцінного checkout. Реалізація: форма з таблицею позицій із поточного кошика, поле телефону — і кнопка «Відправити заявку». По суті це швидке замовлення всього кошика.
Інтеграція з CRM. При створенні замовлення через «один клік» паралельно створюється лід у Бітрікс24 CRM через REST API. Це дозволяє менеджерам працювати в CRM, а не в адміністративній панелі магазину. Для інтеграції використовується обробник події OnSaleOrderSaved, який викликає crm.lead.add через \Bitrix\Crm\Integration\Sale\OrderAware.
Верифікація телефону через SMS. При високому відсотку фіктивних замовлень із «одного кліку» — додається верифікація через OTP (one-time password). Користувач вводить телефон, отримує SMS із кодом, вводить код — лише після цього створюється замовлення.
Кейс: швидке замовлення з передзаповненням для авторизованих
Клієнт — магазин спортивного харчування з високою часткою повторних покупок. Завдання: для авторизованих покупців «один клік» має бути буквально одним кліком — без введення телефону, з автоматичним вибором останньої використаної доставки.
Рішення: кнопка «Купити знову» поруч із кожним товаром в історії замовлень. При натисканні — перевіряємо останнє замовлення користувача через \Bitrix\Sale\Order::getList(['filter' => ['USER_ID' => $userId], 'order' => ['DATE_INSERT' => 'DESC'], 'limit' => 1]), беремо з нього спосіб доставки та адресу, створюємо нове замовлення з тими самими параметрами. Користувач бачить лише підтверджувальне повідомлення «Замовлення №XXXX створено, очікуйте дзвінка».
Конверсія для авторизованих користувачів зросла — повторне замовлення зайняло 2 секунди замість 3 хвилин.
Строки розробки
| Варіант | Строки |
|---|---|
| Модальне вікно + створення замовлення + сповіщення менеджеру | 1–2 дні |
| + SMS-підтвердження покупцю | +0,5 дня |
| + Інтеграція з CRM (лід) | +1 день |
| + Верифікація телефону через OTP | +1–2 дні |
| Швидке замовлення всього кошика + CRM | 3–5 днів |







