# Venta de cursos en un chatbot

Configurar la venta de cursos en línea en un chatbot es un enfoque innovador que reduce significativamente el tiempo y los costos laborales del servicio al cliente. Usando un chatbot, puede automatizar las transacciones en tiempo real.

Además, puede configurar la recopilación de datos en el chatbot para el registro instantáneo posterior del usuario.

En este artículo, veremos el proceso de configuración de la venta de cursos en el chatbot:

1. Qué sistemas de pago están disponibles en los cursos;
2. Configuración paso a paso de un chatbot para recopilar datos y emitir un enlace de pago.
3. Registro por correo electrónico para el curso a través del bot

## Elegir un sistema de pago

A diferencia de los pagos de cursos en la página promocional, puede seleccionar cualquier sistema de pago que necesite, que esté habilitado en su proyecto en la sección "Sistemas de pago":

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

Hay muchas integraciones con sistemas de pago en Mavibot.

Cada sistema de pago tiene sus propias características de conexión, cuya descripción e instrucciones detalladas están disponibles en la documentación de Mavibot.

Para encontrar un artículo sobre el sistema de pago seleccionado:

а) o vaya a la sección "Integración" de la documentación -> "[Pago](/doc/es/integrations/payment.md)", luego seleccione el artículo sobre cómo conectar el servicio de pago:

б) o haga clic en "conectar" en la barra del servicio en la sección "Sistemas de pago" en la configuración del proyecto:

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

Después de hacer clic en el botón requerido, se abre una ventana de formulario modal, donde ya hay un enlace a un artículo con el sistema de pago elegido.

Después de conectar el servicio de pago, vaya a la configuración del curso.

Crear un curso en línea implica su gasto personal de recursos en la estructuración de la información, su diseño, su presentación, así como otras configuraciones técnicas.

Para recibir el pago necesario y proporcional por su conocimiento de parte de los estudiantes, existe una configuración de planes de precios y aceptación de pagos tanto en la página del curso como a través del chatbot.

{% hint style="info" %}
Para saber cómo aceptar pagos por cursos en línea en la página promocional, lea el artículo del mismo nombre.
{% endhint %}

{% hint style="info" %}
Para configurar adicionalmente la aceptación de pagos en el chatbot, debe configurar los planes de precios, ya que la calculadora usa el ID del plan de precios en la configuración del bloque.

Para aprender a configurar planes de precios, lea el artículo del mismo nombre.
{% endhint %}

## ID del plan de precios&#x20;

Para usar el pago basado en los planes de precios del curso, debe encontrar el ID del plan de precios (o planes de precios) que se usará en la función de pago en la configuración del bloque en el constructor del embudo.

Para ello, vaya a la pestaña "Plan de precios" haciendo clic en el botón correspondiente en la tarjeta del curso en la sección del mismo nombre.

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

Luego vaya a la pestaña “Pago” y seleccione el proveedor de pago conectado.

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

Luego irá a la sección "Planes" en la configuración del curso.

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

El ID del plan es bastante fácil de encontrar: ya es visible en la tarjeta de la sección.

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

Haga clic en el ID del plan de precios; luego se copiará al portapapeles y en el futuro podrá usarlo para la función de pago.

En esta etapa, la configuración en la sección "Cursos" se ha completado. Vaya a la configuración del esquema en el constructor del embudo.&#x20;

## Bloques en el constructor del embudo

Después de completar la configuración necesaria en el curso en línea, vaya al constructor del embudo, donde creará un esquema para el chatbot.

El esquema consistirá en bloques que son responsables de:

1. Recopilación de datos: nombre, correo electrónico;
2. Elección por parte del usuario de un plan de precios para inscribirse en el curso;
3. Creación de un enlace de pago;
4. Registro por correo electrónico para el curso en línea después del pago.

### Bloques de recopilación de datos

Los bloques de nivel de entrada se utilizarán para recopilar los datos de su cliente: nombre y dirección de correo electrónico, que serán necesarios para el registro posterior del usuario en el curso.

Paso 1. Cree el bloque "Inicio". Puede agregar cualquier mensaje en este bloque.

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

Necesitará este bloque para iniciar el esquema del chatbot, que es responsable de vender e inscribirse en un curso en línea.&#x20;

Paso 2. Cree el siguiente bloque que informe al usuario sobre los planes de precios disponibles:

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

Escribimos un mensaje con el contenido del plan de precios y también preguntamos al cliente sobre su interés.

Luego cree dos bloques con conexiones.

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

Paso 3. Cree bloques de recopilación de datos.

Este bloque solicita un correo electrónico del usuario, que luego usaremos la flecha para escribir en una variable.

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

Luego cree un bloque abajo.

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

Paso 4. Cree una conexión para recopilar datos:

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

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

En la configuración de la conexión, active la casilla "El usuario introduce datos" y establezca la variable con el nombre del correo electrónico.

Además, en la condición del bloque, ponemos una expresión regular para comprobar el correo electrónico (`^[-\\w.]+@([A-z0-9][-A-z0-9]+.)+[A-z]{2,4}$`)

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

Esto ayudará al bot a registrar el correo electrónico de la muestra aceptada, en lugar de un conjunto aleatorio de caracteres o letras.

Si es necesario, puede crear un bloque "Fallback" a partir de este bloque, que responderá al usuario que el correo electrónico no corresponde a la realidad.

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

Su cliente no puede cambiar al bloque "Fallback", por lo que el movimiento posterior a lo largo del embudo continuará exactamente después de que el usuario ingrese la dirección de correo electrónico en el embudo.

La expresión regular (regEx) utilizada para comprobar el correo electrónico se ve así:

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

{% hint style="info" %}
La lista completa de expresiones regulares útiles y sus aplicaciones se puede encontrar en el artículo "Lista de expresiones regulares útiles". ссылка [Lista de expresiones regulares útiles](broken://pages/3c5e72073b4831ba6c871f11b70be059b78784ea)".
{% endhint %}

Paso 5. Escriba un mensaje en el bloque “Chat” si el cliente introdujo su correo electrónico correctamente.

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

En esta etapa, se completa la creación y configuración de las unidades de recopilación de datos.

### Bloques de selección de planes de precios

Paso 1. Añada botones al bloque con los nombres de los planes.

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

Paso 2. A continuación, cree dos bloques: uno que envía al cliente un botón de pago para el curso y otro que proporciona acceso al curso gratuito.

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

Paso 3. A continuación, en el bloque con el botón de pago, añada el mensaje: “Por favor, pague para obtener acceso completo al curso.”

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

### Registro gratuito del estudiante en el curso

Ahora le daremos al cliente acceso al curso gratuito. Para ello, vaya al bloque conectado a la ruta “Gratis”.

**Luego use la función de la calculadora:** `register_customer_on_course(tariff_id, email, email_notification, period, reregistration, purchase_price)`&#x20;

1. **Introduzca el ID del plan gratuito,**&#x20;

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

2. **deje el&#x20;*****correo electrónico*****&#x20;parámetro sin cambios,**&#x20;
3. **y establezca el&#x20;*****email\_notification*****&#x20;parámetro en 1.**

Puede omitir los parámetros restantes.

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

### Registro del estudiante en el curso después del pago

Después de un pago exitoso, se recibe un mensaje de devolución de llamada del sistema en el diálogo con el cliente:

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

La devolución de llamada consiste en los primeros diez caracteres de la clave secreta, el estado del pago (éxito o falso) y el importe del pago.

{% hint style="info" %}
La devolución de llamada no es visible en el diálogo con el cliente, es un mensaje del sistema.&#x20;
{% endhint %}

Después de que el cliente pague su curso, puede configurar la respuesta del bot a la devolución de llamada e inscribir al estudiante en el curso.

Paso 1. Cree un bloque Inicio, en cuyo disparador insertamos una devolución de llamada de pago:

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

No es necesario conectar este bloque a otros; funcionará por sí solo después de que llegue la devolución de llamada en un diálogo con el cliente.

Paso 2. En la calculadora, prescribimos la función de registrar a un estudiante en un curso - register\_customer\_on\_course()

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

Debe pasar el ID de su plan de precios, al costo del cual se realizó el pago.

<div data-with-frame="true"><figure><img src="/files/dd41c8048eb9ac6f005e990893af9643eff9a018" alt="The pricing plan ID in the tariff card." width="375"><figcaption><p>El ID del plan de precios en la tarjeta de la tarifa.</p></figcaption></figure></div>

A continuación, cree un bloque abajo, establezca un temporizador para la entrega automática del mensaje y agregue un mensaje que confirme que el estudiante ha sido registrado en el curso.

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

#### Función y 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>Descripción de los parámetros</th></tr></thead><tbody><tr><td><strong>!</strong> <strong>tariff_id</strong></td><td>parámetro obligatorio, el ID del plan de precios. Puede copiarlo en la línea del navegador en la configuración del plan de precios.</td></tr><tr><td><strong>! email</strong></td><td>parámetro obligatorio, la dirección de correo electrónico del cliente. Puede especificar un valor concreto o una variable en la que se registre el correo electrónico del cliente.</td></tr><tr><td><strong>email_notification</strong></td><td>parámetro opcional, envía al estudiante un mensaje de correo electrónico sobre su registro en el curso, si está habilitado.</td></tr><tr><td><strong>period</strong> </td><td><p>parámetro opcional, límite de tiempo para la validez del plan de precios. Se admiten los siguientes formatos de fecha: %d.%m.%Y %H:%M o %d.%m.%Y Ejemplo:</p><p><code>period = '15.08.2023 11:00'</code></p></td></tr><tr><td>reregistration</td><td>parámetro opcional, con valores True o False. Este parámetro es opcional y se especifica si necesita volver a registrar a los estudiantes para el mismo curso y plan de precios.</td></tr><tr><td>purchase_price</td><td>parámetro opcional. Le permite especificar el costo del curso si el cliente pagó por el acceso a él a través de un bot. Si no lo especifica, se utilizará el costo del plan de precios especificado. Será útil si el cliente paga por el acceso al curso a través del bot a un precio diferente al costo del plan de precios especificado.</td></tr></tbody></table>

{% hint style="info" %}
Para que los clientes reciban correos electrónicos, pase 1 en **email\_notification** parámetro.

**¡Si no envía 1, entonces no se recibirán los correos electrónicos del cliente!**
{% endhint %}

{% hint style="info" %}
Todas las funciones disponibles para el curso se pueden encontrar en el artículo "[Funciones de la calculadora para cursos](/doc/es/lms/como-vender-cursos/venta-de-cursos-en-un-chatbot/funciones-de-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/es/lms/como-vender-cursos/venta-de-cursos-en-un-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.
