Pular para conteúdo

Analytics

Obter estatísticas de acesso a um domínio.

OBS: Os dados de transferência são retornados em KB e dados relacionados a tempo em timestamp.

Importante!

Os parâmetros from e to devem ser preenchidos com o inicio e o fim do intervalo o qual você deseja receber os dados, utilizando o formato UNIX Timestamp.

GET /v1/analytics/{dominio}?graph={graph}&interval={interval}&from={from}&to={to}&host={subdomain}

Exemplo de request

$ curl -i "https://api.gocache.com.br/v1/analytics/seudominio.com.br?graph=custom&interval=1h&from=1546308000&to=1546315000&host=blog.seudominio.com.br" /
-H 'GoCache-Token:seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/analytics/seudominio.com.br?graph=custom&interval=1h&from=1546308000&to=1546315000&host=blog.seudominio.com.br");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Tipo Opcional Descrição
graph String Valores permitidos: custom, current-month, last-month
interval String Intervalo dos dados de estatísticas de acesso, valores permitidos: 1min, 1h, 4h, 12h, 1d
host String Permite filtro por subdomínio. O valor deve ser o subdomínio completo (ex: www.seudominio.com.br)
from Number Horário inicial dos dados de estatísticas de acesso (em formato unix timestamp)
to Number Horário final dos dados de estatísticas de acesso (em formato unix timestamp)

Exemplo de sucesso

HTTP/1.1 200 OK {
    "status_code": 1,
    "response": {
      "requests": {
       "status_group": {
        "3xx": {
          "total": [0,3]},
        "4xx": {
          "total": [0,0]},
        "5xx": {
          "total": [0,0]},
        "1xx": {
          "total": [3,4]},
        "2xx": {
         "total": [56,20]}
        },
       "ratelimit": {
        "challenge": {
         "total": [0,0]},
        "count": {
         "total": [0,0]},
        "simulate": {
         "total": [0,0]},
        "challenge_success": {
         "total": [0,0]},
        "challenge_failed": {
         "total": [0,0]},
        "block": {
         "total": [0,0]},
        "whitelist": {
         "total": [0,0]}
       },
       "status_code": {
        "404": {
         "total": [0,0]},
        "401": {
         "total": [0,0]},
        "503": {
         "total": [0,0]},
        "499": {
         "total": [0,0]},
        "400": {
         "total": [0,0]},
        "504": {
         "total": [0,0]},
        "502": {
         "total": [0,0]},
        "500": {
         "total": [0,0]},
        "301": {
         "total": [0,0]},
        "403": {
         "total": [0,0]},
        "302": {
         "total": [0,0]},
        "304": {
         "total": [0,3]}
        },
       "smartrule": {
        "challenge": {
         "total": [0,0]},
        "accept": {
         "total": [0,0]},
        "challenge_failed": {
         "total": [0,0]},
        "challenge_success": {
         "total": [0,0]},
        "block": {
         "total": [0,0]}
       },
       "waf": {
        "challenge": {
         "total": [0,0]},
        "challenge_success": {
         "total": [0,0]},
        "challenge_failed": {
         "total": [0,0]},
        "simulate": {
         "total": [0,0]},
       "block": {
         "total": [0,0]}
      },
      "firewall": {
       "accept": {
        "total": [0,0]},
       "block": {
        "total": [0,0]}
      }
      },
      "stats": {
       "status_group": {
        "3xx": 3,
        "4xx": 0,
        "5xx": 0,
        "others": 0,
        "1xx": 7,
        "2xx": 76
     },
     "req_per_sec": {
      "total": {
        "avg": 0.011944444444444,
        "max": 0.016388888888889
      }
     },
     "requests": {
      "total": 86,
      "user": 86,
      "3lcloud": 0,
      "optimized": 0
     },
     "firewall": {
      "accept": 0,
      "block": 0
     },
     "smartrule": {
      "challenge": 0,
      "accept": 0,
      "challenge_failed": 0,
      "challenge_success": 0,
      "block": 0
     },
     "cache_coverage": {
      "uncacheable": 10,
      "cached": 0,
      "uncached": 76
     },
     "avg_req_size": {
      "total": 3.0982807957849
     },
     "ratelimit": {
      "cdn": 0,
      "count": 0,
      "simulate": 0,
      "challenge_success": 0,
      "challenge_failed": 0,
      "block": 0,
      "user": 0,
      "challenge": 0,
      "whitelist": 0
     },
     "bandwidth": {
      "ratio": {
        "optimized": 0
      },
      "user": 266.4521484375,
      "optimized": 0,
      "unoptimized": 0,
      "3lcloud": 0,
      "total": 266.4521484375
     },
     "latency": {
      "html": 2.3808,
      "non_html": 0.30138271604938
     },
     "waf": {
      "challenge": 0,
      "challenge_success": 0,
      "challenge_failed": 0,
      "simulate": 0,
      "block": 0
     },
     "pageviews": {
      "user": 5,
      "3lcloud": 0,
      "total": 5
     }
     },
     "metadata": {
      "start_point": 1624046400,
      "end_point": 1624050000,
      "interval": 3600,
      "server_time": 1624052784.601
     },
     "traffic": {
     "bandwidth_per_sec": {
      "total": [0.052033333333333,0.55429333333333],
      "3lcloud": [0,0],
      "user": [0.052033333333333,0.55429333333333]
     },
     "req_per_sec": {
      "total": [0.016388888888889,0.0075],
      "3lcloud": [0,0],
      "user": [0.016388888888889,0.0075]
     },
     "requests": {
      "3lcloud": [0,0],
      "total": [59,27],
      "optimized": [0,0],
      "user": [59,27]
     },
     "bandwidth": {
      "total": [22.8662109375,243.5859375],
      "optimized": [0,0],
      "3lcloud": [0,0],
      "unoptimized": [0,0],
      "user": [22.8662109375,243.5859375]
     },
     "pageviews": {
      "total": [0,5],
      "3lcloud": [0,0],
      "user": [0,5]
     },
     "latency": {
      "html": [0,2.3808],
      "non_html": [0.31713559322034,0.25913636363636]
     },
     "avg_req_size": {
      "total": [0.38756289724576,9.0217013888889]
     }}}}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo("Requisições economizadas: " . sprintf("%.2f", 100.0 * ($obj->response->stats->requests->{"3lcloud"} / $obj->response->stats->requests->total)) . "%\n");

}
?>