Skip to content

Statistics API v1

getMsgStats (deprecated)

Retrieve stats for a specific message.

POST https://go.pushwoosh.com/json/1.3/getMsgStats

Request Body

NameTypeDescription
auth*stringAPI access token from Pushwoosh Control Panel.
message*stringMessage code obtained in /createMessage request.
{
"status_code": 200,
"status_message": "OK",
"response": {
"request_id": "b3337d8ec78f67280a40a5b89050c0c0"
}
}
Example
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required. API access token from Pushwoosh Control Panel
"message": "xxxx-xxxxxxx-xxxxxx" // required. Message code obtained in /createMessage request
}
}

Response body:

FieldTypeDescription
request_idstringScheduled request Id. Please check/getResults method for more information

Scheduled (/getResults) response:

Example
{
"status_code": 200,
"status_message": "OK",
"response": {
"formatter": "minutely",
"rows": [{
"datetime": "2024-09-30 12:54:00",
"action": "send",
"count": "3"
}, {
"datetime": "2024-09-30 12:54:00",
"action": "open",
"count": "2"
}, {
"datetime": "2024-09-30 12:54:00",
"action": "send",
"count": "59"
}],
// conversion (if goal tracking is allowed)
"conversion": {
"send": 10,
"open": 5,
"events": [{
"uid": 1,
"event": "event name",
"hits": 5,
"conversion": "100%",
"revenue": 15.34
}]
}
}
}

getMsgPlatformsStats (deprecated)

Retrieve specific message’s statistics for one or several platforms only.

POST https://api.pushwoosh.com/json/1.3/getMsgPlatformsStats

Request Body

NameTypeDescription
auth*stringAPI access token from Pushwoosh Control Panel.
message*stringMessage code obtained in /createMessage request.
platformsarrayList of platform types, array of integers. See /registerDevice for the complete list.
{
"status_code": 200,
"status_message": "OK",
"response": {
"request_id": "287870092dc23175af5dc48ba1dc7f3c"
}
}
Example
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required. API access token from Pushwoosh Control Panel
"message": "xxxx-xxxxxxx-xxxxxx", // required. Message code obtained from /createMessage request
// or Message History details
"platforms": [1, 3, 7, 10, 11, 12] // optional. List of platform types. Please see /registerDevice
// for the complete list of platform types
}
}

Response body:

FieldTypeDescription
request_idstringScheduled request Id. Please check/getResults method for more information

Scheduled (/getResults) response:

Example
{
"status_code": 200,
"status_message": "OK",
"response": {
"formatter": "minutely",
"rows": [{
"datetime": "2024-09-30 12:54:00",
"action": "send",
"count": "3"
}, {
"datetime": "2024-09-30 12:54:00",
"action": "open",
"count": "2"
}, {
"datetime": "2024-09-30 12:54:00",
"action": "send",
"count": "59"
}, {
...
}]
}
}

getApplicationSubscribersStats

Displays the app’s subscribers list grouped by the types of their devices.

POST https://api.pushwoosh.com/json/1.3/getApplicationSubscribersStats

Request Body

NameTypeDescription
auth*stringAPI access token from Pushwoosh Control Panel.
application*stringPushwoosh application code.
{
"status_code": 200,
"status_message": "OK",
"response": {
"IOS": 1,
"ANDROID": 1,
"OSX": 0,
"WINDOWS": 0,
"AMAZON": 0,
"SAFARI": 0,
"FIREFOX": 0
}
}
Example
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required. API access token from Pushwoosh Control Panel
"application": "XXXXX-XXXXX" // required. Pushwoosh application code
}
}

getAppStats

Get the statistics of the specific app for a specific time period.

POST https://cp.pushwoosh.com/json/1.3/getAppStats

Request Body

NameTypeDescription
auth*stringAPI access token from Pushwoosh Control Panel.
application*stringPushwoosh application code.
datefrom*stringDate and time, start of the reporting period. Formatted dare: Y-m-d H:i:s
dateto*stringDate and time, end of the reporting period. Formatted date: Y-m-d H:i:s
{
"status_code": 200,
"status_message": "OK",
"response": {
"request_id": "c93a202f439235f9adaaa06d651548ab"
}
}
Example
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required. API access token from Pushwoosh Control Panel
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"datefrom": "2013-06-04 00:00:00", // required. Date and time, start of the reporting period
"dateto": "2013-06-07 00:00:00" // required. Date and time, end of the reporting period
}
}

Statistic displays registered actions for application, device or message, for the timeframe specified.

Reports are automatically aggregated using the following rules: yearly > 1 year monthly > 1 month daily > 1 day hourly > 3 hours minutely in other cases.

Actions: Application Level: open, install

Device Level: register, unregister

Message level: send, open

All statistics objects have the same format:

FieldTypeDescription
formatterstringreport scale: yearly, monthly, daily, hourly, minutely
rowslistreport rows

Each of the report rows is a dictionary:

FieldTypeDescription
countintregistered actions count
actionstringregistered action
datetimestringFormatted date: Y-m-d H:i:s

Response body:

FieldTypeDescription
request_idstringScheduled request ID. Please check /getResults method for more information.

Scheduled (/getResults) response body:

FieldTypeDescription
applicationsdictionarystatistics for applications
devicesdictionarystatistics for devices
messagesdictionarystatistics for messages
Example
{
"error": {
"code": 0,
"message": "OK"
},
"json_data": {
"applications": {
"formatter": "hourly",
"rows": [{
"count": 0,
"action": "open",
"datetime": "2013-06-06 00:00:00"
}, {
...
}]
}
}
}

getCampaignStats

Retrieve statistics of a particular campaign for a specific time period.

POST https://api.pushwoosh.com/json/1.3/getCampaignStats

Request Body

NameTypeDescription
auth*stringAPI access token from Pushwoosh Control Panel.
campaign*stringCampaign ID.
datefrom*stringDate and time, start of the reporting period. Formatted date: Y-m-d H:i:s
dateto*stringDate and time, end of the reporting period. Formatted date: Y-m-d H:i:s
{
"status_code": 200,
"status_message": "OK",
"response": {
"request_id": "a3ef436445abfdef6255cc2f65ce7614"
}
}
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required. API access token from Pushwoosh Control Panel
"campaign": "XXXXX-XXXXX", // required. Campaign ID
"datefrom": "Y-m-d H:i:s", // required. Date and time, start of the reporting period
"dateto": "Y-m-d H:i:s" // required. Date and time, end of the reporting period
}
}

/getResults response:

Example
{
"status_code": 200,
"status_message": "OK",
"response": {
"formatter": "hourly",
"rows": [{
"count": 0,
"action": "open",
"datetime": "2024-05-09 00:00:00",
"platformid": 14
}, {
"count": 0,
"action": "send",
"datetime": "2024-05-09 00:00:00",
"platformid": 14
}, {
"count": 0,
"action": "send",
"datetime": "2024-05-11 00:00:00",
"platformid": 14
}],
// conversion (if goal tracking is allowed)
"conversion": {
"send": 10,
"open": 5,
"events": [{
"uid": 1,
"event": "event name",
"hits": 5,
"conversion": "100%",
"revenue": 15.34
}]
}
}
}

getEventStatistics

Retrieves the number of times the Event was triggered during the specified period.

POST https://cp.pushwoosh.com/json/1.3/getEventStatistics

Request Body

NameTypeDescription
auth*stringAPI access token from Pushwoosh Control Panel
application*stringPushwoosh application code
event*stringEvent name exactly as created in Pushwoosh Control Panel
date_from*stringStart of the period to get stats for
date_to*stringEnd of the period to get stats for
attributesarrayAn array of the Event attributes
{
"status_code": 200,
"status_message": "OK",
"response": {
"request_id": "DC1_bc63f00c736696d75cea17aa6855ba19"
}
}
{
"request": {
"auth":"yxoPUlwqm…………pIyEX4H", // required. API access token from Pushwoosh Control Panel
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"event": "Event name", // required. The name of Event exactly as created in Pushwoosh Control Panel
"date_from": "2024-09-12", // required. Start of the reporting period
"date_to": "2024-09-12", // required. End of the reporting period
"attributes": [{ // optional.
"name": "attributeName",
"operator": "EQ",
"values": ["val"]
}]
}
}

Response body:

FieldTypeDescription
request_idstringScheduled request Id. Please check/getResults method for more information

Scheduled (/getResults) response:

Example
{
"status_code": 200,
"status_message": "OK",
"response": [{
"date": "2024-09-12 00:00",
"count": 12
}, {
"date": "2024-09-12 01:00",
"count": 2
}, {
"date": "2024-09-12 02:00",
"count": 4
}, {
"date": "2024-09-12 03:00",
"count": 8
}, {
"date": "2024-09-12 04:00",
"count": 9
}, {
"date": "2024-09-12 05:00",
"count": 2
}, {
"date": "2024-09-12 06:00",
"count": 0
}, {
"date": "2024-09-12 07:00",
"count": 0
}, {
"date": "2024-09-12 08:00",
"count": 0
}, {
"date": "2024-09-12 09:00",
"count": 0
}, {
"date": "2024-09-12 10:00",
"count": 0
}, {
"date": "2024-09-12 11:00",
"count": 0
}, {
"date": "2024-09-12 12:00",
"count": 0
}, {
"date": "2024-09-12 13:00",
"count": 0
}, {
"date": "2024-09-12 14:00",
"count": 0
}, {
"date": "2024-09-12 15:00",
"count": 0
}, {
"date": "2024-09-12 16:00",
"count": 0
}, {
"date": "2024-09-12 17:00",
"count": 0
}, {
"date": "2024-09-12 18:00",
"count": 0
}, {
"date": "2024-09-12 19:00",
"count": 0
}, {
"date": "2024-09-12 20:00",
"count": 0
}, {
"date": "2024-09-12 21:00",
"count": 0
}, {
"date": "2024-09-12 22:00",
"count": 0
}, {
"date": "2024-09-12 23:00",
"count": 0
}]
}

getTagStats

Retrieve statistics for the specified Tag.

POST https://go.pushwoosh.com/json/1.3/getTagStats

Request Body

NameTypeDescription
auth*stringAPI access token from Pushwoosh Control Panel.
tag*stringTag name.
applicationsarrayList of applications. Specify only when the tag is application-specific.
{
"status_code": 200,
"status_message": "OK",
"response": {
"request_id": "2702dd59b826e4a23b2f1af24de53108" // request_id for /getResults method
}
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // required, API access token from Pushwoosh Control Panel
"tag": "TAG_NAME", // required. Tag name exactly as in Pushwoosh Control Panel
"applications": [ // optional. Specify only when the tag is app specific.
"APPLICATION_1",
"APPLICATION_2",
"APPLICATION_3"
]
}
}

/getResults response:

{
"status_code": 200,
"status_message": "OK",
"response": {
"fileName": "DIRECT_FILE_URL.csv" // direct link to the csv file
}
}

Received file is a CSV file with a semicolon ”;” separator.

CSV file content example:

13C2B-72C62;ua_settingpushbod;3
13C2B-72C62;ua_settingpushhealth;3
13C2B-72C62;ua_settingpushstrength;3
13C2B-72C62;ua_settingpushupdate;2

getSubscribersStatistics

Retrieves app subscribers stats for a time period.

POST https://api.pushwoosh.com/api/v2/statistics/application/getSubscribersStatistics

Retrieves app subscribers stats for a time period.

Headers

NameTypeDescription
Authorization*stringAPI access token in the following format: Key PKX…NHg
Content-Type*stringapplication/json

Request Body

NameTypeDescription
application_code*stringPushwoosh app code
timestamp_from*stringTimestamp of the stats period start date (YYYY-MM-DD hh:mm:ss, UTC+0)
timestamp_to*stringTimestamp of the stats period end date (YYYY-MM-DD hh:mm:ss, UTC+0)

Example request

Terminal window
curl --location --request POST 'https://go.pushwoosh.com/api/v2/statistics/application/getSubscribersStatistics' \
--header 'Authorization: Key 3a2X......828JreCk48f' \
--header 'Content-Type: application/json' \
--data-raw '{
"application_code": "12345-67890", // Pushwoosh app code
"timestamp_from": "2022-08-01 00:00:00", // UTC+0
"timestamp_to": "2022-09-01 00:00:00" // UTC+0
}'
Example response
{
"statistics": [{
"timestamp": "YYYY-MM-DD hh:mm:ss", // UTC+0
"platform": 1,
"push_enabled": 100,
"push_disabled": 100
}]
}
{
"statistics": [{
"timestamp": "YYYY-MM-DD hh:mm:ss",
"platform": 1,
"push_enabled": 100,
"push_disabled": 100
}]
}

Explanation: The request was successful, and the statistics are returned.

Period in your requestInterval in response
Over 1 year1 year
1 year1 month
1 month - 1 yearEvery day
Less than a monthEvery hour