Opened 11 months ago

Closed 11 months ago

Last modified 11 months ago

#3940 closed Bug (fixed)

BREAKING API change: Format of data returned in "Bulk request" mode has changed

Reported by: tsteur Owned by: mattab
Priority: major Milestone: 1.12 - The Great 1.x Backlog
Component: Core Keywords:
Cc: Sensitive: no

Description (last modified by matt)

NOTE: the code is API BREAKING only if you were early user of this feature. Please check the client code as of 1.12-b16 to make sure it works well.

--

Hi,

wanted to integrate the new Dashboards API into Piwik Mobile by using API.getBulkRequest method.

Unfortunately, the return JSON of API.getReportMetadata seems to be invalid. Getting an error when trying to parse JSON in Browser as well as on Mobile Devices. Would be nice to have this fixed in Piwik 1.12 otherwise Dashboards won't work in Mobile App.

Example Request:
http://demo.piwik.org/index.php?urls%5B0%5D=method%3dAPI.getReportMetadata%26hideMetricsDoc%3d1%26showSubtableReports%3d0%26format%3dJSON%26idSites%3d7%26&urls%5B1%5D=method%3dDashboard.getDashboards%26format%3dJSON%26idSite%3d7%26&idSite=7&module=API&date=today&token_auth=anonymous&period=day&format=json&method=API.getBulkRequest&language=en&

To reproduce simply goto http://jsfiddle.net/5PPxD/ , press Run and watch console.
You will see the following error message:

Uncaught SyntaxError: Unexpected token S.

Looks like the problem is caused by a documentation 'See the "Search Engines & Keywords" report for more '... Just use http://json.parser.online.fr/ to validate the JSON.

Change History (5)

comment:1 Changed 11 months ago by tsteur

  • Description modified (diff)

comment:2 Changed 11 months ago by matt (mattab)

  • Owner set to mattab
  • Resolution set to fixed
  • Status changed from new to closed

In debae0756cba9e5bd2bafc9e8e037757b740e783:

Fixes #3940 Adding '&format=php' to ensure the data within the bulk request, 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

comment:3 Changed 11 months ago by matt (mattab)

  • Description modified (diff)
  • Summary changed from API.getBulkRequest returns invalid JSON to BREAKING API change: Format of data returned in "Bulk request" mode has changed

@Thomas, can you confirm if you were using BULK Requests already in Piwik Mobile? I'm worried maybe my change would break something in existing users?

comment:4 Changed 11 months ago by matt (mattab)

the new version is deployed on demo so please test, thanks!

comment:5 Changed 11 months ago by tsteur

thanks a lot! it works

Note: See TracTickets for help on using tickets.