ДокументацияВоронки и рассылки

Перенос воронок из Salebot

для администратора школы

Бот из Salebot переезжает по частям: сам бот и его подписчики — в разделе «Боты», воронки — импортом в «Сценариях». Импорт собирает листы воронок из файла выгрузки, а всё, что перенести нельзя или что работает у нас иначе, называет в отчёте «Не перенесено».

Как перенести

  1. В Salebot выгрузите бота: «Скачать схему» (файл project_…_schema.json) или «Инструменты» → «Скачать файл бэкапом» (project_…_current.sbk). Из бэкапа TERVIO берёт только схему бота — настройки проекта и ключи оплаты не читает и не хранит. Файл — до 20 МБ.
  2. «Сценарии» → кнопка «Импорт» над списком листов → поле «Файл выгрузки» → выберите файл.
  3. «Проверить файл» — TERVIO разберёт выгрузку и покажет «Что перенесётся»: листы с числом блоков и стрелок, — и «Не перенесено»: что осталось за бортом и почему, с примерами. На этом шаге ничего не создаётся.
  4. «Создать листы» — кнопка работает только после проверки. Каждый лист бота становится отдельным листом воронки, большой — несколькими, все созданные листы выключены.
  5. Пройдите по отчёту «Не перенесено», поправьте листы, проверьте воронку на себе (Как проверить воронку на себе) и включите листы переключателем.

Импорт переносит черновик, а не запускает рассылку: пока лист выключен, клиенты по нему не идут. Лист, который не прошёл проверку схемы, не создаётся вовсе — он будет в отчёте, его переносят руками. Импортировать файл может администратор.

Что переносится

  • Листы — каждый лист Salebot — свой лист воронки; в названии — имя файла и имя листа через «·». На лист помещается до 500 блоков и 1000 стрелок. Блоков после переноса больше, чем в Salebot: входы по словам и вычисления становятся отдельными блоками.
  • Большой лист — не помещается на один — TERVIO делит его на несколько листов «… — часть 1», «… — часть 2». Независимые ветки ложатся в части целиком. Ветку, которой мало одного листа, TERVIO режет там, где между кусками меньше всего стрелок: стрелка в блок другой части ведёт в блок «Перейти к блоку» с этим листом и блоком — клиент переходит туда с теми же переменными и дальше отвечает уже там. Сколько переходов между частями, пишет отчёт. Включайте части вместе: в выключенную часть клиент не перейдёт.
  • Служебный старт части — часть без своего входа получает старт «Внешнее событие (вебхук)» с ключом вида служебный_вход_части_2 и подписью «Служебный старт: сам не срабатывает…». Такое событие никто не присылает, клиенты приходят в часть переходами. Не удаляйте этот старт: лист без старта не сохраняется.
  • Тексты — переменные #{имя} становятся {имя}, оформление текста сохраняется.
  • Кнопки — ряды и порядок кнопок, ссылки. Кнопка с callback становится «Callback-кнопкой»: в воронку уходит то же слово.
  • Вычисления блока — переносятся блоком «Вычислить» перед сообщением — текст видит их результат. В одном блоке до 20 строк, длинный калькулятор встаёт цепочкой блоков.
  • Блок без текста — картинка без подписи или развилка становится пустым сообщением: клиенту оно ничего не отправляет, а стрелки из него остаются на месте. Файл загрузите заново блоком «Медиа».
  • «Не состояние» — блоки «не состояние» Salebot становятся сообщениями с включённым тумблером «Не состояние» (как он работает): сообщение приходит поверх, и клиент дальше отвечает на прежний вопрос. Так переезжает отбивка вроде «Вы ввели некорректное значение».
  • Заметки на холсте — становятся блоками «Комментарий».

Входы: «/start», команды и слова

Условие блока Salebot становится стартом на листе. Какой это старт, зависит от слов в условии и от того, «не состояние» ли блок.

  • «/start» — старт «Запуск бота (/start)». Полное совпадение «/start» — запуск без метки, «/start promo» — запуск с меткой promo, «содержит» «/start» — любой запуск бота.
  • Команда «/…» — обычный старт «Кодовое слово» с «Где срабатывает» — «В боте»: команды TERVIO разбирает раньше ответа на вопрос воронки.
  • Слово стартового условия — старт «Кодовое слово» с «Не состояние» и «В боте», а за ним блок «Перейти к блоку». Слово срабатывает, даже пока клиент отвечает на вопрос другой ветки, и переводит его в этот блок — дальше он отвечает уже там. Так же переносится любой блок-состояние с условием.
  • Слово у блока «не состояние» — тот же старт, но сразу в блок, без перехода: сообщение приходит поверх, клиент остаётся на своём шаге.
  • Сравнение и условие — «полное совпадение», «по ключевым словам» или «регулярное выражение», как было в Salebot. Условие по переменной блока становится условием запуска старта.
  • «Отвечать один раз» — у блока с этой галкой входы получают «Повторный запуск» «Только один раз»: по своему условию блок срабатывает у человека однажды, а по стрелкам в него попадают сколько угодно, как в Salebot.
  • Колбек — блок-колбек Salebot становится стартом «Внешнее событие (вебхук)»: ключ события — слово колбека, «Повторный запуск» — «При каждом событии». Отчёт называет ключ каждого колбека — перенастройте сервис, который присылал колбек в Salebot: пусть присылает в TERVIO событие с этим ключом (Запуск воронки из внешнего сервиса).
  • Колбек GetCourse — блок с условием getcourse buykurs становится стартом «Событие из GetCourse: buykurs» с «Любым аккаунтом»; большие буквы и лишние пробелы в условии не мешают. Блок «не состояние» в Salebot (типы 5 и 6) даёт старт «Не состояние», остальные блоки дают обычный старт: текущая воронка клиента останавливается. Два блока на одну команду дают два старта, и срабатывают оба, как в Salebot. В процессе GetCourse замените вызов Salebot на адрес из «Сценарии» → «Подключения» → GetCourse.
  • Колбек оплаты — колбек вида ключ_success 4900 становится стартом на событие «оплата» с условием запуска «сумма == 4900», ключ_fail 4900 — на «оплата_не_прошла». Эти события присылает Эквайринг TERVIO, когда клиент платит по кнопке «Оплата». Если в выгрузке колбеки двух платёжек или сумма сравнивалась «по словам», колбек оплаты переносится обычным «Внешним событием», и отчёт объясняет почему.
  • Вход у блока-состояния и у «не состояния» — старт события у блока-состояния — обычный: клиент переходит в этот блок, прежняя воронка останавливается. У блока «не состояние» — с «Не состояние»: сообщение приходит поверх.

Переходы

  • Без условия и таймера — «Ждать ответа» → «любой ответ»: воронка ждёт ответа клиента и только потом идёт дальше. «Сохранить ответ в переменную» переносится вместе с ней.
  • Условие на ответ — «Ждать ответа» с «полное совпадение», «по ключевым словам» или «регулярка» — как было в Salebot.
  • Число в ответе — условие вида question > -101 and question < 101становится регуляркой ответа: подходят целые числа из этого промежутка, остальные ответы уходят в запасную ветку.
  • Приоритет — переносится в «Приоритет»: больший проверяется раньше, по умолчанию 10. Запасная ветка с приоритетом 9 или 5 срабатывает, если ответ не подошёл к основной. «Любой ответ» у нас проверяется после веток по словам.
  • Запасная ветка — стрелка без условия, у которой приоритет не выше, чем у веток с условием, переносится как «Иначе»: на схеме видно, куда идут все остальные, и порядок больше не зависит от приоритета. Если же стрелка без условия стоит выше условной, в Salebot условная не срабатывала никогда — переносим как было и пишем об этом в отчёт.
  • Таймер — «Через время». Месяцы в Salebot переносятся по 30 дней.
  • Время отправки — «на следующий день в чч:мм» — в «Отправить в конкретное время».
  • Условие по переменной — переносится на стрелку.

Что доделать руками

Всё это TERVIO пишет в отчёт «Не перенесено» — с числом мест и примерами, чтобы их можно было найти поиском по листам.

  • Кнопка оплаты — кнопка остаётся, но оплата Salebot не переносится. Смените тип кнопки на «Оплата» и выберите товар или цену — см. Эквайринг.
  • Вход по колбеку — колбек, который сравнивался регулярным выражением, или слово колбека длиннее 100 знаков переносится без входа: соберите старт «Внешнее событие (вебхук)» с ключом, который будет присылать сервис.
  • Колбек оплаты на стрелке — стрелка, по которой клиент уходил после оплаты, не переносится: оплата у нас приходит событием, а не ответом клиента. Поставьте у блока, куда она вела, старт на событие «оплата» с условием на сумму — отчёт называет его.
  • Callback-кнопка — слово длиннее 64 байт, с «,» или «;» или такое же, как у соседней кнопки, — кнопка перенесена обычной. Задайте ей короткое уникальное слово.
  • Кнопка-ссылка с переменной — адрес собирался из переменной — подставьте его руками.
  • HTTP-запрос блока — переносите блоком «Действия» → «Вебхук»: адрес, заголовки и тело вслепую не переносятся — в них бывают ключи доступа.
  • Вложения — файлы лежат в Salebot — загрузите их в блоки «Медиа» заново.
  • Списки Salebot — таблиц-списков в TERVIO нет — замените их переменными.
  • Строки калькулятора и условия — то, что «Вычислить» и разбор условий не понимают, не переносится; строки, которые пишут в переменную, занятую TERVIO (например «тег»), тоже. Стрелка с таким условием не переносится вовсе, чтобы не сработать всегда, — блок за ней останется без входа, это видно на холсте.
  • Текст ответа (question) — в TERVIO нет переменной с последним сообщением клиента: условия на текст ответа, кроме сравнения с числами, не переносятся, а в текстах и вычислениях сохраните ответ в переменную на стрелке и подставьте её.
  • Регулярка ответа — регулярка длиннее 200 знаков или с вложенными повторами вроде(a+)+ не переносится — перепишите её.
  • Дата и время из переменной — дата из переменной не переносится, время остаётся — дату задайте сами. Стрелка со временем из переменной не переносится.
  • Таймер у стрелки с ответом — стрелка у нас или ждёт ответа, или идёт по времени — перенесено ожидание ответа без таймера.
  • Таймер, который переживает ответ — в Salebot такой таймер срабатывал, даже если клиент уже ответил и ушёл дальше. У нас таймер живёт, только пока клиент стоит в этом блоке.
  • Переход «сразу дальше» рядом с другими — у блока были ожидание ответа и переход с нулевым таймером — перенесены только ветки по ответу. Был переход с нулевым таймером и таймер — перенесён переход без задержки.
  • Вход по регулярному выражению — у старта по кодовому слову регулярок нет — перечислите слова через «;».
  • Ожидание ответа после блока без сообщения — ждать ответа может только блок, который что-то отправил — соберите развилку от предыдущего сообщения.
  • Вход «не состояние», за которым ждут ответа — такой вход ждать ответа не может — соберите ветку отдельной воронкой с тем же словом.
  • Стрелки после блока «не состояние» — после него клиент остаётся ждать в прежнем блоке, и стрелки из самого блока не сработают — цепочку напоминаний соберите стрелками «Через время» от блока, где клиент ждёт ответа.
  • «Не состояние» с вычислениями — когда в такой блок приходят из ожидания ответа, он только шлёт сообщение поверх, а вычисления не выполняются — перенесите их в блок, откуда идёт стрелка. Блок без сообщения переносится обычным.
  • Вход сделан обычным стартом — на листе нужен хотя бы один обычный старт; если все входы срабатывали поверх, первый становится обычным и, пока клиент ждёт ответа в другой воронке, не сработает.

После импорта

  • Бот — подключите его в разделе «Боты»: TERVIO заберёт бота у Salebot, чтобы клиент не получал два ответа. Поэтому к этому моменту воронки уже должны быть собраны и проверены.
  • Подписчики — базу с сегментами и переменными загружают там же: «Импорт с другой платформы» → «Клиенты в бота».
  • Проверка — листы выключены, но «Продолжить» в карточке сценария своего чата проходит и через выключенные листы — так воронку можно пройти до включения.