Як я будував нативний Telegram-магазин для WooCommerce — і чому це виявилося складніше, ніж здавалося

Я розробник WordPress/WooCommerce-плагінів — в IT я з 2006 року, коли верстав преміум-шаблони у TemplateMonster, а першими завданнями була верстка під Internet Explorer 5.5. Плагінами займаюся останні 12 років: BEAR, HUSKY, FOX, MDTF, WOOT, WPCS, WOLF, TABLEON — сумарна аудиторія близько 200 000 активних встановлень. Telegram-ботів я до певного моменту сприймав як щось другорядне: міг зробити щось просте, але не захоплювався. Усе змінилося в березні 2024 року.

Як це починалося

Один знайомий звернув мою увагу на ідею: побудувати повноцінний магазин прямо в Telegram. Не через Telegram Mini Apps — це по суті той самий сайт, тільки у вбудованому браузері месенджера. Мені це було технічно нецікаво: зробити вебсайт я вже давно вмію. А от зробити справжнього нативного бота, де весь UX побудований через повідомлення, кнопки й інтерактивні елементи Telegram — ось це виклик. Я навіть не розумів спочатку, як це реалізувати. І саме тому це мене зачепило. У Telegram дуже жорсткі UX-обмеження — немає hover, немає нормальних форм, немає багатовіконності. І саме це змушує думати інакше. Я зрозумів, що якщо магазином реально можна користуватись прямо в месенджері — це зовсім інший рівень frictionless UX.

У Telegram немає «сторінки каталогу» — фактично весь UX треба було винаходити заново поверх повідомлень.

Перші пів року: правильна ідея, неправильна архітектура

Перші місяці я писав серверну частину на PHP — мові, яку знаю добре. Сам server-рушій бота був написаний на PHP: обробка вхідних повідомлень від Telegram (webhooks), стан діалогу, відповіді — усе це жило в PHP-коді на сервері.

З самого початку мені було принципово важливо, щоб у месенджері користувача залишалася тільки актуальна інформація: старі повідомлення мають підчищатися, кнопки — перемальовуватися при натисканні, а не накопичуватися мертвим вантажем. Це я реалізував. Але загалом архітектура виявилася глухим кутом.

PHP за своєю природою — мова запит-відповідь. Для бота це означало: кожне повідомлення від Telegram — окремий HTTP-запит, окремий процес, без загального стану. Логіка підчистки повідомлень, стеки діалогів, одночасні сесії кількох користувачів — усе це на PHP перетворювалося на костилі. Система працювала, але була громіздкою і важко розширюваною. Через пів року стало ясно: треба міняти підхід кардинально.

Грудень 2024: переписування на Node.js

Почитавши форуми і інші інформаційні джерела, я зрозумів: для Telegram-бота потрібен постійно запущений процес, а не обробник HTTP-запитів. Вибір впав на Node.js — JavaScript я знаю добре, тому поріг входу був мінімальним.

Я свідомо відмовився від готових фреймворків для Telegram-ботів і написав свій мікрофреймворк для відправки повідомлень будь-якої складності: галереї, динамічні клавіатури, повідомлення що оновлюють самі себе при взаємодії. Для роботи з Telegram використав tdlib — саме завдяки йому вдалося реалізувати ту інтерактивність, яку я хотів з першого дня: на екрані користувача завжди тільки актуальна інформація, без сміття зі старих повідомлень.

З грудня 2024 я витрачав на проєкт 5 годин щодня, паралельно з плагінами. Іноді й на вихідних — просто тому що було цікаво. Я фактично будував власну state-machine поверх Telegram-чату.

Що вийшло в результаті

Повноцінний магазин у Telegram

Центральна частина Botoscope — магазин. Особливу увагу я приділив варіативним товарам з необмеженою складністю: будь-яка кількість варіацій, кожна з власною ціною і наявністю. Навігація по каталогу має кілька режимів: якщо товарів небагато — можна показати одразу весь каталог (optional), якщо багато — категорійне дерево. Є вбудований пошук як за назвою, так і за SKU. Такий підхід дозволяє використовувати систему в дуже широкому спектрі ніш: від класичної роздрібної торгівлі будь-якими фізичними товарами, зокрема одягом із варіаціями розмірів і кольорів (необмежену кількість атрибутів), товарами для тварин, побутовими та електронними товарами, до цифрових продуктів, включно з відеокурсами, навчальними матеріалами та файлами, які продаються з обмеженим доступом без можливості завантаження. Також система підходить для сервісних mini-бізнесів із бронюванням, продажу нерухомості, автомобілів, а також для фармацевтичних або інформаційних каталогів, де важлива структурована подача великої кількості складних даних і швидкий пошук потрібного товару чи послуги.

Booking — повністю своя архітектура

Ідея написати власну систему бронювання цікавила мене давно — не як плагін для WordPress, а саме як архітектурна задача: як правильно побудувати логіку слотів, розкладів, резервацій. Але щоразу поточні завдання відтягували убік, і далі перших нарисів справа не заходила.

Восени 2025 року я зрозумів, що контекст нарешті є. Botoscope вже вмів продавати фізичні й цифрові товари — але послуги з розкладом, записом і часовими слотами залишалися поза системою. Я взяв папір і олівець — це мій спосіб думати, жодних notion і miro — і почав малювати архітектуру. Коли ухопив думку і зрозумів як це має працювати, сів писати код.

Вийшло ось що. Продукт типу «Simple Virtual» відкриває кнопку Booking slots — і ти потрапляєш у розклад. Сім днів тижня, для кожного свої слоти: час початку і завершення, ціна, ємність. Ємність — це окремо цікаво: за замовчуванням одиниця, але якщо у тебе групове заняття чи воркшоп — ставиш 10, і десять людей можуть забронювати один і той самий слот.

Booking slots for telegram

За замовчуванням всі слоти беруть ціну з самого продукту — одну на всі записи. Але якщо твоя бізнес-логіка складніша — ранковий прийом одна ціна, вечірній інша, святковий день взагалі окремий тариф — просто вписуєш ціну конкретному слоту, і вона перекриває загальну. Ніякої магії, просто поле з цифрою там де потрібно.

Щоб не вводити однаковий розклад щодня вручну — є клонування. Заходиш у вівторок, де ще порожньо, вибираєш «клонувати з понеділка» — і всі слоти скопійовані. Хвилина замість двадцяти.

Але найцікавіше — це runtime-режим. Це вже не шаблон, а живий розклад конкретного дня. Тут можна на льоту змінити час або ціну окремого слоту — наприклад, сьогодні свято і ціна вдвічі вища. Можна вимкнути слот — майстер відсутній. А якщо раптом з’явилося вільне вікно якого в розкладі немає — є ’Create disposable slot’: разовий слот, в тому числі для клієнта який прийшов наживо і заплатив готівкою.

динамічні слоти booking для телеграм

З боку покупця в Telegram це виглядає чисто: вибрав послугу, відкрився календар, обрав день, вибрав час із ціною, поклав у кошик і оформив як звичайне замовлення. Після оплати — PDF-підтвердження прямо в boti, завдяки інтеграції з WooCommerce PDF Invoices & Packing Slips.

календар букінгу в телеграмі

календар букінгу в телеграмі

Нігтьовий майстер, репетитор, юрист, особистий тренер — все це тепер у Telegram без жодного стороннього плагіна для бронювання.

🎓 Цифрові товари та курси

Я давно спостерігаю за ринком онлайн-освіти. Udemy, Teachable, Kajabi, Thinkific — кожна платформа бере свій відсоток, вимагає реєстрацію, веде користувача на зовнішній сайт. Я дивився на все це і думав: а що якщо курс можна продати і переглянути прямо в Telegram, не виходячи з месенджера?

Завдання технічно не надто складне, але фіча виходить дуже приємна. Ключова ідея — цифровий товар, який не можна скачати. Відео відкривається виключно через вбудований Mini App прямо в Telegram — по суті це браузер всередині месенджера, але файл на пристрій звідти не витягнути стандартними способами. Піратів це звичайно не зупиняє повністю, але звичайний покупець просто дивиться — і все.

продаж курсів через Telegram

Другий момент — час доступу. Можна не чіпати взагалі: виставляєш -1 і людина отримує доступ назавжди. Або виставляєш 180 — і рівно через 180 діб після покупки контент автоматично стає недоступним. Ніяких нагадувань, ніяких ручних дій — просто спливає термін і всі матеріали зачиняються. Зручно для підписних курсів, сезонних програм, будь-якого контенту де важливий не факт «я це купив», а саме контрольований період перегляду.

продаж цифрових курсів у телеграмі

💳 Оплата

Botoscope підтримує Stripe, PayPal, LiqPay, банківську карту, IBAN-перекази і криптовалюту через CoinGate. Усе що можна покласти в кошик — можна оплатити.

Важливий момент про архітектуру: Botoscope тут не посередник і не платіжний агрегатор. Це інтеграційний шар — ти підключаєш свої акаунти, свої API-ключі, свої договори з провайдерами. Гроші йдуть напряму до тебе.

оплата в Telegram

Окремо хочу розказати про PayForMe — фічу, яку я придумав ще в 2024 році, коли писав першу PHP-версію.

Спочатку Botoscope задумувався як магазин куди приходять покупці з Instagram, TikTok, інших соціальних мереж — знайомляться з товарами і одразу оформлюють покупку в Telegram. Тоді стартова ідея була досить конкретною — магазин орієнтований на жіночу аудиторію: одяг, краса, аксесуари. З того часу Botoscope виріс у щось значно ширше як проект, але PayForMe народився саме з тієї початкової картинки. І в якийсь момент подумав: а що якщо вона хоче подарунок? Як їй отримати його від когось іншого? Ця ниточка потягла за собою ідею.

Схема проста: покупець збирає кошик, вибирає PayForMe замість звичайної оплати і отримує унікальне посилання. Надсилає його будь-кому — в Telegram, WhatsApp, email. Отримувач відкриває посилання — це звичайне Telegram-посилання на той самий магазин-бот, просто з GET-параметрами які автоматично завантажують потрібне замовлення — бачить деталі і оплачує. Єдина умова: у людини має бути встановлений Telegram. Логічно що у платника вже немає опції PayForMe — це була б петля — тільки реальні способи оплати.

Сценаріїв насправді більше ніж здається: дитина замовляє — батько оплачує, клієнт оформлює — бухгалтерія закриває рахунок, друг дарує подарунок не питаючи розміру. Покупець і платник — різні люди, і це нарешті вирішено нативно.

🛒 Чекаут повністю в Telegram

Весь процес оформлення замовлення відбувається нативно в боті — жодних переходів на WooCommerce-сайт. Купон на знижку, спосіб доставки, адреса — все через кнопки і повідомлення Telegram, без форм і зовнішніх сторінок. Помилився з адресою чи захотів змінити доставку — редагуєш прямо тут же, не починаючи все з початку. Єдиний виняток — деякі платіжні системи: Stripe, наприклад, відкривається в браузері через власні вимоги безпеки, LiqPay і CoinGate — в Mini App вікні. Але це сторінка платіжного провайдера, не вашого магазину.

Після оплати покупець не залишається сам на сам із чеком. У розділі замовлень є кнопка підтримки — можна одразу написати питання і отримати відповідь від власника магазину або відповідального співробітника. Але підтримка не обмежується тільки постпродажним етапом. Кожен товар може мати опціональну кнопку звернення ще до покупки — щоб клієнт уточнив деталі перед тим як оформляти. Не потрібна підтримка взагалі — просто не активуєш її в налаштуваннях.

checkout у телеграмі

Якщо встановлено модуль «Бізнес у кишені» — власник відповідає клієнтам прямо з телефону, де б він не був. Якщо ні — всі звернення доступні через адмін-панель плагіна.

Здавалося б деталь. Але клієнт який отримує відповідь швидко — відчуває що магазин живий. А це напряму впливає і на довіру, і на те чи він повернеться наступного разу.

Маркетингові стратегії та кампанії всередині Botoscope

Маркетинг у Botoscope — це вбудована система формульних знижок, яка працює прямо всередині вашого Telegram-бота.

Вся логіка будується на двох поняттях: стратегія і кампанія. Стратегія — це формула знижки. Кампанія — це коли і для яких товарів ця формула спрацьовує. Спочатку описуєш правило, потім вмикаєш його на потрібний час.

Формула: три частини, безмежна гнучкість

Кожна знижкова стратегія складається з однієї або кількох формул. Формула виглядає так:

умова ; знижка ; модифікатори

Наприклад: c >= 6 & c < 12; 25%; 3n, me, cap=3

Читається це так: якщо в кошику від 6 до 11 товарів — знижуй кожен третій товар (за позицією у відсортованому кошику), і не будь-який, а найдорожчий, але не більше трьох позицій. 25% від кожного.

Тобто одним рядком ви описуєте досить складний сценарій: умова входу, розмір знижки, і точно які позиції вона торкається.

Умови задаються через кількість товарів у кошику: c >= 3 (три і більше), c = 5 (рівно п’ять), c >= 3 & c < 6 (від трьох до п’яти). Просто і читається як звичайна фраза.

Знижка — або відсоток (50%).

Модифікатори — найцікавіша частина. Вони уточнюють, які саме товари зі всього кошика потраплять під знижку:

  • mc — найдешевший товар
  • me — найдорожчий
  • 2n / 3n — кожен другий / третій за позицією
  • cap=3 — не більше трьох позицій, навіть якщо умова дозволяє більше

Кілька практичних прикладів, які покривають більшість реальних акцій:

c>=2; 50%; mc          → купи два, отримай найдешевший за полціни
c>=3; 100%; mc         → купи три, найдешевший безкоштовно
c>=2; 50%; 2n, mc      → купи два, другий за полціни
c>=3; 100%; mc, cap=2  → купи три і більше, два найдешевші безкоштовно

Кілька формул — ступінчасті знижки

Одна стратегія може містити кілька формул. Тоді вони утворюють рівні: чим більше товарів у кошику, тим вигідніша умова.

Важливе правило: якщо для одного товру підходять кілька формул — спрацьовує остання за порядком. Тому формули потрібно розставляти від менш щедрої до більш щедрої: тоді при більшій кількості товарів покупець автоматично отримає кращу умову.

Формула 1: c>=2; 50%; mc
Формула 2: c>=3; 100%; mc, cap=2

Кошик з 2 товарами → спрацьовує формула 1: -50% на найдешевший
Кошик з 3+ товарами → спрацьовує формула 2: два найдешевші безкоштовні

маркетингова компанія в Telegram

маркетингова стратегія у Telegram

формули маркетингової Стратегії у Telegram

Кампанія: стратегія + час + товари

Коли стратегія готова — створюєте кампанію. Вибираєте, яка стратегія в ній використовується, ставите дату старту й закінчення, і, якщо потрібно, точно вказуєте, для яких товарів вона діє.

За замовчуванням кампанія поширюється на весь асортимент. Але якщо ви хочете зробити акцію тільки на залежалий товар чи конкретну колекцію — шукаєте товари за назвою, ID або через формат v27, який розгортає всі варіації батьківського товару з ID 27.

Одночасно може бути активна тільки одна кампанія. Вмикаєте нову — попередня вимикається автоматично.

Тест-режим: перевір, перш ніж запускати

Перед тим як оголошувати Чорну п’ятницю всім своїм підписникам — можна перевірити кампанію в тихому режимі. Вмикаєте тест-режим — і бачите кампанію тільки ви. Перевіряєте, чи правильно рахується знижка, чи коректно відображається у чекауті, і тільки потім вмикаєте для всіх.

Важливо: купон або кампанія — не разом

Якщо покупець застосовує купон — маркетингова кампанія для цього замовлення вимикається автоматично. Підсумовувати їх не можна. Це чітке обмеження, і про нього краще знати наперед, щоб правильно будувати акції.

Взагалі маркетингова система Botoscope розроблялась з однією ідеєю: продавець повинен мати змогу описати будь-який реалістичний сценарій акції кількома рядками формули — і не торкатися при цьому ні коду, ні стороннього сервісу. Чорна п’ятниця, розпродаж залишків, акція «три за ціною двох» — все це вирішується всередині плагіна, прямо в тому ж інтерфейсі, де ви керуєте товарами.

«Бізнес у кишені»

Є одна ситуація яку я добре знаю: ти не біля комп’ютера, а щось відбувається в магазині. Новий ордер, клієнт написав питання, товар закінчується. Раніше це означало — зайти в адмінку, розібратися, відповісти. Тепер це просто повідомлення в Telegram.

бізнес у кишені для підтримки клієнтів у Telegram

Модуль «Бізнес у кишені» — це окремий особистий бот-нотифікатор для власника магазину. Не той самий бот що бачать покупці, а твій власний, куди приходять три типи сповіщень. Три типи сповіщень: нове замовлення (з повними деталями: товари, сума, спосіб оплати, адреса, купон, нотатка клієнта і навіть підсумок продажів за день), повідомлення від клієнта в підтримку, і попередження про низький залишок товару на складі.

Новий ордер — і не просто «хтось купив». Повна картина: номер замовлення, ім’я клієнта, список товарів із кількістю і SKU, спосіб оплати, застосований купон, нотатка від покупця, адреса доставки, фінальна сума. І внизу — підсумок за день: скільки замовлень і на яку суму. Відкрив телефон — одразу знаєш як іде день.

Повідомлення від клієнта в підтримку — клієнт пише питання в боті щодо товару або свого замовлення, власник отримує сповіщення у свій персональний бот із зазначенням скількох людей чекають на відповідь. Відповідаєш прямо в Telegram — повідомлення миттєво з’являється у клієнта в магазинному боті. Жодних email, жодних тікет-систем.

Попередження про низький залишок — назва товару, поточна кількість, ID. Щоб не проґавити момент коли щось закінчується.

Якщо є команда — все гнучко налаштовується: кілька ботів, кілька chat ID через кому.

Технічно це окремий бот створений через BotFather — займає п’ять хвилин на налаштування.

💬 Підтримка

За 12 років роботи з WordPress-плагінами я добре вивчив одну річ: у кожного користувача своя карта світу в голові. Те що здається очевидним розробнику — для клієнта може бути повною загадкою. Питання бувають складні, бувають прості, бувають такі що змушують зробити глибокий вдих. Але суппорт — це не зло і не витрата часу. Це частина бізнесу.

І ще важливіший психологічний момент: клієнт який заплатив гроші хоче знати що він не кинутий. Що є куди написати, що йому відповідять, що його проблему вирішать. Ця впевненість коштує дорого — і саме її не вистачає більшості Telegram-магазинів, де кнопки підтримки просто немає.

система підтримки користувачів у Telegram

кнопка підтримки користувача в Telegram Боті

кнопка підтримки користувача в Telegram Боті

Тому підтримку я закладав з першої версії. Перша думка була проста — лінк на Telegram-аккаунт відповідального. Це теж реалізовано, але мені хотілося зробити нормальну тікет-систему.

Працює так. Клієнт може звернутися до підтримки на двох етапах: до покупки — є кнопка прямо на на блоці товару, щоб уточнити деталі перш ніж оформляти. І після покупки — у розділі замовлень біля кожного ордера теж є кнопка підтримки, щоб запитати про статус або щось уточнити.

Оператор — це будь-хто з доступом до адмінки Botoscope: власник або його помічник. Відповідати можна звідти, або з модуля «Бізнес у кишені» прямо з телефону. Вгорі інтерфейсу підтримки — дропдаун з усіма клієнтами що очікують відповіді. Вибираєш, відповідаєш, повідомлення миттєво надходить клієнту в бот.

Відповідати одразу на кожне повідомлення не обов’язково — для малого бізнесу нормально відводити на це конкретний час раз на день. Головне що клієнт бачить: магазин живий, і він не сам.

Мультимовність і мультивалютність

Більшість Telegram-ботів перекладають тільки інтерфейс — кнопки і системні повідомлення. Botoscope йде далі: перекладається весь контент магазину — назви та описи товарів, атрибути, таксономії, способи доставки, назви платіжних методів, рекламні тексти. Підтримується 7 мов інтерфейсу. Коли користувач обирає мову в боті — він бачить повністю локалізований магазин. Перекладати можна вручну або через вбудовану інтеграцію з OpenAI — по одному товару, в потрібному темпі.

мультивалютність та мультимовність у Telegram Боті

мультивалютність у Telegram Боті

Мультивалютність побудована на базі мого власного плагіна FOX — WooCommerce Currency Switcher. Кількість валют необмежена: задаєш базову валюту, додаєш решту з курсами — і кожен покупець бачить ціни у своїй валюті. Курси можна оновлювати вручну або автоматично за розкладом. Якщо платіжна система підтримує мультивалютність — покупець може і оплачувати у своїй валюті; якщо ні — бачить ціну локально обрану, а оплачує в базовій.

🔍 Фільтри будь-якої складності

Оскільки Botoscope будується поверх WooCommerce, фільтрація в боті використовує потужність мого власного плагіна HUSKY. Фільтри по категоріям, атрибутам, таксономіям, ціні — все що є на сайті, є і в боті.

Але цим справа не обмежується. Botoscope підтримує кастомні таксономії (tab Taxonomies) та атрибути: можна створити будь-яку структуру класифікації товарів — «Локація», «Матеріал», «Сезон», «Бренд» — і відразу ввімкнути їх як фільтри в боті. Атрибути додатково можуть впливати на ціну і використовуватись для варіацій.

фільтр продуктів у Telegram Боті

Ще один рівень гнучкості — мета-поля (Botoscope Meta). Для кожного товару можна додати довільні поля: числові (наприклад, «Відстань до моря» або «Рік випуску»), булеві («Є паркінг?», «Є ліфт?»), календарні («Доступно з»). Ці поля можна використовувати для фільтрації в боті: числові значення відображаються як повзунок діапазону, булеві — як перемикач так/ні, календарні — як вибір дати. Зручно для нерухомості, автомобілів, послуг — будь-якого каталогу зі складною структурою. Demo (створений спеціально для одного із клієнтів в Іспанії).

Окремо — для кожного товару можна додати аудіоролик. Якщо у вас кілька мов інтерфейсу, аудіо завантажується окремо для кожної з них: покупець почує озвучення саме своєю мовою.

аудіо для продуктів Telegram Bot магазині

аудіоролик в Telegram пості

Маркетинг усередині бота

Два інструменти для просування. Перший — Broadcasting: розсилка довільного повідомлення всім підписникам бота одним кліком. Анонс знижки, новинки, важливі оновлення — доставляється як особисте повідомлення прямо в чат кожного користувача, без email і без реклами.

Botoscope broadcasting

Другий — рекламні блоки всередині каталогу: можна додати одне або кілька промо-повідомлень із посиланнями, які показуються внизу екрана каталогу в ротації. Корисно для просування конкретних товарів або партнерських пропозицій.

реклама прямо в Telegram Боті

Групові продукти

Окремо хочу виділити групові продукти — дуже цікава механіка для продавців, яка в Botoscope працює повноцінно.

Ідея проста: створюєш один комбінований продукт і вносиш до нього кілька окремих товарів. Весь набір продається за єдиною ціною — як правило, вигіднішою ніж купувати кожен товар окремо. Класичний bundle.

Але є деталь, яка робить це цікавим. До групового продукту можна додавати варіативні товари. Тобто якщо один із товарів у наборі існує у кількох варіаціях — наприклад, футболка у різних розмірах — покупець при виборі всього сету вибирає потрібну варіацію прямо в боті. Це додає гнучкості: набір залишається єдиним товаром у каталозі, але покупець не втрачає можливість уточнити деталі.

груповий товар у телеграмі

Ще один важливий момент: на груповий продукт можна встановити єдину ціну для всього набору. У стандартному WooCommerce це нетривіальна задача — там групові продукти традиційно не мали власної ціни. В Botoscope це вирішено на рівні плагіна.

Elogios — система компліментів

Невелика, але психологічно грамотна деталь. Після додавання товару в кошик або взаємодії з ним бот надсилає короткий привітальний рядок — «Бажаємо вам натхнення і гарних покупок!» або будь-який інший у вашому стилі. Власник магазину сам налаштовує список фраз і їхній тон. Дрібниця, яка робить бот живим. З точки зору поведінкової психології це працює як мікро-позитивне підкріплення: навіть мінімальні «теплі» повідомлення після дії користувача підсилюють відчуття завершеності взаємодії та знижують когнітивну напругу під час прийняття рішень.

компліменти у Telegram Боті Botoscope

компліменти у Telegram Боті Botoscope

комплименты в Telegram Боте Botoscope

Подібні ефекти описуються в дослідженнях про «social presence» у цифрових інтерфейсах — коли система сприймається менш як інструмент і більше як соціальний агент, зростає довіра і ймовірність подальшої взаємодії.

Закритий доступ по ключу

Можна закрити вхід у shop-бот паролем — довільною фразою, яку отримують лише запрошені. Зручно для VIP-продажів до офіційного запуску, закритих B2B-каталогів або ексклюзивних кампаній для підписників. Ключ змінюється в один клік, старий одразу перестає працювати.

приватний доступ до telegram-магазину

B2B-режим

Для оптових покупців є два налаштування: мінімальна сума кошика для оформлення замовлення (кнопка чекауту блокується, доки ліміт не досягнуто) і режим введення точної кількості товару замість кнопок «+/—». Корисно для магазинів з мінімальними партіями або великими замовленнями.

Shopify Sync

Якось перед самим релізом мені написав знайомий: «Слухай, є одна жінка, їй потрібен магазин у Telegram. Але проблема — у неї все на Shopify». Я замислився. З одного боку, Botoscope будувався як WooCommerce-рішення. З іншого — перший реальний запит ще до офіційного запуску, і одразу з нестандартним кейсом.

Я сів розбиратися. Швидко з’ясувалося, що Shopify і WordPress живуть у цілком різних екосистемах, але спілкуватися між собою вміють чудово — через офіційний Admin API. І я написав розширення.

Схема ось яка. Поруч із основним Shopify-магазином підіймається окремий WordPress — можна хоч у Docker-контейнері на будь-якому сервері, він виступає виключно як внутрішній рушій для Botoscope. Ні вітрина, ні сайт — просто адмінка з плагіном. Далі запускається синхронізація: всі активні товари з Shopify імпортуються у WooCommerce автоматично разом із зображеннями, варіантами і категоріями. Варіативні товари — наприклад, футболка у трьох кольорах і п’яти розмірах — коректно перетворюються на variable products з усіма атрибутами.

Після налаштування все працює в реальному часі через webhooks: якщо у Shopify оновився товар або з’явився новий — зміна одразу відображається і в боті. І в зворотний бік: коли покупець оформлює замовлення через Telegram-бота, воно через той самий API відправляється назад у Shopify. Власник бачить його в своєму звичному адмін-кабінеті, склад списується, усі процеси йдуть своїм шляхом — жодної ручної роботи.

Є і ще один режим — каталог без чекауту. Тоді при синхронізації зберігаються прямі посилання на товари в Shopify-магазині, і кнопка «Детальніше» в боті веде клієнта прямо туди для оформлення. Підходить тим, хто хоче використовувати бота як додатковий канал трафіку, не змінюючи основний флоу оплати.

Підключення технічно нескладне: в Shopify створюється Legacy Custom App із чотирма скоупами (read_products, write_products, read_orders, write_orders), отриманий токен вписується в налаштування розширення — і можна синхронізувати. Важливий момент: Admin API access token показується тільки один раз одразу після створення застосунку. Якщо не скопіювати — доведеться перевстановлювати.

синхронізація магазину магазину з телеграмом

Так що якщо у вас Shopify — це не привід відмовлятися від нативного Telegram-магазину. Ваш основний стор залишається незайманим, Botoscope просто дає йому новий канал продажів.

Не тільки магазин

Є один момент, про який я рідко кажу першим, але він мені самому подобається. Щойно встановлюєш Botoscope на WordPress — ще до того як підключив бота, ще до того як щось взагалі налаштував — плагін вже корисний.

Одразу після активації з’являється альтернативна адмін-панель для WooCommerce. Нічого зайвого, але є речі, яких не вистачає в нативному інтерфейсі.

Наприклад, таксономії. В стандартному WordPress це список у вигляді таблиці з випадаючими списками, де ти перескакуєш між вкладками щоразу, коли треба переключитися на іншу категорію чи атрибут. У Botoscope це окремий таб із нормальною навігацією: всі таксономії перед тобою, переходиш у дочірні елементи по кнопці, повертаєшся назад, одразу ж можеш створити новий терм — і ніяких зайвих переходів. Дрібниця, але якщо ти щодня працюєш із великим каталогом, це відчувається.

таксономії для телеграм магазину

Окремо варто сказати про «Бізнес у кишені» — його можна підключити навіть якщо магазин у Telegram тобі взагалі не потрібен. Просто щоб твій особистий Telegram bot отримував красиво оформлені сповіщення: новий ордер з усіма деталями, попередження про низький залишок товару. Без дашбордів, без email, без того щоб заходити в адмінку — просто повідомлення в телефоні в потрібний момент.

Тобто якщо коротко: плагін можна використовувати просто як зручніший інструмент керування WooCommerce-магазином — і це вже виправдовує його встановлення. А Telegram-магазин — це наступний крок, коли будеш готовий.

Якщо коротко: я витратив майже два роки і переписав проєкт з нуля посередині шляху. Чи шкодую? Ні. Перше переписування на PHP дало розуміння архітектурних помилок, яких я б інакше не побачив. А Node.js-версія вийшла такою, якою я її і хотів з першого дня — де UX будується не через браузер, а через справжній нативний Telegram.

Якщо цікаво подивитися як це виглядає зсередини — демо-бот доступний прямо зараз: t.me/botoscope_demo4_bot — магазин, варіативні товари, чекаут, бронювання. Все що описано в статті — можна потикати руками без реєстрацій. Плагін безкоштовно завантажується на WordPress.org, безкоштовний тариф доступний. Більше про можливості — на botoscope.com, повна документація — на botoscope.com/documentation. Посилання на github: github.com/botoscope/botoscope

І наостанок — мені справді цікава ваша думка. Telegram як торговий майданчик — це вже реальність чи все ще експеримент? Чи бачите ви майбутнє e-commerce всередині месенджерів, або це ніша яка так і залишиться нішею? Якщо є власний досвід із Telegram-ботами для продажів — що спрацювало, що ні — пишіть у коментарях. Таких розмов мені не вистачає.

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

А як сам бот працює — пулінг чи хуки?

Дякую за питання! Використовую tdlib — це не polling і не webhooks, а MTProto напряму