Saltar a: navegación, buscar

Diferencia entre revisiones de «Documentación API Analytics»


(Clase spsApiNickcenter)
(Clase analyticsConnection)
Línea 70: Línea 70:
 
<br/>
 
<br/>
 
<source lang="PHP">
 
<source lang="PHP">
$conexionapi = new spsApiNickcenter([RSA KEY PRIVADA]);
+
$apiconnection = new analyticsConnection([RSA PRIVATE KEY]);
 
</source>
 
</source>
 
<br/>
 
<br/>
Línea 76: Línea 76:
 
<br/>
 
<br/>
 
<source lang="PHP">
 
<source lang="PHP">
$conexionapi = new spsApiNickcenter([RSA KEY PRIVADA]);
+
$apiconnection = new analyticsConnection([RSA PRIVATE KEY]);
$json_datos_devueltos = $conexionapi->getData(tarea, array_datos)
+
$json_datos_devueltos = $apiconnection->getData($userId, $requestJson)
 
</source>
 
</source>
 
<br/>
 
<br/>
 
A continuación se exponen cuales son las distintas tareas ejecutables, y como ha de ser el array de datos para posibilitar dicha ejecución.
 
A continuación se exponen cuales son las distintas tareas ejecutables, y como ha de ser el array de datos para posibilitar dicha ejecución.

Revisión del 17:04 17 oct 2018

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.

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($myJson).'&user='.$useId);
$response = 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]);


Si la instalación de la librería es correcta, la ruta de acceso a ésta ha sido cambiada y es correcta, y la RSA KEY Privada es correcta, para realizar las llamadas al Webservice usaremos la funcion getData() de la clase spsApiNickcenter. Dicha función será la encargada de realizar todas las conexiones al Webservice, de cifrar los datos que enviaremos a éste y de descifrar los que datos que nos retorne.

$apiconnection = new analyticsConnection([RSA PRIVATE KEY]);
$json_datos_devueltos = $apiconnection->getData($userId, $requestJson)


A continuación se exponen cuales son las distintas tareas ejecutables, y como ha de ser el array de datos para posibilitar dicha ejecución.