Push tracking
As soon as the Push Tracking functionality is enabled, each notification that you send for specific devices returns the unique tracking codes in the response:
{ "status_code": 200, "status_message": "OK", "response": { "Messages": [ "CODE_NOT_AVAILABLE" ], "TrackingCodes":[ "TRACKING_CODE_1" ] }}
Later you may use the getTrackingLog
API method in order to get the tracking logs of notifications:
Method https://api.pushwoosh.com/json/1.3/getTrackingLog
{ "request":{ "auth":"API TOKEN", "date":"2017-01-02" // optional. Date for which tracking log is required }}
Response:
{ "status_code": 200, "status_message": "OK", "response": { "request_id":"2702dd59b826e4a23b2f1af24de53108" // request_id for getResults method }}
Then use the /getResults
method: https://api.pushwoosh.com/json/1.3/getResults
{ "request":{ "auth":"API_ACCESS_TOKEN", "request_id":"2702dd59b826e4a23b2f1af24de53108" }}
In the results you will get the tracking log link:
{ "status_code":200, "status_message":"OK", "response":{ "fileName":"https://static.pushwoosh.com/tracking_log_link.zip" // direct link to zip file }}
In the ZIP file you will find the CSV list (example below):
//timestamp;tracking_code;target_id;hwid;status;description;appCode;payload"2021-04-20 13:01:01";T-D6C2-ABC2228F-C9C305A9;09913CFD-74AD-4A8C-B06E-CCA51200ADDC;09913CFD-74AD-4A8C-B06E-CCA51200ADDC;delivered;Success;C90C0-0E786;"{""aps"":{""alert"":""text"",""badge"":0,""sound"":""""},""md"":{""uid"":11793546856,""user_id"":""09913CFD-74AD-4A8C-B06E-CCA51200ADDC""},""p"":""Zh"",""pw_msg"":""1""}"
Where:
- timestamp - time of the specified event
- tracking_code - tracking code generated for a given message
- target_id - device identifier (hwid/pushtoken) that was used for device specifying
- hwid - hardware id
- status - notification status: created, sent, delivered (notification gateway reported that notification was passed for the further delivery), failed (sending was unsuccessful), opened.
- description - additional info
- appCode - code of the app the push was sent to
- payload - push content and settings