# Venda de cursos em um chatbot

Configurar vendas de cursos online no chatbot é uma abordagem inovadora que reduz significativamente o tempo e os custos de mão de obra do atendimento ao cliente. Usando um chatbot, você pode automatizar transações em tempo real.

Além disso, você pode configurar a coleta de dados no chatbot para um cadastro instantâneo posterior do usuário.

Neste artigo, veremos o processo de configuração das vendas de cursos no chatbot:

1. Quais sistemas de pagamento estão disponíveis nos cursos;
2. Configuração passo a passo de um chatbot para coletar dados e emitir um link de pagamento.
3. Cadastro por e-mail no curso via bot

## Escolha de um sistema de pagamento

Ao contrário dos pagamentos de cursos na página promocional, você pode selecionar qualquer sistema de pagamento de que precise, desde que esteja habilitado no seu projeto na seção "Sistemas de pagamento":

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

Há muitas integrações com sistemas de pagamento no Mavibot.

Cada sistema de pagamento tem suas próprias características de conexão, cuja descrição e instruções detalhadas estão disponíveis na documentação do Mavibot.

Para encontrar um artigo sobre o sistema de pagamento selecionado:

а) ou vá para a seção "Integração" da documentação -> "[Pagamento](/doc/pt/integrations/payment.md)", depois selecione o artigo sobre a conexão do serviço de pagamento:

б) ou clique em "conectar" na barra do serviço na seção "Sistemas de pagamento" nas configurações do projeto:

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

Depois de clicar no botão necessário, uma janela de formulário modal se abre, onde já há um link para um artigo com o sistema de pagamento escolhido.

Após conectar o serviço de pagamento, vá para as configurações do curso.

Criar um curso online envolve seu gasto pessoal de recursos com a estruturação das informações, seu design, apresentação, bem como outras configurações técnicas.

Para receber o pagamento necessário e proporcional pelo seu conhecimento dos alunos, há uma configuração de planos de preços e de aceitação de pagamento tanto na página do curso quanto via chatbot.

{% hint style="info" %}
Para saber como aceitar pagamentos de cursos online na página promocional, leia o artigo de mesmo nome.
{% endhint %}

{% hint style="info" %}
Para configurar ainda mais a aceitação de pagamentos no chatbot, você precisa configurar os planos de preços, pois a calculadora usa o ID do plano de preços nas configurações do bloco.

Para saber como configurar os planos de preços, leia o artigo de mesmo nome.
{% endhint %}

## ID do plano de preços&#x20;

Para usar o pagamento com base nos planos de preços do curso, você precisa encontrar o ID do plano de preços (ou dos planos de preços) que será usado na função de pagamento nas configurações do bloco no construtor do funil.

Para isso, vá para a aba "Plano de preços" clicando no botão correspondente no cartão do curso na seção de mesmo nome.

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

Em seguida, vá para a aba "Pagamento" e selecione o provedor de pagamento conectado.

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

Depois disso, você irá para a seção "Planos" nas configurações do curso.

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

O ID do plano é bem fácil de encontrar: ele já está visível no cartão na seção.

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

Clique no ID do plano de preços; ele será então copiado para a área de transferência e, no futuro, você poderá usá-lo para a função de pagamento.

Nesta etapa, a configuração na seção "Cursos" está concluída. Vá para a configuração do esquema no construtor do funil.&#x20;

## Blocos no construtor do funil

Após concluir as configurações necessárias no curso online, vá para o construtor do funil, onde você criará um esquema para o chatbot.

O esquema consistirá em blocos responsáveis por:

1. Coleta de dados: nome, e-mail;
2. Escolha de um plano de preços pelo usuário para se inscrever no curso;
3. Criação de um link de pagamento;
4. Cadastro por e-mail no curso online após o pagamento.

### Blocos de coleta de dados

Os blocos iniciais serão usados para coletar os dados do seu cliente: nome e endereço de e-mail, que serão necessários para o posterior cadastro do usuário no curso.

Passo 1. Crie o bloco "Início". Você pode adicionar qualquer mensagem neste bloco.

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

Você precisará deste bloco para iniciar o esquema do chatbot, que é responsável por vender e inscrever em um curso online.&#x20;

Passo 2. Crie o bloco a seguir que informa ao usuário sobre os planos de preços disponíveis:

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

Escrevemos uma mensagem com o conteúdo do plano de preços e também perguntamos ao cliente sobre seu interesse.

Em seguida, crie dois blocos com conexões.

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

Passo 3. Crie blocos de coleta de dados.

Este bloco solicita um e-mail do usuário, que depois usaremos a seta para gravar em uma variável.

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

Em seguida, crie um bloco abaixo.

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

Passo 4. Crie uma conexão para coletar dados:

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

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

Nas configurações da conexão, ative a caixa de seleção "Usuário insere dados" e defina a variável com o nome do e-mail.

Além disso, na condição do bloco, colocamos uma expressão regular para verificar o e-mail (`^[-\w.]+@([A-z0-9][-A-z0-9]+.)+[A-z]{2,4}$`)

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

Isso ajudará o bot a registrar o e-mail da amostra aceita, em vez de um conjunto aleatório de caracteres ou letras.

Se necessário, você pode criar um bloco "Fallback" a partir deste bloco, que responderá ao usuário que o e-mail não corresponde à realidade.

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

Seu cliente não pode mudar para o bloco "Fallback", então o movimento posterior ao longo do funil ocorrerá exatamente depois que o usuário inserir o endereço de e-mail no funil.

A expressão regular (regEx) usada para verificar o e-mail é a seguinte:

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

{% hint style="info" %}
A lista completa de expressões regulares úteis e suas aplicações pode ser encontrada no artigo "Lista de expressões regulares úteis". ссылка [Lista de expressões regulares úteis](broken://pages/d3e2a9fb83dcb20a12d0282f85c8491ce2d733b9)".
{% endhint %}

Passo 5. Escreva uma mensagem no bloco "Chat" se o cliente inseriu o e-mail corretamente.

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

Nesta etapa, a criação e configuração das unidades de coleta de dados está concluída.

### Blocos de seleção de plano de preços

Passo 1. Adicione botões ao bloco com os nomes dos planos.

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

Passo 2. Em seguida, crie dois blocos: um que envia ao cliente um botão de pagamento para o curso e outro que fornece acesso ao curso gratuito.

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

Passo 3. Em seguida, no bloco com o botão de pagamento, adicione a mensagem: "Por favor, pague para obter acesso total ao curso."

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

### Cadastro gratuito do aluno no curso

Agora vamos dar ao cliente acesso ao curso gratuito. Para isso, vá para o bloco conectado ao caminho "Gratuito".

**Em seguida, use a função da calculadora:** `register_customer_on_course(tariff_id, email, email_notification, period, reregistration, purchase_price)`&#x20;

1. **Insira o ID do plano gratuito,**&#x20;

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

2. **deixe o&#x20;*****email*****&#x20;parâmetro inalterado,**&#x20;
3. **e defina o&#x20;*****email\_notification*****&#x20;parâmetro como 1.**

Você pode pular os parâmetros restantes.

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

### Cadastro do aluno no curso após o pagamento

Após o pagamento bem-sucedido, uma mensagem de retorno do sistema é recebida na conversa com o cliente:

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

O callback consiste nos dez primeiros caracteres da chave secreta, no status do pagamento (sucesso ou falso) e no valor do pagamento.

{% hint style="info" %}
O callback não fica visível no diálogo com o cliente; é uma mensagem do sistema.&#x20;
{% endhint %}

Depois que o cliente pagar pelo seu curso, você pode configurar a resposta do bot ao callback e inscrever o aluno no curso.

Passo 1. Crie um bloco Início, no gatilho do qual inserimos um callback de pagamento:

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

Esse bloco não precisa ser conectado a outros; ele funcionará sozinho quando o callback chegar em um diálogo com o cliente.

Passo 2. Na calculadora, prescrevemos a função de cadastro de um aluno em um curso - register\_customer\_on\_course()

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

Você precisa passar o ID do seu plano de preços, cujo valor foi pago.

<div data-with-frame="true"><figure><img src="/files/af623b4729a21506d6aec7bb87635b0878a420dd" alt="The pricing plan ID in the tariff card." width="375"><figcaption><p>O ID do plano de preços no cartão da tarifa.</p></figcaption></figure></div>

Em seguida, crie um bloco abaixo, defina um temporizador para o envio automático de mensagens e adicione uma mensagem confirmando que o aluno foi cadastrado no curso.

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

#### Função e parâmetros

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

<table><thead><tr><th width="239.15234375">Parâmetros</th><th>Descrição dos parâmetros</th></tr></thead><tbody><tr><td><strong>!</strong> <strong>tariff_id</strong></td><td>parâmetro obrigatório, o ID do plano de preços. Você pode copiá-lo na linha do navegador nas configurações do plano de preços.</td></tr><tr><td><strong>! email</strong></td><td>parâmetro obrigatório, o endereço de e-mail do cliente. Você pode especificar um valor ou variável específico em que o e-mail do cliente esteja registrado.</td></tr><tr><td><strong>email_notification</strong></td><td>parâmetro opcional, envia ao aluno uma mensagem por e-mail sobre sua inscrição no curso, se estiver ativada.</td></tr><tr><td><strong>period</strong> </td><td><p>parâmetro opcional, limite de tempo para a validade do plano de preços. Os formatos de data são suportados da seguinte forma: %d.%m.%Y %H:%M ou %d.%m.%Y Exemplo:</p><p><code>period = '15.08.2023 11:00'</code></p></td></tr><tr><td>reregistration</td><td>parâmetro opcional, com valores True ou False. Este parâmetro é opcional e é especificado se você precisar cadastrar alunos novamente para o mesmo curso e plano de preços.</td></tr><tr><td>purchase_price</td><td>parâmetro opcional. Permite especificar o custo do curso se o cliente pagou para ter acesso a ele por meio de um bot. Se você não o especificar, será usado o custo do plano de preços especificado. Isso será útil se o cliente pagar pelo acesso ao curso por meio do bot por um preço diferente do custo do plano de preços especificado.</td></tr></tbody></table>

{% hint style="info" %}
Para que os clientes recebam e-mails, passe 1 em **email\_notification** parâmetro.

**Se você não enviar 1, os e-mails do cliente não serão recebidos!**
{% endhint %}

{% hint style="info" %}
Todas as funções disponíveis para o curso podem ser encontradas no artigo "[Funções da calculadora para cursos](/doc/pt/lms/como-vender-cursos/venda-de-cursos-em-um-chatbot/funcoes-da-calculadora-para-cursos.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/pt/lms/como-vender-cursos/venda-de-cursos-em-um-chatbot.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.
