🛒 Каналы продаж
Канал продаж — это любая точка приёма заказов: ваш сайт, бот в Telegram или LINE, киоск, страница заказа по QR на столе, сайт для приёма заказов сотрудниками и т. д. Страница Sales Channels (Каналы продаж) — это место, где вы регистрируете такие точки, включаете и выключаете их и задаёте, какое меню (концепцию) обслуживает каждая из них.
Раздел доступен по пути: Sidebar → Sales Channels.
Новый backend стартует без каналов продаж. Пока вы не создадите и не включите хотя бы один канал, у заказов нет известного источника. Эта страница — стартовая точка настройки; на неё также ссылается Чек-лист настройки.
Зачем нужны каналы
Каждый заказ хранит, откуда он пришёл. Регистрация каналов превращает источник из произвольной строки в управляемый список, что даёт:
- каталог допустимых источников заказов (больше не нужно гадать, что означает значение);
- включение / выключение каждого канала отдельно;
- привязку концепций — из какого меню канал может заказывать;
- понятную группировку в отчётах (заказы по каналам, выручка по каналам и т. д.).
Тип канала и экземпляр канала. Тип — это переиспользуемый вид канала (
web-storefront,telegram-bot,line-oa, …), обычно поставляемый модулем. Экземпляр — это конкретный настроенный канал, который вы создаёте здесь (например, «Основной сайт», «Бот доставки в Telegram»). Экземпляров одного типа может быть несколько.
Структура страницы
Страница состоит из трёх блоков:
- Ваши каналы продаж — настроенные вами каналы.
- Рекомендовано для вашей страны — предлагаемые типы на основе страны проекта.
- Добавить свой канал — создать канал вручную.
Ваши каналы продаж
Каждый канал отображается карточкой, где есть:
- название, ключ и тип;
- бейдж статуса (см. Статусы);
- привязанные концепции и страны в виде тегов (канал без концепций показывает Все концепции);
- переключатель Включён / Отключён;
- действия Открыть (если задан URL), Редактировать и Удалить.
Если каналов ещё нет, пустое состояние предлагает создать первый канал или выбрать рекомендованный.
Рекомендовано для вашей страны
RestoApp предлагает типы каналов, подходящие вашему рынку (задаётся в
Settings → COUNTRY_ISO), например:
| Страна | Предлагаемые каналы |
|---|---|
| Вьетнам (VN) | Web storefront, Zalo OA, Facebook, QR table ordering |
| Таиланд (TH) | Web storefront, LINE OA, QR table ordering |
| Россия (RU) | Web storefront, Telegram bot, VK mini app, MAX bot |
| Любая другая | Web storefront, Mobile app, QR table ordering |
Это подсказки, а не правила — на карточке видно, установлен ли модуль-провайдер, а кнопка Добавить канал заранее заполняет редактор этим типом. Любой канал можно создать независимо от страны.
Создание / редактирование канала
Нажмите Добавить свой канал, либо Добавить канал на рекомендованной карточке, либо Редактировать на существующем канале. Поля редактора:
| Поле | Описание |
|---|---|
| Заголовок (обязательное) | Понятное название, например Основной сайт. |
| Ключ канала | Стабильный слаг, записываемый в источник каждого заказа (orderedOnPlatform). Для новых каналов формируется из названия; должен быть уникальным. |
| Тип | Тип канала (из установленного/известного каталога). По умолчанию — Custom channel (свой канал). |
| URL / ссылка | Публичный URL или ссылка (адрес витрины, ссылка на бота). Используется кнопкой Открыть. |
| Страны (ISO, через запятую) | ISO-коды стран, где работает канал, через запятую (например, VN, TH). |
| Концепты | Список разрешённых концепций. Оставьте пустым, чтобы разрешить все; иначе канал использует только выбранные. |
| Концепция по умолчанию | Концепция по умолчанию (должна входить в выбранные). |
| Разрешить переключение концепций на фронтенде/в боте | Разрешает витрине/боту показывать выбор концепции, если привязано несколько. |
| Включён (действительный источник заказов) | Главный выключатель. Источниками заказов являются только включённые каналы. |
Сохранить канал сохраняет канал, Отмена отменяет черновик.
Привязка концепций — это способ обслуживать несколько меню из одной операционной базы: например, сайт для
origin, отдельная витрина дляburgers, канал LINE только дляbangkok. Канал говорит, откуда пришёл заказ; концепция — какому меню принадлежит корзина. Это независимые вещи.
Статусы
| Статус | Значение |
|---|---|
| Draft | Создан, ещё не включён. |
| Needs setup | Включён, но не хватает обязательной настройки. |
| Ready | Включён и настроен — действительный источник заказов. |
| Disabled | Намеренно отключён. |
| Error | Провайдер/проверка сообщили о проблеме. |
Включение канала переводит Draft/Disabled → Ready; выключение устанавливает Disabled.
Как каналы связаны с заказами
- Каждый заказ хранит источник в поле
orderedOnPlatform, которое должно совпадать с ключом канала. - Для обратной совместимости это не проверяется жёстко: заказ с неизвестным источником всё равно принимается, а в лог пишется предупреждение. Так существующие витрины и боты продолжают работать, пока вы регистрируете их каналы.
- При первом запуске RestoApp автоматически создаёт каналы из источников заказов, уже имеющихся в базе (помечает их типом legacy, включёнными), чтобы история и отчёты не пострадали.
- Удаление канала не затрагивает прошлые заказы — они сохраняют строку источника для отчётности.
Провайдеры каналов и модули
Типы каналов поставляются модулями (провайдер типа). Интеграция с мессенджером или витриной устанавливается как модуль, который регистрирует один или несколько типов; после этого они появляются в редакторе и в блоке Recommended for your country. Пока провайдер не установлен, его карточка показывает Provider not installed (Модуль не установлен).
Сайт для приёма заказов сотрудниками (admin-frontend) теперь тоже считается
провайдером канала: он больше не входит в комплект по умолчанию и добавляется как
рекомендованный канал, когда вам нужна точка приёма заказов для персонала.
Секреты (токены ботов, API-ключи, ключи подписи) хранятся в Settings, а не в записи канала. Канал хранит только несекретные настройки (название, URL, концепции, флаги). Ключ канала — это публичный идентификатор, а не секрет.
📱 Мобильная версия
Страница адаптивна. На телефоне карточки каналов выстраиваются в один столбец, а редактор открывается на всю ширину; для возврата к списку используйте Отмена.