# Продажа курсов в чат-боте

Настройка продаж онлайн-курсов в чатботе — это инновационный подход, который значительно сокращает время и трудозатраты на обслуживание клиентов. С помощью чатбота можно автоматизировать транзакции в реальном времени.

Кроме того, вы можете настроить сбор данных в чатботе для дальнейшей мгновенной регистрации пользователя.

В этой статье мы рассмотрим процесс настройки продаж курсов в чатботе:

1. Какие платежные системы доступны в курсах;
2. Пошаговая настройка чатбота для сбора данных и выдачи ссылки на оплату.
3. Регистрация на курс по email через бота

## Выбор платёжной системы

В отличие от оплат курсов на промостранице, вы можете выбрать любую нужную вам платёжную систему, которая подключена в вашем проекте в разделе «Платёжные системы»:

<div data-with-frame="true"><figure><img src="/files/61b56cf4b2049e5fb01eabb411f46945d7ded6eb" alt=""><figcaption></figcaption></figure></div>

В Mavibot доступно множество интеграций с платёжными системами.

У каждой платёжной системы есть свои особенности подключения, описание и подробные инструкции по которым доступны в документации Mavibot.

Чтобы найти статью по выбранной платёжной системе:

а) или перейдите в раздел документации «Интеграция» -> «[Платёж](/doc/ru/integrations/payment.md)», затем выберите статью по подключению платёжного сервиса:

б) или нажмите «подключить» на панели сервиса в разделе «Платёжные системы» в настройках проекта:

<div data-with-frame="true"><figure><img src="/files/197e11052848017d587dea1fcf30ed640944407a" alt=""><figcaption></figcaption></figure></div>

После нажатия на нужную кнопку откроется модальное окно, где уже будет ссылка на статью с выбранной вами платёжной системой.

После подключения платёжного сервиса перейдите к настройкам курса.

Создание онлайн-курса требует ваших личных затрат ресурсов на структурирование информации, её оформление, презентацию, а также другие технические настройки.

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

{% hint style="info" %}
О том, как принимать оплату за онлайн-курсы на промостранице, читайте в статье с одноимённым названием.
{% endhint %}

{% hint style="info" %}
Чтобы дополнительно настроить приём оплаты в чатботе, необходимо настроить тарифные планы, поскольку калькулятор использует ID тарифного плана в настройках блока.

О том, как настроить тарифные планы, читайте в статье с одноимённым названием.
{% endhint %}

## ID тарифного плана&#x20;

Чтобы использовать оплату по тарифным планам курса, необходимо найти ID тарифного плана (или тарифных планов), который будет использоваться в функции оплаты в настройках блока в конструкторе воронки.

Для этого перейдите на вкладку «Тарифный план», нажав на соответствующую кнопку на карточке курса в одноимённом разделе.

<div data-with-frame="true"><figure><img src="/files/a7f16a105b2ebb13db0eb0f2b911bc8b422a80d9" alt="" width="563"><figcaption></figcaption></figure></div>

Затем перейдите на вкладку «Оплата» и выберите подключённого платёжного провайдера.

<div data-with-frame="true"><figure><img src="/files/9b1cf5668cd2dcba46f7795b6f581d8cd4c91226" alt=""><figcaption></figcaption></figure></div>

После этого вы перейдёте в раздел «Планы» в настройках курса.

<div data-with-frame="true"><figure><img src="/files/2dadd01ee39693f1a477043150d776ac7cf70c0c" alt=""><figcaption></figcaption></figure></div>

ID плана найти довольно просто: он уже отображается на карточке в разделе.

<div data-with-frame="true"><figure><img src="/files/7ef465555a659bbe6dfb00fb0cadc1b36d65712e" alt="" width="375"><figcaption></figcaption></figure></div>

Нажмите на ID тарифного плана, после чего он будет скопирован в буфер обмена, и в дальнейшем вы сможете использовать его для функции оплаты.

На этом этапе настройка в разделе «Курсы» завершена. Перейдите к настройке схемы в конструкторе воронки.&#x20;

## Блоки в конструкторе воронки

После выполнения необходимых настроек в онлайн-курсе перейдите в конструктор воронки, где вы создадите схему для чатбота.

Схема будет состоять из блоков, которые отвечают за:

1. Сбор данных: имя, email;
2. Выбор пользователем тарифного плана для записи на курс;
3. Создание ссылки на оплату;
4. Регистрацию по email на онлайн-курс после оплаты.

### Блоки сбора данных

На стартовых блоках будет происходить сбор данных вашего клиента: имени и адреса электронной почты, которые понадобятся для дальнейшей регистрации пользователя на курс.

Шаг 1. Создайте блок «Старт». В этот блок можно добавить любое сообщение.

<div data-with-frame="true"><figure><img src="/files/f9f6b7d2ab707701ad55b513fd9084ef9e1ea001" alt=""><figcaption></figcaption></figure></div>

Этот блок понадобится вам для запуска схемы чатбота, которая отвечает за продажу и запись на онлайн-курс.&#x20;

Шаг 2. Создайте следующий блок, который рассказывает пользователю о доступных тарифных планах:

<div data-with-frame="true"><figure><img src="/files/23aadd04a27f7fa35323be284f9d1d573509d7a7" alt=""><figcaption></figcaption></figure></div>

Мы пишем сообщение с содержанием тарифного плана и также спрашиваем клиента о его интересе.

Затем создайте два блока с соединениями.

<div data-with-frame="true"><figure><img src="/files/4936a639b4f07c1cabf152761ec010157aa3637a" alt="" width="563"><figcaption></figcaption></figure></div>

Шаг 3. Создайте блоки сбора данных.

Этот блок запрашивает у пользователя email, который мы затем с помощью стрелки запишем в переменную.

<div data-with-frame="true"><figure><img src="/files/8a4eb43e6d35c1823159883d10198bc8f5768e70" alt=""><figcaption></figcaption></figure></div>

Затем создайте блок ниже.

<div data-with-frame="true"><figure><img src="/files/1a9020317ae6257d2bb7fcde84ac8fc996a88e32" alt=""><figcaption></figcaption></figure></div>

Шаг 4. Создайте соединение для сбора данных:

<div data-with-frame="true"><figure><img src="/files/4a66c718f6288a898e0b4418d0ce6f8e56db6ee7" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/d5eca184a60da411f4dda2b95fbb24b2bafc01f4" alt=""><figcaption></figcaption></figure></div>

В настройках соединения активируйте чекбокс «Пользователь вводит данные» и задайте переменную с именем email.

Также в условии блока мы задаём регулярное выражение для проверки email (`^[-\w.]+@([A-z0-9][-A-z0-9]+.)+[A-z]{2,4}$`)

<div data-with-frame="true"><figure><img src="/files/5c78e48305cfa20f7d47aab6f2a22d047d2f6520" alt=""><figcaption></figcaption></figure></div>

Это поможет боту записывать email корректного образца, а не случайный набор символов или букв.

При необходимости из этого блока можно создать блок «Fallback», который будет отвечать пользователю, что email не соответствует действительности.

<div data-with-frame="true"><figure><img src="/files/35d69c41f1b0dc778e7b24b7ce11d47eee39ed0d" alt=""><figcaption></figcaption></figure></div>

Ваш клиент не может перейти в блок «Fallback», поэтому дальнейшее движение по воронке пойдёт именно после того, как пользователь введёт адрес электронной почты.

Регулярное выражение (regEx), используемое для проверки email, выглядит так:

^\[-\w.]+@(\[A-z0-9]\[-A-z0-9]+.)+\[A-z]{2,4}$

{% hint style="info" %}
Весь список полезных регулярных выражений и их применения можно найти в статье «Список полезных регулярных выражений». ссылка [Список полезных регулярных выражений](broken://pages/4341c71a707caece8f8539edd857dad8aa3bd9e3)".
{% endhint %}

Шаг 5. Напишите сообщение в блоке «Чат», если клиент корректно ввёл свой email.

<div data-with-frame="true"><figure><img src="/files/bca84011dbb6a0f1c06b786f4deb66e995378689" alt=""><figcaption></figcaption></figure></div>

На этом этапе создание и настройка блоков сбора данных завершены.

### Блоки выбора тарифного плана

Шаг 1. Добавьте в блок кнопки с названиями планов.

<div data-with-frame="true"><figure><img src="/files/32aa07bf4ff481192f010d074ab08f73641c53f1" alt=""><figcaption></figcaption></figure></div>

Шаг 2. Далее создайте два блока: один отправляет клиенту кнопку оплаты курса, а другой предоставляет доступ к бесплатному курсу.

<div data-with-frame="true"><figure><img src="/files/671ef5c868da89836d2215e39626482cd400acb0" alt=""><figcaption></figcaption></figure></div>

Шаг 3. Затем в блоке с кнопкой оплаты добавьте сообщение: «Пожалуйста, оплатите, чтобы получить полный доступ к курсу».

<div data-with-frame="true"><figure><img src="/files/94158d6f34bfcf8a036d5cc1942e1d20efe183fe" alt=""><figcaption></figcaption></figure></div>

### Бесплатная регистрация студента на курс

Теперь дадим клиенту доступ к бесплатному курсу. Для этого перейдите в блок, связанный с веткой «Бесплатно».

**Затем используйте функцию калькулятора:** `register_customer_on_course(tariff_id, email, email_notification, period, reregistration, purchase_price)`&#x20;

1. **Введите ID бесплатного плана,**&#x20;

<div data-with-frame="true"><figure><img src="/files/6bab7806d3279ad48b1af90d4d07ad23f1b2021f" alt="" width="375"><figcaption></figcaption></figure></div>

2. **оставьте параметр&#x20;*****email*****&#x20;без изменений,**&#x20;
3. **и установите параметр&#x20;*****email\_notification*****&#x20;в значение 1.**

Остальные параметры можно пропустить.

<div data-with-frame="true"><figure><img src="/files/3816366effa4f829818e51da059721a069ebbc57" alt=""><figcaption></figcaption></figure></div>

### Регистрация студента на курс после оплаты

После успешной оплаты в диалоге с клиентом поступает системное callback-сообщение:

<div data-with-frame="true"><figure><img src="/files/fc547fd61c08fb8835dd2a7935e4edf26c5b00f0" alt="" width="290"><figcaption></figcaption></figure></div>

Callback состоит из первых десяти символов секретного ключа, статуса оплаты (success или false) и суммы оплаты.

{% hint style="info" %}
Callback не виден в диалоге с клиентом, это системное сообщение.&#x20;
{% endhint %}

После того как клиент оплатит ваш курс, вы можете настроить ответ бота на callback и записать студента на курс.

Шаг 1. Создайте блок Start, в триггер которого мы вставим payment callback:

<div data-with-frame="true"><figure><img src="/files/4d198abfecfb96b4c6f29a6b57444d14e4e53e99" alt=""><figcaption></figcaption></figure></div>

Этот блок не нужно соединять с другими, он сработает сам после поступления callback в диалоге с клиентом.

Шаг 2. В калькуляторе прописываем функцию регистрации студента на курс — register\_customer\_on\_course()

<div data-with-frame="true"><figure><img src="/files/6d0219f975d93d27e0ccf2b5ce5c4b2dc3f61e1c" alt=""><figcaption></figcaption></figure></div>

Вам нужно передать ID вашего тарифного плана, по стоимости которого была произведена оплата.

<div data-with-frame="true"><figure><img src="/files/630066b777a2c22162ac2b3a561843eb281c578d" alt="The pricing plan ID in the tariff card." width="375"><figcaption><p>ID тарифного плана в карточке тарифа.</p></figcaption></figure></div>

Далее создайте блок ниже, установите таймер для автоматической отправки сообщения и добавьте сообщение с подтверждением того, что студент зарегистрирован на курс.

<div data-with-frame="true"><figure><img src="/files/808de84a9212f82dcaa54f29dc3bf9998b1a3064" alt=""><figcaption></figcaption></figure></div>

#### Функция и параметры

**register\_customer\_on\_course(tariff\_id, email, email\_notification, period,** reregistration, purchase\_pric&#x65;**)**

<table><thead><tr><th width="239.15234375">Параметры</th><th>Описание параметров</th></tr></thead><tbody><tr><td><strong>!</strong> <strong>tariff_id</strong></td><td>обязательный параметр, ID тарифного плана. Его можно скопировать в строке браузера в настройках тарифного плана.</td></tr><tr><td><strong>! email</strong></td><td>обязательный параметр, адрес электронной почты клиента. Можно указать конкретное значение или переменную, в которой записан email клиента.</td></tr><tr><td><strong>email_notification</strong></td><td>необязательный параметр, отправляет студенту email-сообщение о его регистрации на курс, если это включено.</td></tr><tr><td><strong>period</strong> </td><td><p>необязательный параметр, ограничение по времени действия тарифного плана. Поддерживаются следующие форматы даты: %d.%m.%Y %H:%M или %d.%m.%Y Пример:</p><p><code>period = '15.08.2023 11:00'</code></p></td></tr><tr><td>reregistration</td><td>необязательный параметр со значениями True или False. Этот параметр используется, если вам нужно повторно зарегистрировать студентов на тот же курс и тарифный план.</td></tr><tr><td>purchase_price</td><td>необязательный параметр. Позволяет указать стоимость курса, если клиент оплатил доступ к нему через бота. Если не указать, будет использована стоимость указанного тарифного плана. Это будет полезно, если клиент оплачивает доступ к курсу через бота по цене, отличающейся от стоимости указанного тарифного плана.</td></tr></tbody></table>

{% hint style="info" %}
Чтобы клиенты получали письма, передайте 1 в **email\_notification** параметр.

**Если не отправить 1, письма клиента не будут получены!**
{% endhint %}

{% hint style="info" %}
Все доступные функции для курса можно найти в статье «[Функции калькулятора для курсов](/doc/ru/lms/kak-prodavat-kursy/prodazha-kursov-v-chat-bote/funkcii-kalkulyatora-dlya-kursov.md)".
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ru/lms/kak-prodavat-kursy/prodazha-kursov-v-chat-bote.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
