Skip to content

Commit

Permalink
Fixes #3940 Adding '&format=php' to ensure the data within the bulk r…
Browse files Browse the repository at this point in the history
…equest, is converted only once and is valid JSON. Also works in XML (not in CSV).

I updated the bulk request doc at: http://piwik.org/docs/analytics-api/reference/#toc-advanced-users-send-multiple-api-requests-at-once
  • Loading branch information
mattab committed May 23, 2013
1 parent a930ce4 commit debae07
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 24 deletions.
2 changes: 1 addition & 1 deletion plugins/API/API.php
Expand Up @@ -1619,7 +1619,7 @@ public function getBulkRequest($urls)

$result = array();
foreach ($urls as $url) {
$req = new Piwik_API_Request($url);
$req = new Piwik_API_Request($url . '&format=php&serialize=0');
$result[] = $req->process();
}
return $result;
Expand Down
14 changes: 9 additions & 5 deletions tests/PHPUnit/Integration/OneVisitorTwoVisitsTest.php
Expand Up @@ -47,10 +47,8 @@ public function getApiForTesting()

$enExtraParam = array('expanded' => 1, 'flat' => 1, 'include_aggregate_rows' => 0, 'translateColumnNames' => 1);
$bulkUrls = array(
"idSite=" . $idSite . "&date=2010-03-06&format=json&expanded=1&period=day&method=VisitsSummary.get",
"idSite=" . $idSite . "&date=2010-03-06&format=xml&expanded=1&period=day&method=VisitsSummary.get",
"idSite=" . $idSite . "&date=2010-03-06&format=json&expanded=1&period=day&method="
. "VisitorInterest.getNumberOfVisitsPerVisitDuration"
"idSite=" . $idSite . "&date=2010-03-06&expanded=1&period=day&method=VisitsSummary.get",
"idSite=" . $idSite . "&date=2010-03-06&expanded=1&period=day&method=VisitorInterest.getNumberOfVisitsPerVisitDuration"
);
foreach ($bulkUrls as &$url) {
$url = urlencode($url);
Expand All @@ -69,7 +67,13 @@ public function getApiForTesting()
'language' => 'en',
'testSuffix' => '_csv')),

array('API.getBulkRequest', array('otherRequestParameters' => array('urls' => $bulkUrls))),
array('API.getBulkRequest', array('format' => 'xml',
'testSuffix' => '_bulk_xml',
'otherRequestParameters' => array('urls' => $bulkUrls))),

array('API.getBulkRequest', array('format' => 'json',
'testSuffix' => '_bulk_json',
'otherRequestParameters' => array('urls' => $bulkUrls))),

// test API.getProcessedReport w/ report that is its own 'actionToLoadSubTables'
array('API.getProcessedReport', array('idSite' => $idSite,
Expand Down

This file was deleted.

@@ -0,0 +1 @@
[{"nb_uniq_visitors":1,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]]
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_actions>8</nb_actions>
<nb_visits_converted>2</nb_visits_converted>
<bounce_count>1</bounce_count>
<sum_visit_length>1621</sum_visit_length>
<max_actions>7</max_actions>
<bounce_rate>50%</bounce_rate>
<nb_actions_per_visit>4</nb_actions_per_visit>
<avg_time_on_site>811</avg_time_on_site>
</row>
<row>
<row>
<label>0-10s</label>
<nb_visits>1</nb_visits>
</row>
<row>
<label>11-30s</label>
<nb_visits>0</nb_visits>
</row>
<row>
<label>31-60s</label>
<nb_visits>0</nb_visits>
</row>
<row>
<label>1-2 min</label>
<nb_visits>0</nb_visits>
</row>
<row>
<label>2-4 min</label>
<nb_visits>0</nb_visits>
</row>
<row>
<label>4-7 min</label>
<nb_visits>0</nb_visits>
</row>
<row>
<label>7-10 min</label>
<nb_visits>0</nb_visits>
</row>
<row>
<label>10-15 min</label>
<nb_visits>0</nb_visits>
</row>
<row>
<label>15-30 min</label>
<nb_visits>1</nb_visits>
</row>
<row>
<label>30+ min</label>
<nb_visits>0</nb_visits>
</row>
</row>
</result>

0 comments on commit debae07

Please sign in to comment.