The following shows how to generate the hits-by-browser
report using either the Reporting API's Generate a report POST operation or the Get a cacheable report GET operation. Details about each report's supported products, metrics, filters, and available data intervals are also available dynamically by running the API's Get a report type operation, also shown below. See also other available reports.
Report definition
Returns traffic data by browser.
This report yields the top nine values. Remaining values are grouped as a single record titled Other
. Use the dataWrapNumberOfItems
parameter to control the number of items to report separately, and the dataWrapLabel
parameter to identify the remaining group.
Business object: cpcode
Data available for: 92 days
Available metrics
Metric | Description |
---|---|
Data metrics | |
successfulHits | The number of requests returning successful responses. |
successfulHitsPercent | The percent of total number of requests returning successful responses for that browser. |
POST request
POST /reporting-api/v1/reports/hits-by-browser/versions/1/report-data{?start,end,dataWrapNumberOfItems,dataWrapLabel}
Sample: /reporting-api/v1/reports/hits-by-browser/versions/1/report-data?start=2020-05-01T00%3A00%3A00Z&end=2020-06-01T00%3A00%3A00Z&dataWrapNumberOfItems=2&dataWrapLabel=Other
Query parameters
Parameter | Type | Sample | Description |
---|---|---|---|
Required | |||
start | String | 2020-05-01T00:00:00Z | Specifies the start of the reported period as an ISO-8601 timestamp with optional time zone. The report includes data that matches the start value's timestamp. |
end | String | 2020-06-01T00:00:00Z | Specifies the end of the reported period as an ISO-8601 timestamp with optional time zone. The report excludes any data that matches the end value's timestamp. |
Optional | |||
dataWrapNumberOfItems | Number | 2 | Number of top values to be yield in response. Default value: 9 . Special values: 0 - will group all values to single record, -1 - will disable outlaying values grouping. |
dataWrapLabel | String | Other | Label used as title for grouped record of data which is wrapped. Default value: Other . |
JSON request members
Member | Type | Description |
---|---|---|
objectIds | Array | Specifies the set of cpcode values you want to report on. |
objectIds | Enumeration | As an alternative to an array of ID values, specify all as a string for unfiltered data. Either way, objectIds is required. |
metrics | Array | The set of desired metrics. If omitted, the report includes all available metrics. |
Request body:
{
"objectIds": [
"55232",
"23433",
"32433"
],
"metrics": [
"successfulHits",
"successfulHitsPercent"
]
}
GET request
GET /reporting-api/v1/reports/hits-by-browser/versions/1/report-data{?start,end,objectIds,allObjectIds,metrics,dataWrapNumberOfItems,dataWrapLabel}
Sample: /reporting-api/v1/reports/hits-by-browser/versions/1/report-data?start=2020-05-01T00%3A00%3A00Z&end=2020-06-01T00%3A00%3A00Z&objectIds=55232,23433,32433&metrics=successfulHits%2CsuccessfulHitsPercent&dataWrapNumberOfItems=2&dataWrapLabel=Other
Query parameters
Parameter | Type | Sample | Description |
---|---|---|---|
Required | |||
start | String | 2022-06-23T13:55:00Z | Specifies the start of the reported period as an ISO-8601 timestamp with optional time zone. The report includes data that matches the start value’s timestamp. |
end | String | 2022-06-23T14:15:00Z | Specifies the end of the reported period as an ISO-8601 timestamp with optional time zone. The report excludes any data that matches the end value’s timestamp. |
Optional | |||
allObjectIds | Boolean | true | As an alternative to objectIds , enabling this generates a report that includes all IDs available for the cpcode objectType. This parameter is ignored if the request also specifies a set of objectIds. |
objectIds | String | 55232,23433,32433 | As an alternative to allObjectIds , specifies the set of unique IDs for the cpcode objectType you want to report on, formatted as a comma-delimited list. |
metrics | String | successfulHits,successfulHitsPercent | Specifies a comma-separated list of metrics to include in the report, otherwise all metrics if omitted. The set of available metrics depends on the type of report. URL-encode the entire value in the GET request. |
dataWrapNumberOfItems | Number | 2 | Number of top values to be yield in response. Default value: 9 . Special values: 0 - will group all values to single record, -1 - will disable outlaying values grouping. |
dataWrapLabel | String | Other | Label used as title for grouped record of data which is wrapped. Default value: Other . |
JSON response
Status 200 application/json
Response body:
{
"metadata": {
"name": "hits-by-browser",
"version": "1",
"outputType": "FLAT",
"groupBy": [
"browser_version"
],
"start": "2020-05-01T00:00:00Z",
"end": "2020-06-01T00:00:00Z",
"availableDataEnds": null,
"suggestedRetryTime": null,
"rowCount": 4,
"filters": [],
"columns": [
{
"name": "groupBy",
"label": "browser_version"
},
{
"name": "successfulHits",
"label": "Successful Hits "
},
{
"name": "successfulHitsPercent",
"label": "Successful Hits %"
}
],
"objectType": "cpcode",
"objectIds": [
"55232",
"23433",
"32433"
]
},
"data": [
{
"browser_version": "40.15063.0",
"successfulHits": "1558",
"successfulHitsPercent": "86"
},
{
"browser_version": "40.15254.369",
"successfulHits": "2167",
"successfulHitsPercent": "40"
},
{
"browser_version": "Other",
"successfulHits": "412",
"successfulHitsPercent": "5"
}
],
"summaryStatistics": {}
}
CSV response
Status 200 text/csv
Response Body:
#METADATA_START
name,hits-by-browser
version,1
source,hits-by-browser/versions/1
groupBy,browser_version
start,2020-05-01T00:00:00Z
end,2020-06-01T00:00:00Z
availableDataEnds,
suggestedRetryTime,
rowCount,4
objectType,cpcode
objectIds,55232,23433,32433
#METADATA_END
#SUMMARYSTATISTICS_START
#SUMMARYSTATISTICS_END
#COLUMNS_START
browser_version,successfulHits,successfulHitsPercent
#COLUMNS_END
#DATA_START
40.15063.0,1558,86
40.15254.369,2167,40
Other,412,5
#DATA_END
Get report details
This sample Get a report type operation gets the same information you need to run the hits-by-browser
report as provided in this reference documentation, but available dynamically to your API client application.
GET /reporting-api/v1/reports/hits-by-browser/versions/1
Status 200 application/json
Response body:
{
"name": "hits-by-browser",
"description": "Returns traffic data by browser.",
"businessObjectName": "cpcode",
"version": 1,
"status": "PUBLISHED",
"deprecated": false,
"timeBased": false,
"outputType": "FLAT",
"requiredProducts": [
"Basic Traffic Reports"
],
"requiredRoles": [
"Reports - All privileges",
"Reports - View only",
"OTA App User"
],
"available": true,
"metrics": [
{
"name": "successfulHits",
"description": "The number of requests returning successful responses.",
"label": "Successful Hits ",
"unit": "COUNT",
"summaryStatistic": false
},
{
"name": "successfulHitsPercent",
"description": "The percent of total number of requests returning successful responses for that browser.",
"label": "Successful Hits %",
"unit": "RATIO",
"summaryStatistic": false
}
],
"groupOutlyingValues": {
"enabled": true,
"groupThreshold": 9,
"groupName": "Other"
},
"groupBy": [
"browser_version"
],
"intervals": [
"MONTH",
"WEEK",
"DAY"
],
"dataRetentionDays": 92,
"limit": 10000,
"links": [
{
"rel": "self",
"href": "/reporting-api/v1/reports/hits-by-browser/versions/1"
},
{
"rel": "versions",
"href": "/reporting-api/v1/reports/hits-by-browser/versions"
},
{
"rel": "all-reports",
"href": "/reporting-api/v1/reports"
},
{
"rel": "execute-report",
"href": "/reporting-api/v1/reports/hits-by-browser/versions/1/report-data"
}
]
}