# Funções da calculadora para cursos

## Inscrição para o curso

register\_customer\_on\_course(tariff\_id, email, email\_notification, period, reregistration)

<table><thead><tr><th width="239.15234375">Parâmetros</th><th></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 específico ou uma variável na qual o e-mail do cliente está registrado.</td></tr><tr><td><strong>email_notification</strong></td><td>parâmetro opcional, envia ao aluno uma mensagem de e-mail sobre sua inscrição no curso, se estiver ativado.</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 suportados são os seguintes: %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 matricular os alunos novamente no 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 pelo 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>

Exemplo: register\_customer\_on\_course(123, email, 1, "", True)

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

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

## Como posso conceder acesso ao curso por meio do Telegram Web App?

Para isso, especifique a função no Bloco Calculadora

**`access_course_from_webapp(text, button_label)`**\
Durante o uso da função, o aluno faz login no Telegram e obtém acesso ao curso. Para continuar o treinamento, o aluno não precisa digitar nome de usuário e senha, pois a autorização já foi concluída.

Parâmetros da função:

**`text`** - é o texto da mensagem que o cliente receberá. O parâmetro pode ser especificado em uma variável, escrevendo-o no campo da Calculadora antes de acessar a função, ou especificado na própria função entre aspas.

**`button_label`** - é o texto no botão do Web App. Você pode especificar o parâmetro em uma variável ou na própria função. No segundo caso, o parâmetro é escrito entre aspas.

{% hint style="warning" %} <mark style="color:vermelho;">É relevante SOMENTE para trabalhar com um bot do Telegram.</mark>
{% endhint %}

A captura de tela abaixo mostra um exemplo de uso da função.\
Na primeira etapa, matriculamos o cliente no curso e depois usamos a função access\_course\_com\_webapp para fornecer acesso ao produto online. &#x20;

O resultado da execução da função:

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

Este botão abre uma página com os cursos/planos que o aluno possui.

> Se o cliente não estiver associado à conta do aluno, a função retorna 'cliente não vinculado ao cliente'.
>
> Para criar essa conexão, basta se inscrever em um curso por meio de um bot.

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

## Como conceder acesso ao curso via bot

### register\_customer\_on\_course()

Para isso, especifique a função no Bloco Calculadora

**register\_customer\_on\_course(tariff\_id, email, email\_notification, period)**

| Parâmetros obrigatórios                                                                                                                                                                             | Parâmetros opcionais                                                                                                                                                                                                       |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <mark style="color:vermelho;">**!**</mark> **tariff\_id** - o ID do plano de preços. Você pode copiá-lo na linha do navegador nas configurações do plano de preços.                                 | **email\_notification** - Este parâmetro envia ao aluno uma mensagem de e-mail sobre sua inscrição no curso, se estiver ativado.                                                                                           |
| <mark style="color:vermelho;">**!**</mark>**&#x20;email** - o endereço de e-mail do cliente. Você pode especificar um valor específico ou uma variável na qual o e-mail do cliente está registrado. | <p><strong>period</strong> - limite de tempo de validade do plano de preços. Os formatos de data suportados são os seguintes:  %d.%m.%Y %H:%M ou %d.%m.%Y <br>Exemplo:</p><p> <code>period = '15.08.2023 11:00'</code></p> |

{% hint style="danger" %}
Para que os clientes recebam e-mails, você deve passar 1 no parâmetro **email\_notification.**&#x20;

**Se você** <mark style="color:vermelho;">não enviar 1,</mark> **então os e-mails do cliente&#x20;**<mark style="color:vermelho;">**não serão recebidos!**</mark>
{% endhint %}

Atribua uma função à variável.&#x20;

Após a execução, uma das respostas será gravada na variável:

**customer is already on tariff** - se houver um plano de preços ou o acesso estiver fechado manualmente

**wrong\_tariff\_id** - id inválido especificado

**tariff\_added** - O plano de preços foi adicionado ao aluno

Exemplo:

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

## Como verificar a disponibilidade de acesso ao curso

### has\_customer\_tariff(tariff\_id)

Para isso, especifique a função no Bloco Calculadora **has\_customer\_tariff(tariff\_id, email)**<br>

| Parâmetros obrigatórios                                                                                                                                                                          | Parâmetros opcionais                                                                                                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| <mark style="color:vermelho;">**!**</mark> **tariff\_id** - o ID do plano de preços. Você pode copiá-lo na linha do navegador nas configurações do plano de preços ou na seção Planos de preços. | **email** - parâmetro opcional. Passe este parâmetro para verificar se o cliente está matriculado no curso com o endereço de e-mail especificado. |

Após a execução, a função retorna True ou False.

{% hint style="danger" %}
Possíveis respostas da função em caso de erros:

**wrong tariff\_id** -  valor inválido passado **tariff\_id**

**customer not found** - o usuário não está registrado como aluno.
{% endhint %}

## Como registrar um cliente na plataforma SEM conceder acesso ao curso

### register\_customer(email)

Para isso, especifique a função no Bloco Calculadora **register\_customer(email)**&#x20;

| Parâmetros da função                                 | Descrição                        |
| ---------------------------------------------------- | -------------------------------- |
| <mark style="color:vermelho;">**!**</mark> **email** | o endereço de e-mail do cliente. |

Você pode especificar uma variável em uma função ou valores de parâmetro. Para especificar uma variável, escreva o nome dela, sem aspas e sem caracteres de sintaxe, grades e chaves. Para especificar um valor específico, informe o endereço de e-mail do cliente entre aspas.

> Recomenda-se atribuir uma variável à função, para que você possa ver o resultado da função e trabalhar com ele. Exemplo na captura de tela abaixo: o nome da variável é definido antes do sinal de igual, seguido da função e do parâmetro entre parênteses.

Após a execução bem-sucedida da função, a resposta será gravada na variável:\
**customer created**

## Como verificar o acesso ao curso e os limites de tempo?

Para isso, especifique a função no Bloco Calculadora **has\_customer\_tariff\_with\_date(tariff\_id, email),** para verificar a disponibilidade de acesso ao curso por e-mail (retorna uma resposta detalhada sobre a disponibilidade de acesso e restrições de tempo).

&#x20;Parâmetros da função:

| Parâmetro obrigatório                                                                                                                                                                            | Parâmetro opcional              |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------- |
| <mark style="color:vermelho;">**!**</mark> **tariff\_id** - o ID do plano de preços. Você pode copiá-lo na linha do navegador nas configurações do plano de preços ou na seção Planos de preços. | **email** - parâmetro opcional. |

A resposta será:

* o aluno está matriculado e há um limite de tempo de acesso: Tem acesso até 2023-09-28 22:00:00&#x20;
* o aluno está matriculado, não há restrições: Tem acesso sem limite de tempo&#x20;
* o aluno não está matriculado: Sem acesso a esta tarifa

{% hint style="danger" %}
**Possíveis respostas da função em caso de erros:**

**wrong tariff\_id** - valor inválido passado **tariff\_id**

**customer not found** -o usuário não está registrado como aluno.
{% endhint %}

## Como remover o acesso ao curso de um aluno via bot&#x20;

### del\_customer\_from\_course(**course\_id, email**)

Para isso, especifique a função no Bloco Calculadora  **del\_customer\_from\_course(course\_id, email)**

| Parâmetros                                                     | Descrição                     |
| -------------------------------------------------------------- | ----------------------------- |
| <mark style="color:vermelho;">**!**</mark>**&#x20;tariff\_id** | ID do plano de preços         |
| <mark style="color:vermelho;">**!**</mark>**&#x20;email**      | endereço de e-mail do cliente |

## Como verificar se um aluno participou de um webinar&#x20;

### customer\_was\_on\_translation()

O acesso ao curso precisa ser concedido no bot.

Existe uma função para isso [register\_customer\_on\_course()](https://docs.salebot.pro/onlain-kursy/sozdanie-kursov/chat-bot-dlya-onlain-kursa#kak-vydat-dostup-k-kursu-cherez-bot-register_customer_on_course) и [access\_course\_from\_webapp()](https://docs.salebot.pro/onlain-kursy/sozdanie-kursov/chat-bot-dlya-onlain-kursa#kak-vydat-dostup-k-kursu-cherez-web-app-telegramm)

Para verificar se um aluno participou do webinar ou não, especifique a função no Bloco Calculadora customer\_was\_on\_translation(translation\_guid, email, after\_start\_time)

| Parâmetros obrigatórios                                                                                                                                                                             | Parâmetro opcional                                                                         |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| <p><mark style="color:vermelho;"><strong>!</strong></mark> translation\_guid - o ID da transmissão. Copie o valor do campo </p><p><em>O nome está no link das configurações da transmissão</em></p> | after\_start\_time - o horário de início da transmissão no formato: '2023-04-18 13:30:00'. |
| <mark style="color:vermelho;">**!**</mark> email - endereço de e-mail do aluno                                                                                                                      |                                                                                            |

{% hint style="warning" %}
**Atenção!** O nome da variável pode ser qualquer nome que seja conveniente e compreensível para você. Em caso de erro ao escrever os parâmetros da função, será gravada na variável a mensagem:  wrong translation\_guid

Nesse caso, recomendamos verificar os parâmetros da função e testá-los novamente. Para obter o valor do tempo de permanência no webinar a partir de uma variável na Calculadora, você pode usar a função de trabalho com arrays e dicionários. ссылка/ссылка [arrays](https://docs.salebot.pro/peremennye-1/rabota-s-massivami-i-slovaryami/rabota-s-massivami#kak-poluchit-element-massiva) и [dicionários](https://docs.salebot.pro/peremennye-1/rabota-s-massivami-i-slovaryami/rabota-so-slovaryami#kak-poluchit-znachenie-slovarya-po-klyuchu).

Exemplo de configurações no Bloco Calculadora:

time\_spent1 = answer2\[0]\['time\_spent']
{% endhint %}

## Como encontrar o nome do aluno vinculado a um bot?

Há casos em que os alunos podem estar vinculados ao chat online da conta pessoal do aluno, bem como aqueles que estão vinculados a um mensageiro e escrevem para seus supervisores por meio de um bot. Para emitir corretamente certificados nomeados de conclusão do curso no bot e não procurar o nome do aluno na lista, existe uma função:

get\_customer\_name() - retorna o nome do aluno associado ao cliente.

Uma função sem parâmetros.

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

Retorna o nome do aluno que ele inseriu durante o cadastro no curso, ou o nome do aluno da sua conta pessoal.


---

# 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/funcoes-da-calculadora-para-cursos.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.
