# Chatbot içinde kurs satışı

Bir chatbotta çevrimiçi kurs satışlarını kurmak, müşteri hizmetlerinin zaman ve işçilik maliyetlerini önemli ölçüde azaltan yenilikçi bir yaklaşımdır. Bir chatbot kullanarak işlemleri gerçek zamanlı otomatikleştirebilirsiniz.

Ayrıca, kullanıcıların daha sonra anında kaydı için chatbotta veri toplama da kurabilirsiniz.

Bu makalede, chatbotta kurs satışlarını kurma sürecine bakacağız:

1. Kurslarda hangi ödeme sistemlerinin mevcut olduğu;
2. Veri toplamak ve bir ödeme bağlantısı oluşturmak için bir chatbotun adım adım kurulumu.
3. Bot aracılığıyla kursa e-posta kaydı

## Bir ödeme sistemi seçme

Tanıtım sayfasındaki kurs ödemelerinden farklı olarak, projenizde "Ödeme sistemleri" bölümünde etkinleştirilmiş olan ihtiyacınız olan herhangi bir ödeme sistemini seçebilirsiniz:

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

Mavibot'ta ödeme sistemleriyle ilgili çok sayıda entegrasyon vardır.

Her ödeme sisteminin kendine özgü bağlantı özellikleri vardır; bunların açıklaması ve ayrıntılı talimatları Mavibot belgelerinde mevcuttur.

Seçilen ödeme sistemiyle ilgili bir makale bulmak için:

а) veya belgelerdeki "Entegrasyon" bölümüne gidin -> "[Ödeme](/doc/tr/integrations/payment.md)", ardından ödeme hizmetini bağlama makalesini seçin:

б) veya proje ayarlarında "Ödeme sistemleri" bölümünde hizmet çubuğundaki "bağlan"a tıklayın:

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

Gerekli düğmeye tıkladıktan sonra, seçtiğiniz ödeme sistemiyle ilgili bir makaleye bağlantının zaten yer aldığı bir modal form penceresi açılır.

Ödeme hizmetini bağladıktan sonra kurs ayarlarına gidin.

Çevrimiçi bir kurs oluşturmak, bilgiyi yapılandırma, tasarımı, sunumu ve diğer teknik ayarlar için kişisel kaynak harcamanızı gerektirir.

Öğrencilerden bilginiz için gerekli ve orantılı ödemeyi almak için, hem kurs sayfasında hem de chatbot aracılığıyla fiyatlandırma planları ve ödeme kabulü ayarı vardır.

{% hint style="info" %}
Tanıtım sayfasında çevrimiçi kurs ödemelerinin nasıl alınacağını öğrenmek için aynı adlı makaleyi okuyun.
{% endhint %}

{% hint style="info" %}
Chatbotta ödeme kabulünü daha ileri düzeyde yapılandırmak için, hesaplayıcı blok ayarlarında fiyatlandırma planı kimliğini kullandığından, fiyatlandırma planlarını ayarlamanız gerekir.

Fiyatlandırma planlarının nasıl kurulacağını öğrenmek için aynı adlı makaleyi okuyun.
{% endhint %}

## Fiyatlandırma planı kimliği&#x20;

Kurs fiyatlandırma planlarına dayalı ödemeyi kullanmak için, huni oluşturucudaki blok ayarlarında ödeme işlevinde kullanılacak fiyatlandırma planı kimliğini (veya fiyatlandırma planlarını) bulmanız gerekir.

Bunu yapmak için, aynı adlı bölümdeki kurs kartındaki ilgili düğmeye tıklayarak "Fiyatlandırma planı" sekmesine gidin.

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

Sonra “Ödeme” sekmesine gidin ve bağlı ödeme sağlayıcısını seçin.

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

Sonra kurs ayarlarındaki "Planlar" bölümüne gideceksiniz.

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

Plan kimliğini bulmak oldukça kolaydır: bölümdeki kart üzerinde zaten görünür.

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

Fiyatlandırma planı kimliğine tıklayın, ardından pano'ya kopyalanacaktır ve ileride bunu ödeme işlevi için kullanabilirsiniz.

Bu aşamada, "Kurslar" bölümündeki yapılandırma tamamlanmıştır. Huni oluşturucudaki şemanın yapılandırmasına geçin.&#x20;

## Huni oluşturucudaki bloklar

Çevrimiçi kursta gerekli ayarları tamamladıktan sonra, chatbot için bir şema oluşturacağınız huni oluşturucuya gidin.

Şema aşağıdaki işlevlerden sorumlu bloklardan oluşacaktır:

1. Veri toplama: ad, e-posta;
2. Kursa kaydolmak için kullanıcının bir fiyatlandırma planı seçmesi;
3. Bir ödeme bağlantısı oluşturma;
4. Ödemeden sonra çevrimiçi kurs için e-posta ile kayıt.

### Veri toplama blokları

Giriş seviyesindeki bloklar, müşterinizin verilerini toplamak için kullanılacaktır: ad ve e-posta adresi; bunlar, kullanıcının kursa daha sonra kaydedilmesi için gerekli olacaktır.

1\. Adım. "Başlat" bloğunu oluşturun. Bu bloğa herhangi bir mesaj ekleyebilirsiniz.

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

Bu bloğa, çevrimiçi bir kurs satışı ve kaydıyla sorumlu chatbot şemasını başlatmak için ihtiyacınız olacak.&#x20;

2\. Adım. Kullanıcıya mevcut fiyatlandırma planları hakkında bilgi veren aşağıdaki bloğu oluşturun:

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

Fiyatlandırma planının içeriğiyle bir mesaj yazıyoruz ve ayrıca müşteriye ilgisini soruyoruz.

Sonra bağlantıları olan iki blok oluşturun.

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

3\. Adım. Veri toplama blokları oluşturun.

Bu blok, kullanıcıdan bir e-posta ister; bunu daha sonra oku kullanarak bir değişkene yazacağız.

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

Sonra aşağıda bir blok oluşturun.

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

4\. Adım. Veri toplamak için bir bağlantı oluşturun:

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

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

Bağlantı ayarlarında, "Kullanıcı veri giriyor" onay kutusunu etkinleştirin ve e-posta adıyla değişkeni ayarlayın.

Ayrıca, blok koşulunda, e-postayı kontrol etmek için bir düzenli ifade ekleriz (`^[-\w.]+@([A-z0-9][-A-z0-9]+.)+[A-z]{2,4}$`)

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

Bu, botun rastgele karakter veya harf dizisi yerine kabul edilen örneğin e-postasını kaydetmesine yardımcı olacaktır.

Gerekirse, bu bloktan kullanıcıya e-postanın gerçeğe uygun olmadığını bildirecek bir "Fallback" bloğu oluşturabilirsiniz.

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

Müşteriniz "Fallback" bloğuna geçemez, bu nedenle hunide daha sonraki hareket tam olarak kullanıcı e-posta adresini girdikten sonra devam edecektir.

E-postayı kontrol etmek için kullanılan düzenli ifade (regEx) şu şekildedir:

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

{% hint style="info" %}
Faydalı düzenli ifadelerin ve bunların uygulamalarının tüm listesi "Faydalı düzenli ifadelerin listesi" makalesinde bulunabilir. ссылка [Faydalı düzenli ifadelerin listesi](broken://pages/39963caa5f18a5f58c71ecceed2dca6904836c8c)".
{% endhint %}

5\. Adım. Müşteri e-postasını doğru girdiyse “Chat” bloğuna bir mesaj yazın.

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

Bu aşamada, veri toplama birimlerinin oluşturulması ve yapılandırılması tamamlanmıştır.

### Fiyatlandırma planı seçim blokları

1\. Adım. Bloğa planların adlarıyla düğmeler ekleyin.

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

2\. Adım. Ardından iki blok oluşturun: biri müşteriye kurs için bir ödeme düğmesi gönderir, diğeri ise ücretsiz kursa erişim sağlar.

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

3\. Adım. Sonra, ödeme düğmesi olan blokta şu mesajı ekleyin: “Kursa tam erişim elde etmek için lütfen ödeme yapın.”

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

### Kurs için ücretsiz öğrenci kaydı

Şimdi müşteriye ücretsiz kursa erişim verelim. Bunu yapmak için “Ücretsiz” yoluna bağlı bloğa gidin.

**Sonra hesaplayıcı işlevini kullanın:** `register_customer_on_course(tariff_id, email, email_notification, period, reregistration, purchase_price)`&#x20;

1. **Ücretsiz planın kimliğini girin,**&#x20;

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

2. **şu parametreyi bırakın&#x20;*****email*****&#x20;parametresini değiştirmeden,**&#x20;
3. **ve şu parametreyi ayarlayın&#x20;*****email\_notification*****&#x20;parametresini 1 olarak ayarlayın.**

Kalan parametreleri atlayabilirsiniz.

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

### Ödeme sonrası öğrenci kaydı

Başarılı ödemenin ardından, müşteriyle yapılan diyaloğa bir sistem geri çağırma mesajı gelir:

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

Geri çağırma, gizli anahtarın ilk on karakterinden, ödeme durumundan (success veya false) ve ödeme tutarından oluşur.

{% hint style="info" %}
Geri çağırma müşteriyle yapılan diyalogda görünmez, bu bir sistem mesajıdır.&#x20;
{% endhint %}

Müşteri kursunuz için ödeme yaptıktan sonra, botun geri çağırmaya verdiği yanıtı yapılandırabilir ve öğrenciyi kursa kaydedebilirsiniz.

1\. Adım. Tetikleyicisine bir ödeme geri çağırması eklediğimiz bir Başlat bloğu oluşturun:

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

Bu bloğun başka bloklara bağlanmasına gerek yoktur, geri çağırma müşteriyle yapılan diyaloğa ulaştıktan sonra kendi kendine çalışacaktır.

2\. Adım. Hesaplayıcıda, öğrenciyi kursa kaydetme işlevini yazıyoruz - register\_customer\_on\_course()

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

Ödemenin yapıldığı fiyatlandırma planınızın kimliğini iletmeniz gerekir.

<div data-with-frame="true"><figure><img src="/files/3376b18b40f7aa5002fb06cc3fe3d3e2f7c7b553" alt="The pricing plan ID in the tariff card." width="375"><figcaption><p>Tarife kartındaki fiyatlandırma planı kimliği.</p></figcaption></figure></div>

Sonra aşağıda bir blok oluşturun, otomatik mesaj teslimi için bir zamanlayıcı ayarlayın ve öğrencinin kursa kaydedildiğini onaylayan bir mesaj ekleyin.

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

#### Fonksiyon ve parametreler

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

<table><thead><tr><th width="239.15234375">Parametreler</th><th>Parametre açıklaması</th></tr></thead><tbody><tr><td><strong>!</strong> <strong>tariff_id</strong></td><td>gerekli parametre, fiyatlandırma planı kimliği. Bunu fiyatlandırma planı ayarlarında tarayıcı satırından kopyalayabilirsiniz.</td></tr><tr><td><strong>! email</strong></td><td>gerekli parametre, müşterinin e-posta adresi. Müşterinin e-postasının kaydedildiği belirli bir değeri veya değişkeni belirtebilirsiniz.</td></tr><tr><td><strong>email_notification</strong></td><td>isteğe bağlı parametre, etkinleştirilmişse öğrenciye kursa kaydı hakkında bir e-posta mesajı gönderir.</td></tr><tr><td><strong>period</strong> </td><td><p>isteğe bağlı parametre, fiyatlandırma planının geçerlilik süresi için zaman sınırı. Tarih biçimleri aşağıdaki gibi desteklenir: %d.%m.%Y %H:%M veya %d.%m.%Y Örnek:</p><p><code>period = '15.08.2023 11:00'</code></p></td></tr><tr><td>reregistration</td><td>isteğe bağlı parametre, True veya False değerleriyle. Bu parametre isteğe bağlıdır ve öğrencileri aynı kurs ve fiyatlandırma planı için yeniden kaydetmeniz gerekirse belirtilir.</td></tr><tr><td>purchase_price</td><td>isteğe bağlı parametre. Müşteri bir bot aracılığıyla ona erişim için ödeme yaptıysa, kursun maliyetini belirtmenize olanak tanır. Bunu belirtmezseniz, belirtilen fiyatlandırma planının maliyeti kullanılacaktır. Müşteri kursa bot aracılığıyla belirtilen fiyatlandırma planının maliyetinden farklı bir fiyattan erişim için ödeme yaparsa kullanışlı olacaktır.</td></tr></tbody></table>

{% hint style="info" %}
Müşterilerin e-posta alabilmesi için, şu parametrede 1 aktarın **email\_notification** parametre.

**1 göndermezseniz, müşterinin e-postaları alınmayacaktır!**
{% endhint %}

{% hint style="info" %}
Kurs için mevcut tüm işlevler "[Kurslar için hesaplayıcı işlevleri](/doc/tr/lms/kurslar-nasil-satilir/chatbot-icinde-kurs-satisi/kurslar-icin-hesap-makinesi-islevleri.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/tr/lms/kurslar-nasil-satilir/chatbot-icinde-kurs-satisi.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.
