@pushwoosh/rpc-v2-http-api-data 0.2.306 → 0.2.308

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ import { RpcMethod } from './commonTypes';
2
2
  export type ApplicationsStatisticsService_GetUsersStatistics = RpcMethod<GetUsersStatisticsRequest, GetUsersStatisticsResponse>;
3
3
  export type ApplicationsStatisticsService_GetMAUStatistics = RpcMethod<GetMAUStatisticsRequest, GetMAUStatisticsResponse>;
4
4
  export type ApplicationsStatisticsService_GetDAUStatistics = RpcMethod<GetDAUStatisticsRequest, GetDAUStatisticsResponse>;
5
+ export type ApplicationsStatisticsService_GetProjectsBreakdown = RpcMethod<GetProjectsBreakdownRequest, GetProjectsBreakdownResponse>;
5
6
  export type ApplicationsStatisticsService_GetPushApplicationStatistics = RpcMethod<GetPushApplicationStatisticsRequest, GetPushApplicationStatisticsResponse>;
6
7
  export type ApplicationsStatisticsService_GetEmailApplicationStatistics = RpcMethod<GetEmailApplicationStatisticsRequest, GetEmailApplicationStatisticsResponse>;
7
8
  export type ApplicationsStatisticsService_GetEmailCategoryPerformance = RpcMethod<GetEmailCategoryPerformanceRequest, GetEmailCategoryPerformanceResponse>;
@@ -12,6 +13,8 @@ export interface ApplicationsStatisticsService {
12
13
  GetMAUStatistics: ApplicationsStatisticsService_GetMAUStatistics;
13
14
  /** Returns the daily active users (DAU) time series for an application (application code XXXXX-XXXXX). Use for daily engagement; use get_application_mau_statistics for monthly active users. */
14
15
  GetDAUStatistics: ApplicationsStatisticsService_GetDAUStatistics;
16
+ /** Returns one row per project (sends, opens, installs, subscriptions) over a period, for every project the caller may see or for the listed ones. Use for the cross-project report; use the per-application methods for one project's charts. */
17
+ GetProjectsBreakdown: ApplicationsStatisticsService_GetProjectsBreakdown;
15
18
  /** Returns per-platform push time series (total devices, sends, open rate) for an application (application code XXXXX-XXXXX). Use for the push channel dashboard; use get_application_email_statistics for the email channel. */
16
19
  GetPushApplicationStatistics: ApplicationsStatisticsService_GetPushApplicationStatistics;
17
20
  /** Returns per-platform email time series (total devices, sends, open rate) for an application (application code XXXXX-XXXXX). Use for the email channel dashboard; use get_application_push_statistics for the push channel. */
@@ -120,3 +123,41 @@ export type GetEmailCategoryPerformanceResponse = {
120
123
  /** Window actually read */
121
124
  windowTo: Date;
122
125
  };
126
+ export type GetProjectsBreakdownRequest = {
127
+ /** First day of the period (inclusive). */
128
+ dateFrom?: Date;
129
+ /** Last day of the period (inclusive). */
130
+ dateTo?: Date;
131
+ /** Application codes (format XXXXX-XXXXX); empty means every project the caller may see. */
132
+ applications?: string[];
133
+ };
134
+ export type ProjectBreakdownRow = {
135
+ /** Application code */
136
+ application: string;
137
+ /** Application title */
138
+ title: string;
139
+ /** Messages sent in the period */
140
+ sends: number;
141
+ /** Message opens in the period */
142
+ opens: number;
143
+ /** Installs in the period */
144
+ installs: number;
145
+ /** Subscriptions in the period */
146
+ subscriptions: number;
147
+ };
148
+ /**
149
+ * Column sums over the rows. installs_sum and subscriptions_sum are NOT unique people:
150
+ * a user active in two projects is counted by each of them.
151
+ */
152
+ export type ProjectBreakdownTotals = {
153
+ sends: number;
154
+ opens: number;
155
+ installsSum: number;
156
+ subscriptionsSum: number;
157
+ };
158
+ export type GetProjectsBreakdownResponse = {
159
+ /** One row per project, sorted by title */
160
+ projects: ProjectBreakdownRow[];
161
+ /** Column sums; audience columns overlap between projects */
162
+ totals: ProjectBreakdownTotals;
163
+ };
package/data.js CHANGED
@@ -7600,6 +7600,12 @@ export const data = {
7600
7600
  "method": "post",
7601
7601
  "path": "/api/v2/statistics/messages/getDAUStatistics"
7602
7602
  },
7603
+ "GetProjectsBreakdown": {
7604
+ "request": "pushwoosh.rpc_v2.applications_statistics.GetProjectsBreakdownRequest",
7605
+ "response": "pushwoosh.rpc_v2.applications_statistics.GetProjectsBreakdownResponse",
7606
+ "method": "post",
7607
+ "path": "/api/v2/statistics/projects/breakdown"
7608
+ },
7603
7609
  "GetPushApplicationStatistics": {
7604
7610
  "request": "pushwoosh.rpc_v2.applications_statistics.GetPushApplicationStatisticsRequest",
7605
7611
  "response": "pushwoosh.rpc_v2.applications_statistics.GetPushApplicationStatisticsResponse",
@@ -7824,6 +7830,73 @@ export const data = {
7824
7830
  }
7825
7831
  }
7826
7832
  },
7833
+ "pushwoosh.rpc_v2.applications_statistics.GetProjectsBreakdownRequest": {
7834
+ "type": "I",
7835
+ "fields": {
7836
+ "dateFrom": {
7837
+ "type": "Date"
7838
+ },
7839
+ "dateTo": {
7840
+ "type": "Date"
7841
+ },
7842
+ "applications": {
7843
+ "type": "string",
7844
+ "array": true
7845
+ }
7846
+ }
7847
+ },
7848
+ "pushwoosh.rpc_v2.applications_statistics.ProjectBreakdownRow": {
7849
+ "type": "I",
7850
+ "fields": {
7851
+ "application": {
7852
+ "type": "string"
7853
+ },
7854
+ "title": {
7855
+ "type": "string"
7856
+ },
7857
+ "sends": {
7858
+ "type": "number"
7859
+ },
7860
+ "opens": {
7861
+ "type": "number"
7862
+ },
7863
+ "installs": {
7864
+ "type": "number"
7865
+ },
7866
+ "subscriptions": {
7867
+ "type": "number"
7868
+ }
7869
+ }
7870
+ },
7871
+ "pushwoosh.rpc_v2.applications_statistics.ProjectBreakdownTotals": {
7872
+ "type": "I",
7873
+ "fields": {
7874
+ "sends": {
7875
+ "type": "number"
7876
+ },
7877
+ "opens": {
7878
+ "type": "number"
7879
+ },
7880
+ "installsSum": {
7881
+ "type": "number"
7882
+ },
7883
+ "subscriptionsSum": {
7884
+ "type": "number"
7885
+ }
7886
+ }
7887
+ },
7888
+ "pushwoosh.rpc_v2.applications_statistics.GetProjectsBreakdownResponse": {
7889
+ "type": "I",
7890
+ "fields": {
7891
+ "projects": {
7892
+ "type": "pushwoosh.rpc_v2.applications_statistics.ProjectBreakdownRow",
7893
+ "array": true
7894
+ },
7895
+ "totals": {
7896
+ "type": "pushwoosh.rpc_v2.applications_statistics.ProjectBreakdownTotals"
7897
+ }
7898
+ }
7899
+ },
7827
7900
  "pushwoosh.rpc_v2.approvals.ApprovalsService": {
7828
7901
  "type": "S",
7829
7902
  "key": "approvals",
@@ -10420,6 +10493,12 @@ export const data = {
10420
10493
  "response": "pushwoosh.rpc_v2.data_erasure.ListDataErasureTaskRowsResponse",
10421
10494
  "method": "get",
10422
10495
  "path": "/api/data_erasure/tasks/{task_id}/rows"
10496
+ },
10497
+ "GetTaskReport": {
10498
+ "request": "pushwoosh.rpc_v2.data_erasure.GetDataErasureTaskReportRequest",
10499
+ "response": "pushwoosh.rpc_v2.data_erasure.GetDataErasureTaskReportResponse",
10500
+ "method": "get",
10501
+ "path": "/api/data_erasure/tasks/{task_id}/report"
10423
10502
  }
10424
10503
  }
10425
10504
  },
@@ -10591,6 +10670,28 @@ export const data = {
10591
10670
  }
10592
10671
  }
10593
10672
  },
10673
+ "pushwoosh.rpc_v2.data_erasure.GetDataErasureTaskReportRequest": {
10674
+ "type": "I",
10675
+ "fields": {
10676
+ "taskId": {
10677
+ "type": "number"
10678
+ }
10679
+ }
10680
+ },
10681
+ "pushwoosh.rpc_v2.data_erasure.GetDataErasureTaskReportResponse": {
10682
+ "type": "I",
10683
+ "fields": {
10684
+ "filename": {
10685
+ "type": "string"
10686
+ },
10687
+ "contentType": {
10688
+ "type": "string"
10689
+ },
10690
+ "content": {
10691
+ "type": "string"
10692
+ }
10693
+ }
10694
+ },
10594
10695
  "pushwoosh.rpc_v2.data_erasure.DataErasureTaskRow": {
10595
10696
  "type": "I",
10596
10697
  "fields": {
package/data_erasure.d.ts CHANGED
@@ -3,6 +3,7 @@ export type DataErasureService_CreateTask = RpcMethod<CreateDataErasureTaskReque
3
3
  export type DataErasureService_GetTask = RpcMethod<GetDataErasureTaskRequest, GetDataErasureTaskResponse>;
4
4
  export type DataErasureService_ListTasks = RpcMethod<ListDataErasureTasksRequest, ListDataErasureTasksResponse>;
5
5
  export type DataErasureService_ListTaskRows = RpcMethod<ListDataErasureTaskRowsRequest, ListDataErasureTaskRowsResponse>;
6
+ export type DataErasureService_GetTaskReport = RpcMethod<GetDataErasureTaskReportRequest, GetDataErasureTaskReportResponse>;
6
7
  /**
7
8
  * DataErasureService is the self-serve door to erasing the personal data of an end
8
9
  * user (GDPR). The erase itself runs as a background task; these methods start it,
@@ -17,6 +18,8 @@ export interface DataErasureService {
17
18
  ListTasks: DataErasureService_ListTasks;
18
19
  /** Returns the per-identifier outcome of one task: what was deleted, not found, skipped or failed. Identifiers are reported as hashes, the task never stores them in the clear. */
19
20
  ListTaskRows: DataErasureService_ListTaskRows;
21
+ /** Returns the whole report of one task as a CSV file: a row per identifier per application with its outcome. Use it to keep the evidence of an erasure outside Pushwoosh; list_data_erasure_task_rows shows the same rows page by page. */
22
+ GetTaskReport: DataErasureService_GetTaskReport;
20
23
  }
21
24
  /** How the subjects of an erasure request are addressed. */
22
25
  export type SubjectIdentifierType = 'SUBJECT_IDENTIFIER_UNKNOWN' | 'SUBJECT_IDENTIFIER_USER_ID' | 'SUBJECT_IDENTIFIER_HWID' | 'SUBJECT_IDENTIFIER_EMAIL';
@@ -78,6 +81,19 @@ export type DataErasureTask = {
78
81
  startedAt: Date;
79
82
  finishedAt: Date;
80
83
  };
84
+ export type GetDataErasureTaskReportRequest = {
85
+ taskId?: number;
86
+ };
87
+ export type GetDataErasureTaskReportResponse = {
88
+ /** Suggested file name, e.g. data-erasure-task-42.csv. */
89
+ filename: string;
90
+ contentType: string;
91
+ /**
92
+ * The file itself, base64 over http; the render refuses a report whose encoded
93
+ * body would pass maxResponseBodyBytes.
94
+ */
95
+ content: string;
96
+ };
81
97
  export type DataErasureTaskRow = {
82
98
  /** sha256 of the identifier: the journal of an erasure must not hold personal data. */
83
99
  identifierHash: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushwoosh/rpc-v2-http-api-data",
3
- "version": "0.2.306",
3
+ "version": "0.2.308",
4
4
  "description": "RPC V2 HTTP API Types and Data",
5
5
  "main": "index.js",
6
6
  "module": "index.js",