Saltar a: navegación, buscar

Documentación API Analytics


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.

Para poder utilizar la API Analytics y poder obtener tanto el identificador de usuario como las claves RSA, deberá solicitarlo a su administrador.

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';


Tras modificar la ruta, para poder instanciar la clase obtendremos la RSA KEY Privada, accesible desde la sección Mis Datos del Panel de Mobeleader.

Boton rsa keys.png


Pulsando en Ver claves RSA abriremos un popup en el que podremos obtener las claves RSA.

Rsa keys.png


Copiaremos la cadena perteneciente al campo Private RSA key. Es necesario copiar la cadena completa, incluyendo -----BEGIN RSA PRIVATE KEY----- y -----END RSA PRIVATE KEY-----. Añadiremos la cadena como parámetro (string) del constructor de la clase analyticsConnection tal y como se muestra en el ejemplo siguiente:

$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 la RSA KEY Privada, para realizar las llamadas a la API usaremos la función getData() de la clase analyticsConnection, añadiendo el JSON con los datos de la petición y 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á cómo obtener el identificador de usuario y cómo construir el JSON de la petición

Petición de estadísticas

Para que la petición de estadísticas se realice correctamente, es necesario enviar, dentro de la petición, su identificador de usuario y un JSON en el cual especificar las estadísticas que quiera obtener (campos de las estadísticas, filtros, fechas, etc.).

Identificador de usuario

Para realizar la petición de estadísticas a la API Analytics, lo primero que debe hacer es obtener el identificador de usuario. Para ello diríjase a la sección Mis Datos del Panel de Mobeleader y pulse en Ver claves RSA. Una vez dentro del popup, copie la cadena perteneciente al campo Public Identifier.

Public id.png


JSON de petición de estadísticas

Para obtener las estadísticas deseadas, es necesario crear un JSON en el que se especifique:

  1. El tipo de petición: minería, desarrollo, etc.
  2. Los elementos de los cuales quiera obtener las estadísticas: por anuncio, por app, por sistema operativo, etc.
  3. Las estadísticas que quiera mostrar: impresiones, descargas, hashes minados, etc.
  4. Los filtros o elementos concretos de los que quiera obtener las estadísticas: determinadas apps, bases de datos, etc.
  5. Las fechas entre las que quiera delimitar la petición.

Tipos

Cada tipo de petición devolverá un tipo de estadísticas, en función del tipo de usuario que realice la petición, así como los permisos que le hayan sido otorgados. El tipo de petición se especificará en el campo type del JSON. Los diferentes valores para el tipo de petición son:

  • mailing: Devuelve las estadísticas de los envíos de Mailing. El usuario ha de tener acceso a las secciones de Mailing en el Panel de Mobeleader.
  • marketing: Devuelve las estadísticas de los anuncios. El usuario ha de tener acceso a las secciones de Agencias en el Panel de Mobeleader.
  • miner: Devuelve las estadísticas minería. El usuario ha de tener acceso a las secciones de Minería en el Panel de Mobeleader.
  • developer: Devuelve las estadísticas de las aplicaciones. El usuario ha de tener acceso a las secciones de Desarrolladores en el Panel de Mobeleader.
  • linkTracking: Devuelve las estadísticas de descargas por URL tracking. El usuario ha de tener acceso a las sección Link Management en el Panel de Mobeleader.

Mailing