Saltar a: navegación, buscar

Documentación API Analytics


Revisión del 17:22 17 oct 2018 de Deneb (discusión | contribuciones) (Clase analyticsConnection)

Introduccion

La API Analytics es la plataforma a través de la cual obtener las estadísticas de un usuario. Los datos obtenidos corresponderán a los datos que se obtendrían en las secciones de Analytics del Panel de Mobeleader. Las estadísticas serán devueltas en formato JSON.

En esta documentación se explicará cómo conectar con la API y cómo preparar los datos para realizar la petición de las estadísticas. Los ejemplos ofrecidos están en lenguaje PHP.

Conexión con la API

La conexión con la API para realizar la petición de estadísticas se puede realizar de dos maneras:

  1. Mediante llamada directa a la API. Esta opción será menos segura debido a que los datos de la petición irán sin cifrar.
  2. Usando la clase analyticsConnection creada por Mobeleader. Esta opción será mas segura ya que cuenta con un cifrado mediante RSA Keys generadas en nuestro sistema.

Llamada directa a la API

Si queremos realizar la petición a la API sin la necesidad de usar la clase analyticsConnection, deberemos conectarnos mediante POST a la siguiente URL: https://panel.mobeleader.com/webservices/analytics/api_analytics.php, añadiendo los parámetros data (JSON con los datos de la petición) y user (con el identificador del usuario). En el apartado Petición de estadísticas se explicará como obtener el identificador de usuario y como construir el JSON de la petición.

  • Ejemplo de petición directa:
$url = 'https://panel.mobeleader.com/webservices/analytics/api_analytics.php';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/x-www-form-urlencoded') );
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'data='.urlencode($requestJson).'&user='.$useId);
$responseJson = curl_exec($curl);

Uso de la clase analyticsConnection

Esta clase accesible desde CAMBIARRRRR, esta pensada para una mayor comodidad del cliente, permitiendo que todo se gestione desde la clase sin necesidad de tener que programar las llamadas y retornos de la API. A continuación se expondrán los pasos a seguir para un correcto funcionamiento de la clase:

Instalación PHPSECLIB


Será necesario disponer de phpseclib versión 2.0.11 o superior. Los pasos para instalar esta versión de phpseclib son:
- Disponer de la herramienta "composer.phar"
- Ejecutar "composer" en la carpeta donde vaya a instalar nuestra librería.

1.- Descargar composer desde: https://getcomposer.org/composer.phar

curl https://getcomposer.org/composer.phar -o composer.phar


2.- Ejecutar el comando:

php composer.phar --working-dir=. require phpseclib/phpseclib:~2.0


Hecho esto, obtendrá la siguiente salida por consola:

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing phpseclib/phpseclib (2.0.11): Downloading (100%)         
phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
phpseclib/phpseclib suggests installing ext-mcrypt (Install the Mcrypt extension in order to speed up a few other cryptographic operations.)
phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.)
Writing lock file
Generating autoload files


Esto significa que está todo lo necesario instalado en su carpeta vendor.

Clase analyticsConnection

Una vez instalada la librería PHPSECLIB en nuestra carpeta vendor, lo primero que debemos hacer es abrir la clase y modificar la ruta de acceso a dicha carpeta.

require_once 'PATH..../vendor/autoload.php';


Una vez modificada la ruta, para poder instanciar la clase deberemos coger la cadena de la RSA KEY Privada, accesible desde https://panel.mobeleader.com/index.php?sec=6, y reemplazarla en el siguiente codigo.

$apiconnection = new analyticsConnection([RSA_PRIVATE_KEY]);


Una vez realizadas correctamente la instalación de la librería, la modificación de la ruta de acceso a ésta, y la inserción en el código de laRSA KEY Privada, para realizar las llamadas a la API usaremos la función getData() de la clase analyticsConnection, añadiendo los parámetros data (JSON con los datos de la petición) y user (con el identificador del usuario). La función getData() será la encargada de realizar todas las conexiones a la API, de cifrar los datos que enviaremos a ésta y de descifrar los datos que nos devuelva.

$apiconnection = new analyticsConnection([RSA_PRIVATE_KEY]);
$responseJson = $apiconnection->getData($userId, $requestJson)


En el apartado Petición de estadísticas se explicará como obtener el identificador de usuario y como construir el JSON de la petición.