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

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

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

У цій статті ми розглянемо процес налаштування продажів курсів у чатботі:

1. Які платіжні системи доступні в курсах;
2. Покрокове налаштування чатбота для збору даних і надсилання платіжного посилання.
3. Реєстрація на курс за електронною поштою через бота

## Вибір платіжної системи

На відміну від оплат курсів на промосторінці, ви можете вибрати будь-яку потрібну вам платіжну систему, яка увімкнена у вашому проєкті в розділі «Платіжні системи»:

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

У Mavibot є багато інтеграцій із платіжними системами.

Кожна платіжна система має свої особливості підключення, опис і детальні інструкції до яких доступні в документації Mavibot.

Щоб знайти статтю щодо обраної платіжної системи:

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

б) або натисніть «підключити» на панелі сервісу в розділі «Платіжні системи» в налаштуваннях проєкту:

<div data-with-frame="true"><figure><img src="/files/3ae454e469f36ee508473ac47f846e21c0898577" 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/ccdb19fbd762293a456dc065ea641da061d814ac" alt="" width="563"><figcaption></figcaption></figure></div>

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

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

Потім ви перейдете до розділу «Плани» в налаштуваннях курсу.

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

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

<div data-with-frame="true"><figure><img src="/files/aa731daf1de3e42dfd66d1afca0168bf1b0ea5cf" 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/13d42f9434f8a5629048b51cb165b84ffb53de29" alt=""><figcaption></figcaption></figure></div>

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

Крок 2. Створіть наступний блок, який повідомляє користувача про доступні цінові плани:

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

Ми пишемо повідомлення зі змістом цінового плану, а також запитуємо клієнта про його зацікавленість.

Потім створіть два блоки зі зв'язками.

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

Крок 3. Створіть блоки збору даних.

Цей блок запитує email у користувача, який ми потім за допомогою стрілки запишемо у змінну.

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

Потім створіть блок нижче.

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

Крок 4. Створіть зв'язок для збору даних:

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

<div data-with-frame="true"><figure><img src="/files/214d260b7b2af12aca29a4d2aea3e553b29a1467" 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/1aeb5527a502170e7cdba259b375c0738b7041be" alt=""><figcaption></figcaption></figure></div>

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

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

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

Ваш клієнт не може перейти до блоку «Fallback», тому подальший рух по воронці відбудеться саме після того, як користувач введе адресу електронної пошти вниз по воронці.

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

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

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

Крок 5. Напишіть повідомлення в блоці «Чат», якщо клієнт правильно ввів свій email.

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

На цьому етапі створення та налаштування блоків збору даних завершено.

### Блоки вибору цінового плану

Крок 1. Додайте кнопки до блоку з назвами планів.

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

Крок 2. Далі створіть два блоки: один, що надсилає клієнту кнопку оплати за курс, і ще один, що надає доступ до безкоштовного курсу.

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

Крок 3. Далі в блоці з кнопкою оплати додайте повідомлення: «Будь ласка, оплатіть, щоб отримати повний доступ до курсу».

<div data-with-frame="true"><figure><img src="/files/8b66dd2772abb578e864776e46082f4b87411f2d" 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/55f9997b4376d62d60da7af31ebca5348542ecf2" 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/7f3334b9b451a84cdf2baa98bb4ac26b84a60603" alt=""><figcaption></figcaption></figure></div>

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

Після успішної оплати в діалозі з клієнтом надходить системне callback-повідомлення:

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

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

{% hint style="info" %}
Callback не видно в діалозі з клієнтом, це системне повідомлення.&#x20;
{% endhint %}

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

Крок 1. Створіть блок Start, у тригер якого вставляємо callback оплати:

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

Цей блок не потрібно з'єднувати з іншими, він спрацює сам після того, як callback надійде в діалог із клієнтом.

Крок 2. У калькуляторі прописуємо функцію реєстрації студента на курс — register\_customer\_on\_course()

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

Вам потрібно передати ID вашого цінового плану, за вартістю якого була здійснена оплата.

<div data-with-frame="true"><figure><img src="/files/1c39a9b2ca753afa9639fa975ed4d479cf4a8718" 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/d83dc37e70bb1d3d5f8220696f109c324adf8f0a" 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/uk/lms/yak-prodavati-kursi/prodazh-kursiv-u-chatboti/funkciyi-kalkulyatora-dlya-kursiv.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/uk/lms/yak-prodavati-kursi/prodazh-kursiv-u-chatboti.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.
