Wordpress: WooCommerce

Conecta Classlife con tu plataforma de ecommerce para matricular a tus alumnos de forma directa generando el expediente académico, acuerdo de pago y conexión al campus virtual.

Esta guía es una referencia de flujo para enviar datos a la API de Classlife. Recomendamos capturar las trazas de envío y realizar pruebas API-REST para confirmar que la conexión es correcta. Classlife es responsable de procesar la petición API-REST recibida.

Classlife recibe la comunicación por parte de terceros a través de las solicitudes a la URL del portal del centro educativo, incluyendo la API Key que permite la autorización de la llamada para ejecutar el servicio solicitado.

1) SKU en los productos WooCommerce

Los productos en WooCommerce se identifican por un código SKU y es necesario que lo tengan pues ese dato es el que se envía hacia Classlife para identificarlo como producto de compra (product_id)

2) Trigger de action en WooCommerce

Para realizar la conexión entre la plataforma, se deberá incorporar el siguiente código al fichero “functions.php” de la plantilla activa, con lo cual Classlife recibirá una copia de todas las peticiones de formulario que se tramiten por WooCommerce una vez se haya confirmado y procesada la orden. Menú: Apariencia --> Editor de temas --> functions.php Info: Las reglas internas de control de compras, respuesta y flujo de operaciones propios de Woocommerce NO se verán afectados por la incorporación de esta acción, ya que es una acción pasiva, que recibe copia de la actividad sin alterar la dinámica de WooCommerce que el administrador tenga configurada. Hay que sustituir las XXXXXXX por los valores del centro.

(*) NOTA: * Si usas WooCommerce con pago final, la función a utilizar es: 'woocommerce_payment_complete' * Si usas WooCommerce sin pago final, la función es: 'woocommerce_checkout_order_processed'

/* CLASSLIFE */

// Revisar la NOTA(*)
add_action(
    'woocommerce_payment_complete',
    'postClasslifeWoocommerce'
);
function postClasslifeWoocommerce($order_id) {
  $url = 'https://xxxxx.classlife.education/app/apilead.php';
  $fields['service'] = 'api';
  $fields['apiKey'] = 'xxxxxxx';
  $fields['perform'] = 'newEnroll';
  $fields['source'] = 'woocommerce';
  $fields['lead_source'] = '1';

  $fields['email'] = $_POST['billing_email'];
  $fields['nombre'] = $_POST['billing_first_name'];

  // Get an instance of the WC_Order object
  $order = wc_get_order($order_id);
  $order_data = $order->get_data(); // The Order data

  $items = $order->get_items();
  $sku = "XX";
  foreach ($items as $item) {
    $product = $item->get_product();
    $sku = $product->get_sku();
  }

  // Estos ids deben coincidir con el producto eCommerce en Classlife
  $fields['product_id'] = $sku; ////ID or SKU del producto WooCommerce
  $fields['variation_id'] = "" ; ///(optional) ID de la variación del producto

  // Resto de campos
  $fields['order_id'] = $order_id;
  $fields['order_data'] = $order_data;
  $fields['post_data'] = $_POST;


  $fields_string = http_build_query($fields);

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, count($fields));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
  $result = curl_exec($ch);
  curl_close($ch);
}


/* CLASSLIFE */	

3) Alta de producto en Classlife

Ahora debemos indicar en Classlife que el Producto de WooCommerce_ID=33 en Classlife debe matricular al alumno en un curso determinado. Esto se realiza en la sección "eCommerce" de Classlife. Agregamos producto y debemos poner el código del producto WooCommerce. Este código corresponde al ID del post en WooCommerce o SKU https://mi_wordpress.com/wp-admin/post.php?post=33&action=edit

4) Compra y verificación

Una vez completados los pasos anteriores, podemos realizar una compra de ese artículo en WooCommerce y veremos que nos crea el alumno (solo si no existe anteriormente), nos matricula en el curso comprado y nos ha generado los recibos correspondientes.

Parámetros principales

La información de alta de contactos se deberá enviar uno a uno con llamadas al servicio de integración ejecutando la acción "perform=newEnroll" incorporando todos los meta_datos del contacto que se incluirán en la importación al sistema.

La estructura base de la información que Classlife necesita se presenta a continuación.

Última actualización