+54 11 5258-8400
Login

Accediendo a tus estadísticas desde el API

Accediendo a tus estadísticas desde el API

Una de las consultas más frecuentes es la de poder habilitar un usuario especial que tenga acceso solamente a la sección estadísticas. Implementar esto significaría, o bien crear un usuario específico para dicha sección, lo que es demasiado particular, o armar un sistema de ACL que haría la tarea de administrar usuarios y permisos bastante tediosa.

La buena noticia es que a través del API del nuevo panel y la versatilidad que ofrece se puede llevar a cabo en no más de 2 llamadas.

Como hablamos en posts anteriores, el nuevo panel dispone de un API REST que permite ejecutar absolutamente cualquier funcionalidad disponible para la nueva UI desde cualquier lugar. Si, esto quiere decir que si la nueva UI no es enteramente de su agrado y disponen del tiempo, pueden hacer la suya con las mismas exactas funciones. O en este caso, para algo más sencillo como resolver una necesidad puntual.

Ahora si, vamos al código

En primer lugar, lo que debemos hacer es acceder con nuestro SSO y nuestra clave

http://cloudapi.elserver.com/sso/login/?sso=usuario@dominio.com&password=mypassword

Una vez que hicimos esa llamada, obtendremos un access_token para autenticarnos en las futuras llamadas que realicemos.

Ahora bien, una vez que pudimos acceder y tenemos nuestro access_token, podemos ejecutar el pedido de estadísticas que debe ser un GET a /analytics/web/stat/

Eso es todo. Para que les resulte más fácil, les dejo a continuación un ejemplo en php de como se vería la versión final del código:

<?  /******** Begin Configuraciones *********/  $sso = ''; // SSO con el cual accederemos  $password = ''; // Clave del SSO  $account = ''; // Cuenta de la cual queremos obtener las estadisticas  $pointer = ''; // Dominio puntero del cual queremos las estadisticas (por defecto se completara el mismo que la cuenta)  /********* End Configuraciones **********/  $year = date("Y");  $month = date("m");  $pointer = ($pointer == '')? $account : $pointer;  // Me autentico al API  $auth = json_decode(file_get_contents("http://cloudapi.elserver.com/sso/login/?sso=$sso&password=$password"));  if ($auth->error)
    die($auth->error->message);
$access_token = $auth->access_token;

// Pido las estadisticas de la cuenta
$stats = file_get_contents("http://cloudapi.elserver.com/analytics/web/stat/?access_token=$access_token&account=$account&site=$pointer&year=$year&month=$month&type=report");
if (!$stats)
    die('No hay estadísticas para '.$pointer.' en el mes '.$month.' de '.$year);
die($stats);
?>

Para acceder a la documentación completa del API y toda la funcionalidad disponible, pueden acceder a http://www.elserver.com/comunidad/api/

Related Post
Especial Resellers: Cómo crear un login personalizado para el nuevo Panel de Control

Si sos revendedor, sabés lo importante que es ofrecer una experiencia personalizada a tus clientes. Ya te contamos cómo hacer que Kinto, el nuevo Panel de Control, se adapte a la imagen de tu marca. Hoy te mostramos cómo hacer una pantalla de login, para que tus clientes ingresen a sus cuentas desde tu propio […]

Read more
Especial Resellers: Cómo crear skins para el nuevo Panel de Control

Como saben, tenemos un gran estreno estos días: Kinto, nuestro nuevo Panel de Control. A partir del miércoles 14 de agosto, haremos la actualización progresiva y muchos usuarios verán esta nueva versión por defecto cuando ingresen al panel. Si tenés un plan Cloud 4 Resellers, podés ganar tiempo probando el nuevo Panel de Control ahora […]

Read more
Nuevo Panel de Control: Aviso IMPORTANTE

¡Se viene KintoPanel.com! Con mucha alegría te contamos que a partir del 14 de Agosto y de manera progresiva, estaremos habilitando el nuevo Panel de Control de ELSERVER.COM el cual bautizamos: KintoPanel. Esto significa que cada vez que accedas a la URL panel.elserver.com te estarás logueando en la nueva interfaz, mucho más rápida, amigable y flexible. Hasta acá […]

Read more
Post has 3 comments
  • Roberto Posted 23 mayo, 2013 in 9:13 pm

    como puedo lograr que solamente me muestre parte de as estadisticas, por ejemplo solo “Historico Mensual”

  • Dev Team Posted 29 mayo, 2013 in 3:02 pm

    Hola Roberto,

    Las estadísticas se procesan y se almacenan en un solo html. Para hacer lo que me preguntás tenés 2 opciones:

    1- Utilizar el anchor #month que tiene el HTML para comenzar directamente desde esa sección, quedándote de esta forma la llamada:

    $stats = file_get_contents("http://cloudapi.elserver.com/analytics/web/stat/?access_token=$access_token&account=$account&site=$pointer&year=$year&month=$month&type=report#month");

    2- Algo un poco más complejo pero que es exactamente lo que necesitás es capturar el html y en vez de imprimirlo directamente, parsearlo para dejar solamente esa sección. Te paso un ejemplo de una regexp que podés usar en este código para php

    $stats = preg_replace('/^(.+?)(.+?)(.*?< \/table>.*?< \/table>)(.+?)$/is', '\\1\\3', $stats);

    En el script de ejemplo, lo deberías agregar antes del die($stats);

    Espero que te sirva!

  • Gustavo Posted 8 julio, 2013 in 5:57 pm

    Hola!
    No tengo experiencia en PHP pero necesito hacer esto para que mis clientes accedan sólo a las estadísticas de sus sitios Web.
    Haciendo algunas modificaciones (reemplazando algunos ‘ ‘ por comillas con el dato correcto entre ellas) ya he conseguido que me muestre las estadísticas de mi dominio, pero por el momento tengo dos preguntas:

    1. Todos los caracteres con acento salen incorrectamente en la página de estadísticas.
    Probé con default_charset = “utf-8”; agregándolo en elcódigophp pero da error
    ¿Cómo se corrige esto?

    2. Para que el código pida las estadísticas queda expuesta la contraseña de la cuenta de acceso al SSO.
    ¿hay alguna forma de ocultarla o de ingresarla por medio de otro método?
    No se si es habitual o si así debe ser

    Así como está, colocando los datos correctos en “MIEMAIL@DOMINIO.COM.AR” “MI CONTRASEÑA” y “MIDOMINIO”
    funciona, pero me preocupa lo de la contraseña.

    Muchas gracias!
    Gustavo Sáinz

    Sin título 1

    error)
    die($auth->error->message);
    $access_token = $auth->access_token;

    // Pido las estadisticas de la cuenta
    $stats = file_get_contents(“http://cloudapi.elserver.com/analytics/web/stat/?access_token=$access_token&account=$account&site=$pointer&year=$year&month=$month&type=report”);
    if (!$stats)
    die(‘No hay estadísticas para ‘.$pointer.’ en el mes ‘.$month.’ de ‘.$year);
    die($stats);
    ?>

Comments are closed.

LAYOUT

SAMPLE COLOR

Please read our documentation file to know how to change colors as you want

BACKGROUND COLOR

BACKGROUND TEXTURE