Eventos web

|

A través de los eventos es posible que un sistema externo tenga comunicación con esta plataforma para informar de distintos eventos que puede ocurrir con un suscriptor en tu sistema o sitio web.

Por ejemplo, si tienes un carrito de compras y uno de tus suscriptores completa una compra, puedes grabar este evento en esta plataforma y luego usar esa información para realizar una acción de email marketing.

Los eventos están integrados a la segmentación y automatización, esto significa que, por ejemplo, podrías generar un newsletter para todos los suscriptores que completaron una compra en tu tienda online, o bien programar automatizaciones para enviarles un email en agradecimiento por la compra, y ofrecerles productos relacionados inmediatamente después de haber finalizado la compra en tu tienda.

¿Cómo grabar un evento?

Los eventos constan de 2 partes; el nombre del evento y el valor del evento. Por ejemplo, el nombre del evento podría ser “carrito” y el valor “compra completada”, de esta manera es posible agrupar eventos del mismo tipo con diferente valor.

Para grabar un evento debes enviar las variables con el nombre del evento, el valor del evento y el email del suscriptor. Estos son los parámetros mínimos requeridos. Adicionalmente puedes indicar una lista específica a la cual pertenece ese suscriptor, en caso de que la misma dirección este repetida en varias listas.
Grabar un evento es tan simple como hacer una llamada http al sistema. En esta llamada debes enviar las variables como POST o GET.

Variables de entrada:

eventName: String alfanumérico incluyendo _.@- ,#. Largo máximo: 64 caracteres. Largo mínimo 1 carácter.
eventValue: String alfanumérico incluyendo _.@- ,#. Largo máximo: 128 caracteres. Largo mínimo o caracteres.
apikey: String alfanumérico. Corresponde al apikey correspondiente a cada lista. Este valor lo puedes obtener en la sección Herramientas -> Integración (API) de listas.
email: Dirección de email

Variables de respuesta:

status: indicará si se grabó el evento o no. Si se grabó "stats" será "success", si hubo algun error "status" será "error"
message: Informacion adicional sobre la respuesta. En caso de error, indicará cual fue el error.

Todos los datos enviados deben ser cifrados como URL. El sistema decodificara el cifrado al recibir los datos.

Este es un ejemplo sencillo para grabar un evento en el sistema, simplemente se hace una llamada a la siguiente URL:

http://{$user_data.ln_domain}/eventRecord.php?eventName=carrito&eventValue=compra%20finalizada&email=john%40domain.com&apikey=ed07b6ae344ca1a779a41c55678e2e

 
 

Ejemplo en PHP usando cURL
<?php 

$url = "http://{$user_data.ln_domain}/eventRecord.php";

$data['apikey'] = "ed07b6ae344ca1a779a41c55678e2e";
$data['email'] = "john@domain.com";
$data['eventName'] = "carrito"; 
$data['eventValue'] = "compra finalizada"; 

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $sudata);
$result = curl_exec($ch);
curl_close($ch);

// result is a json string

?>

 
 

Ejemplo en Javascript
<script>
var http = new XMLHttpRequest();
var url = "http://{$user_data.ln_domain}/eventRecord.php";
var params = "eventName=carrito&eventValue=compra%20finalizada&email=john%40domain.com&apikey=ed07b6ae344ca1a779a41c55678e2e";
http.open("POST", url, true);

//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

http.onreadystatechange = function() { //Call a function when the state changes.
    if(http.readyState == 4 && http.status == 200) {
        console.log(http.responseText);
    }
}
http.send(params);
</script>

 
 

Ejemplo en jQuery
<script>
$.ajax("http://{$user_data.ln_domain}/eventRecord.php",{
    type: "POST",
    dataType: "JSON",
    data: {
        'apikey': "ed07b6ae344ca1a779a41c55678e2e",
        'email': "john@domain.com",
        'eventName': "carrito",
        'eventValue'; "compra finalizada"
    }
}).done(function(response){
    console.log(response);
});
</script>