Statistics API v1
getMsgStats (deprecated)
Retrieve stats for a specific message.
POST
https://go.pushwoosh.com/json/1.3/getMsgStats
Request Body
Name | Type | Description |
---|---|---|
auth* | string | API access token from Pushwoosh Control Panel. |
message* | string | Message code obtained in /createMessage request. |
{ "status_code": 200, "status_message": "OK", "response": { "request_id": "b3337d8ec78f67280a40a5b89050c0c0" }}
{ "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:
Field | Type | Description |
---|---|---|
request_id | string | Scheduled request Id. Please check/getResults method for more information |
Scheduled (/getResults) response:
{ "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
Name | Type | Description |
---|---|---|
auth* | string | API access token from Pushwoosh Control Panel. |
message* | string | Message code obtained in /createMessage request. |
platforms | array | List of platform types, array of integers. See /registerDevice for the complete list. |
{ "status_code": 200, "status_message": "OK", "response": { "request_id": "287870092dc23175af5dc48ba1dc7f3c" }}
{ "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:
Field | Type | Description |
---|---|---|
request_id | string | Scheduled request Id. Please check/getResults method for more information |
Scheduled (/getResults) response:
{ "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
Name | Type | Description |
---|---|---|
auth* | string | API access token from Pushwoosh Control Panel. |
application* | string | Pushwoosh application code. |
{ "status_code": 200, "status_message": "OK", "response": { "IOS": 1, "ANDROID": 1, "OSX": 0, "WINDOWS": 0, "AMAZON": 0, "SAFARI": 0, "FIREFOX": 0 }}
{ "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
Name | Type | Description |
---|---|---|
auth* | string | API access token from Pushwoosh Control Panel. |
application* | string | Pushwoosh application code. |
datefrom* | string | Date and time, start of the reporting period. Formatted dare: Y-m-d H:i:s |
dateto* | string | Date 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" }}
{ "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:
Field | Type | Description |
---|---|---|
formatter | string | report scale: yearly, monthly, daily, hourly, minutely |
rows | list | report rows |
Each of the report rows is a dictionary:
Field | Type | Description |
---|---|---|
count | int | registered actions count |
action | string | registered action |
datetime | string | Formatted date: Y-m-d H:i:s |
Response body:
Field | Type | Description |
---|---|---|
request_id | string | Scheduled request ID. Please check /getResults method for more information. |
Scheduled (/getResults) response body:
Field | Type | Description |
---|---|---|
applications | dictionary | statistics for applications |
devices | dictionary | statistics for devices |
messages | dictionary | statistics for messages |
{ "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
Name | Type | Description |
---|---|---|
auth* | string | API access token from Pushwoosh Control Panel. |
campaign* | string | Campaign ID. |
datefrom* | string | Date and time, start of the reporting period. Formatted date: Y-m-d H:i:s |
dateto* | string | Date 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:
{ "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
Name | Type | Description |
---|---|---|
auth* | string | API access token from Pushwoosh Control Panel |
application* | string | Pushwoosh application code |
event* | string | Event name exactly as created in Pushwoosh Control Panel |
date_from* | string | Start of the period to get stats for |
date_to* | string | End of the period to get stats for |
attributes | array | An 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:
Field | Type | Description |
---|---|---|
request_id | string | Scheduled request Id. Please check/getResults method for more information |
Scheduled (/getResults) response:
{ "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
Name | Type | Description |
---|---|---|
auth* | string | API access token from Pushwoosh Control Panel. |
tag* | string | Tag name. |
applications | array | List 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 }}
{ "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;313C2B-72C62;ua_settingpushhealth;313C2B-72C62;ua_settingpushstrength;313C2B-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
Name | Type | Description |
---|---|---|
Authorization* | string | API access token in the following format: Key PKX…NHg |
Content-Type* | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
application_code* | string | Pushwoosh app code |
timestamp_from* | string | Timestamp of the stats period start date (YYYY-MM-DD hh:mm:ss, UTC+0) |
timestamp_to* | string | Timestamp of the stats period end date (YYYY-MM-DD hh:mm:ss, UTC+0) |
Example request
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}'
{ "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.
{ // Response}
Explanation: The request had invalid syntax or parameters.
{ // Response}
Explanation: The server encountered an error. Try again later.
{ // Response}
Explanation: Authentication failed. Check your API key or token.
{ // Response}
Explanation: Access denied for the specified app code.
{ // Response}
Explanation: The app code was not found or doesn’t exist.
Period in your request | Interval in response |
---|---|
Over 1 year | 1 year |
1 year | 1 month |
1 month - 1 year | Every day |
Less than a month | Every hour |