Accesso API per Sviluppatori: scarica Report e ads.txt

Da oggi è disponibile sul pannello di eADV la possibilità per gli Sviluppatori di accedere ad alcune informazioni del proprio account tramite API.
Con application programming interface (in acronimo API, in italiano interfaccia di programmazione di un'applicazione), in informatica, si indica ogni insieme di procedure disponibili al programmatore, di solito raggruppate a formare un set di strumenti specifici per l'espletamento di un determinato compito all'interno di un certo programma. Fonte: https://it.wikipedia.org/wiki/Application_programming_interface 
Direttamente dalla scheda "API ACCESS TOKEN" disponibile nella pagina del profilo utente è adesso possibile generare un Access Token, eliminarlo o rigenerarlo in caso di necessità.


Download dei Report

Se desideri importare i tuoi Report all'interno di un tuo sistema interno di statistiche, puoi accedere alla pagina dei Report, selezionare una qualsiasi combinazione di "Tipo di Report" e "Filtri" e cliccare sull'apposito pulsante "Scarica tramite API" per ottenere un link tramite il quale scaricare un file in formato JSON da elaborare secondo le tue necessità.


Download automatico di ads.txt

Se desideri aggiornare automaticamente il file ads.txt del tuo sito, dalla pagina I miei siti puoi cliccare sul collegamento "ads.txt" e quindi sull'apposito pulsante "Scarica tramite API" per ottenere un link tramite il quale scaricare un file in formato JSON da elaborare secondo le tue necessità.


NOTA: Ricorda di impostare uno script automatizzato (cronjob) che aggiorni il tuo file ads.txt almeno una volta alla settimana.

Di seguito un esempio di codice in PHP per scaricare ed aggiornare in maniera totalmente automatizzata il file ads.txt sul tuo sito:

error_reporting(E_ALL ^ E_NOTICE);
define('ADSTXT_API_URL', '[your-api-url]');
logger('Work started!', true);
$context = stream_context_create([
  'http'=> [
    'timeout' => 15,
    'user_agent' => 'EADV-adstxt-downloader/1.0.0'
  ]
]);
$result = file_get_contents(ADSTXT_API_URL, false, $context);
if ($result === false) {
    logger('file_get_contents failed!');
} elseif (($json = json_decode($result)) === null) {
    logger('json_decode failed!');
} elseif ($json->status !== 'success') {
    logger('Error! Code: '.$json->code.' Message: '.$json->message.' Stack:'.$json->stack);
} else {
    logger('Successfully downloaded');
    if (file_put_contents('./ads.txt', $json->adstxt) !== false) {
        logger('Done!');
    } else {
        logger('file_put_contents failed!');
    }
}
function logger($message, $reset = false) {
    $log = date('Y-m-d H:i:s').' - '.$message.PHP_EOL;
    @file_put_contents('./eadv-adstxt-log.txt', $log, $reset === true ? 0 : FILE_APPEND);
    echo $log;
}

Non esitare a contattarci per dubbi o chiarimenti.

Buon lavoro,
Il Team di eADV