Crear usuario en Moodle cuando se hace una compra en WooCommerce

En el ámbito educativo en línea, la integración fluida entre plataformas es crucial para proporcionar una experiencia de usuario sin interrupciones. Si utilizas Moodle para impartir cursos en línea y también gestionas una tienda en línea en WooCommerce, automatizar la creación de usuarios en Moodle cuando se realiza una compra en WooCommerce puede ser una ventaja significativa. En esta guía, aprenderás cómo generar credenciales de API en Moodle, comprender la estructura de un token de Moodle y configurar WooCommerce para crear usuarios en Moodle automáticamente después de una compra.

Generación y obtención de credenciales de API en Moodle

 

  1. Inicia sesión en tu instancia de Moodle: Accede como administrador a tu plataforma Moodle.
  2. Accede a la configuración de los servicios web: Navega a «Administración del sitio» > «Desarrollo» > «Servicios web».
  3. Crea un nuevo servicio web: Haz clic en «Agregar servicio web». Asigna un nombre descriptivo y guarda los cambios.
  4. Genera un Token de acceso: Dentro del servicio web recién creado, haz clic en «Agregar un nuevo token». Selecciona las capacidades requeridas para el servicio web y guarda el token generado.

Ejemplo de la estructura de un Token de Moodle

Un token de Moodle tiene una estructura similar a esta:

18a42b7e564a0d9d1e8c64a02a28545d

Este token es único para cada usuario y proporciona acceso a las API de Moodle.

 

Creación de usuario en Moodle al realizar una compra en WooCommerce

 

add_action('woocommerce_payment_complete', 'crear_usuario_en_moodle_desde_woocommerce');

function crear_usuario_en_moodle_desde_woocommerce($order_id) {
    $order = wc_get_order($order_id);

    $nombre = $order->get_billing_first_name();
    $apellido = $order->get_billing_last_name();
    $email = $order->get_billing_email();
    $telefono = $order->get_billing_phone();
    $dni = $order->get_meta('dni');

    // Personaliza el rol del usuario según tus necesidades
    $rol = 'student';

    $moodle_api_url = 'https://tusitio.com/moodle/webservice/rest/server.php';
    $token = 'tu_token_de_acceso';

    $usuario_moodle = array(
        'username' => $email,
        'password' => wp_generate_password(12, false),
        'firstname' => $nombre,
        'lastname' => $apellido,
        'email' => $email,
        'phone1' => $telefono,
        'customfields' => array(
            array(
                'type' => 'DNI',
                'value' => $dni
            )
        ),
        'role' => $rol
    );

    $response = wp_remote_post($moodle_api_url, array(
        'body' => array(
            'wstoken' => $token,
            'wsfunction' => 'core_user_create_users',
            'moodlewsrestformat' => 'json',
            'users' => array($usuario_moodle)
        )
    ));

    if (is_wp_error($response)) {
        // Manejar el error
    } else {
        $response_body = wp_remote_retrieve_body($response);
        $response_data = json_decode($response_body, true);

        if (!empty($response_data['exception'])) {
            // Manejar la excepción
        } else {
            // Usuario creado exitosamente en Moodle
        }
    }
}

 

Integrar Moodle y WooCommerce para crear usuarios automáticamente en Moodle después de una compra en WooCommerce puede mejorar significativamente la experiencia del usuario y ahorrar tiempo administrativo. Con las credenciales de API generadas en Moodle y la configuración adecuada en WooCommerce, junto con el código PHP proporcionado, podrás implementar esta integración de manera efectiva en tu entorno de e-learning y comercio electrónico.

¡Ahora estás listo para comenzar a integrar Moodle y WooCommerce de manera efectiva!

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
Back to Top
0
Would love your thoughts, please comment.x
()
x