@pushwoosh/rpc-gateway-statistics-api 1.3.726 → 1.3.727
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.
package/data.js
CHANGED
|
@@ -2019,7 +2019,8 @@ export const data = {
|
|
|
2019
2019
|
"TAG_VALUES",
|
|
2020
2020
|
"CAMPAIGNS",
|
|
2021
2021
|
"MESSAGES",
|
|
2022
|
-
"JOURNEYS"
|
|
2022
|
+
"JOURNEYS",
|
|
2023
|
+
"SEGMENTS"
|
|
2023
2024
|
]
|
|
2024
2025
|
},
|
|
2025
2026
|
"pushwoosh.statistics.statistics.v2.dashboards.MathOperator": {
|
|
@@ -2294,6 +2295,10 @@ export const data = {
|
|
|
2294
2295
|
"metrics": {
|
|
2295
2296
|
"type": "pushwoosh.statistics.statistics.v2.dashboards.GetLinearChartMetricsResponse.Metric",
|
|
2296
2297
|
"array": true
|
|
2298
|
+
},
|
|
2299
|
+
"notPreparedSegments": {
|
|
2300
|
+
"type": "string",
|
|
2301
|
+
"array": true
|
|
2297
2302
|
}
|
|
2298
2303
|
}
|
|
2299
2304
|
},
|
|
@@ -2337,6 +2342,10 @@ export const data = {
|
|
|
2337
2342
|
"metrics": {
|
|
2338
2343
|
"type": "pushwoosh.statistics.statistics.v2.dashboards.GetTotalsChartMetricsResponse.Metric",
|
|
2339
2344
|
"array": true
|
|
2345
|
+
},
|
|
2346
|
+
"notPreparedSegments": {
|
|
2347
|
+
"type": "string",
|
|
2348
|
+
"array": true
|
|
2340
2349
|
}
|
|
2341
2350
|
}
|
|
2342
2351
|
},
|
|
@@ -3263,6 +3272,12 @@ export const data = {
|
|
|
3263
3272
|
"method": "post",
|
|
3264
3273
|
"path": "/api/v2/statistics/messages/getDeliveryFunnel"
|
|
3265
3274
|
},
|
|
3275
|
+
"GetMessageDeliveryTimeline": {
|
|
3276
|
+
"request": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineRequest",
|
|
3277
|
+
"response": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse",
|
|
3278
|
+
"method": "post",
|
|
3279
|
+
"path": "/api/v2/statistics/messages/getDeliveryTimeline"
|
|
3280
|
+
},
|
|
3266
3281
|
"GetActiveAudience": {
|
|
3267
3282
|
"request": "pushwoosh.statistics.statistics.v2.statistics.GetActiveAudienceRequest",
|
|
3268
3283
|
"response": "pushwoosh.statistics.statistics.v2.statistics.GetActiveAudienceResponse",
|
|
@@ -4044,9 +4059,6 @@ export const data = {
|
|
|
4044
4059
|
"platforms": {
|
|
4045
4060
|
"type": "number",
|
|
4046
4061
|
"array": true
|
|
4047
|
-
},
|
|
4048
|
-
"interval": {
|
|
4049
|
-
"type": "pushwoosh.statistics.types.TimeInterval"
|
|
4050
4062
|
}
|
|
4051
4063
|
}
|
|
4052
4064
|
},
|
|
@@ -4096,39 +4108,31 @@ export const data = {
|
|
|
4096
4108
|
"BASIC_FORM_REASON_NO_DELIVERIES"
|
|
4097
4109
|
]
|
|
4098
4110
|
},
|
|
4099
|
-
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.
|
|
4111
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.PlatformCount": {
|
|
4100
4112
|
"type": "I",
|
|
4101
4113
|
"fields": {
|
|
4102
|
-
"
|
|
4103
|
-
"type": "
|
|
4104
|
-
},
|
|
4105
|
-
"category": {
|
|
4106
|
-
"type": "string"
|
|
4114
|
+
"platform": {
|
|
4115
|
+
"type": "number"
|
|
4107
4116
|
},
|
|
4108
4117
|
"count": {
|
|
4109
4118
|
"type": "number"
|
|
4110
4119
|
}
|
|
4111
4120
|
}
|
|
4112
4121
|
},
|
|
4113
|
-
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.
|
|
4122
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.Piece": {
|
|
4114
4123
|
"type": "I",
|
|
4115
4124
|
"fields": {
|
|
4116
|
-
"
|
|
4117
|
-
"type": "
|
|
4125
|
+
"kind": {
|
|
4126
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.Kind"
|
|
4127
|
+
},
|
|
4128
|
+
"category": {
|
|
4129
|
+
"type": "string"
|
|
4118
4130
|
},
|
|
4119
4131
|
"count": {
|
|
4120
4132
|
"type": "number"
|
|
4121
|
-
}
|
|
4122
|
-
}
|
|
4123
|
-
},
|
|
4124
|
-
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.Series": {
|
|
4125
|
-
"type": "I",
|
|
4126
|
-
"fields": {
|
|
4127
|
-
"platform": {
|
|
4128
|
-
"type": "number"
|
|
4129
4133
|
},
|
|
4130
|
-
"
|
|
4131
|
-
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.
|
|
4134
|
+
"platforms": {
|
|
4135
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.PlatformCount",
|
|
4132
4136
|
"array": true
|
|
4133
4137
|
}
|
|
4134
4138
|
}
|
|
@@ -4139,14 +4143,11 @@ export const data = {
|
|
|
4139
4143
|
"category": {
|
|
4140
4144
|
"type": "string"
|
|
4141
4145
|
},
|
|
4142
|
-
"platform": {
|
|
4143
|
-
"type": "number"
|
|
4144
|
-
},
|
|
4145
4146
|
"count": {
|
|
4146
4147
|
"type": "number"
|
|
4147
4148
|
},
|
|
4148
|
-
"
|
|
4149
|
-
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.
|
|
4149
|
+
"platforms": {
|
|
4150
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.PlatformCount",
|
|
4150
4151
|
"array": true
|
|
4151
4152
|
}
|
|
4152
4153
|
}
|
|
@@ -4168,8 +4169,20 @@ export const data = {
|
|
|
4168
4169
|
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.ErrorRow",
|
|
4169
4170
|
"array": true
|
|
4170
4171
|
},
|
|
4171
|
-
"
|
|
4172
|
-
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.
|
|
4172
|
+
"platforms": {
|
|
4173
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.PlatformCount",
|
|
4174
|
+
"array": true
|
|
4175
|
+
}
|
|
4176
|
+
}
|
|
4177
|
+
},
|
|
4178
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.ConfirmedDeliveries": {
|
|
4179
|
+
"type": "I",
|
|
4180
|
+
"fields": {
|
|
4181
|
+
"count": {
|
|
4182
|
+
"type": "number"
|
|
4183
|
+
},
|
|
4184
|
+
"platforms": {
|
|
4185
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.PlatformCount",
|
|
4173
4186
|
"array": true
|
|
4174
4187
|
}
|
|
4175
4188
|
}
|
|
@@ -4196,11 +4209,106 @@ export const data = {
|
|
|
4196
4209
|
"basicFormReason": {
|
|
4197
4210
|
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.BasicFormReason"
|
|
4198
4211
|
},
|
|
4199
|
-
"
|
|
4212
|
+
"confirmedDeliveries": {
|
|
4213
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.ConfirmedDeliveries"
|
|
4214
|
+
}
|
|
4215
|
+
}
|
|
4216
|
+
},
|
|
4217
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineRequest": {
|
|
4218
|
+
"type": "I",
|
|
4219
|
+
"fields": {
|
|
4220
|
+
"messageCode": {
|
|
4221
|
+
"type": "string"
|
|
4222
|
+
},
|
|
4223
|
+
"platforms": {
|
|
4224
|
+
"type": "number",
|
|
4225
|
+
"array": true
|
|
4226
|
+
},
|
|
4227
|
+
"interval": {
|
|
4228
|
+
"type": "pushwoosh.statistics.types.TimeInterval"
|
|
4229
|
+
},
|
|
4230
|
+
"from": {
|
|
4231
|
+
"type": "Date"
|
|
4232
|
+
},
|
|
4233
|
+
"to": {
|
|
4234
|
+
"type": "Date"
|
|
4235
|
+
}
|
|
4236
|
+
}
|
|
4237
|
+
},
|
|
4238
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.Metric": {
|
|
4239
|
+
"type": "E",
|
|
4240
|
+
"values": [
|
|
4241
|
+
"METRIC_UNSPECIFIED",
|
|
4242
|
+
"METRIC_AUDIENCE",
|
|
4243
|
+
"METRIC_SENT",
|
|
4244
|
+
"METRIC_ERRORS",
|
|
4245
|
+
"METRIC_CONFIRMED_DELIVERIES",
|
|
4246
|
+
"METRIC_OPENED"
|
|
4247
|
+
]
|
|
4248
|
+
},
|
|
4249
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.Point": {
|
|
4250
|
+
"type": "I",
|
|
4251
|
+
"fields": {
|
|
4252
|
+
"bucket": {
|
|
4253
|
+
"type": "Date"
|
|
4254
|
+
},
|
|
4255
|
+
"count": {
|
|
4256
|
+
"type": "number"
|
|
4257
|
+
}
|
|
4258
|
+
}
|
|
4259
|
+
},
|
|
4260
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.PlatformSeries": {
|
|
4261
|
+
"type": "I",
|
|
4262
|
+
"fields": {
|
|
4263
|
+
"platform": {
|
|
4264
|
+
"type": "number"
|
|
4265
|
+
},
|
|
4266
|
+
"count": {
|
|
4267
|
+
"type": "number"
|
|
4268
|
+
},
|
|
4269
|
+
"points": {
|
|
4270
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.Point",
|
|
4271
|
+
"array": true
|
|
4272
|
+
}
|
|
4273
|
+
}
|
|
4274
|
+
},
|
|
4275
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.MetricSeries": {
|
|
4276
|
+
"type": "I",
|
|
4277
|
+
"fields": {
|
|
4278
|
+
"metric": {
|
|
4279
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.Metric"
|
|
4280
|
+
},
|
|
4281
|
+
"count": {
|
|
4200
4282
|
"type": "number"
|
|
4201
4283
|
},
|
|
4284
|
+
"platforms": {
|
|
4285
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.PlatformSeries",
|
|
4286
|
+
"array": true
|
|
4287
|
+
}
|
|
4288
|
+
}
|
|
4289
|
+
},
|
|
4290
|
+
"pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse": {
|
|
4291
|
+
"type": "I",
|
|
4292
|
+
"fields": {
|
|
4293
|
+
"series": {
|
|
4294
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.MetricSeries",
|
|
4295
|
+
"array": true
|
|
4296
|
+
},
|
|
4297
|
+
"windowFrom": {
|
|
4298
|
+
"type": "Date"
|
|
4299
|
+
},
|
|
4300
|
+
"windowTo": {
|
|
4301
|
+
"type": "Date"
|
|
4302
|
+
},
|
|
4303
|
+
"funnelState": {
|
|
4304
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryFunnelResponse.FunnelState"
|
|
4305
|
+
},
|
|
4202
4306
|
"interval": {
|
|
4203
4307
|
"type": "pushwoosh.statistics.types.TimeInterval"
|
|
4308
|
+
},
|
|
4309
|
+
"eventAxisMetrics": {
|
|
4310
|
+
"type": "pushwoosh.statistics.statistics.v2.statistics.GetMessageDeliveryTimelineResponse.Metric",
|
|
4311
|
+
"array": true
|
|
4204
4312
|
}
|
|
4205
4313
|
}
|
|
4206
4314
|
},
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ export interface DashboardsService {
|
|
|
11
11
|
/** GetFunnel returns funnel data based on provided parameters */
|
|
12
12
|
GetFunnel: DashboardsService_GetFunnel;
|
|
13
13
|
}
|
|
14
|
-
export type Breakdown = 'BREAKDOWN_UNKNOWN' | 'PLATFORMS' | 'EVENT_ATTRIBUTE' | 'TAG_VALUES' | 'CAMPAIGNS' | 'MESSAGES' | 'JOURNEYS';
|
|
14
|
+
export type Breakdown = 'BREAKDOWN_UNKNOWN' | 'PLATFORMS' | 'EVENT_ATTRIBUTE' | 'TAG_VALUES' | 'CAMPAIGNS' | 'MESSAGES' | 'JOURNEYS' | 'SEGMENTS';
|
|
15
15
|
export type MathOperator = 'MATH_OPERATOR_UNSPECIFIED' | 'EQ' | 'NOT_EQ' | 'GTE' | 'LTE' | 'BETWEEN' | 'IN' | 'NOT_IN' | 'ANY' | 'NOT_SET';
|
|
16
16
|
export type EventCalcType = 'EVENT_CALC_TYPE_ALL' | 'EVENT_CALC_TYPE_UNIQUE';
|
|
17
17
|
export type Value_kind_string = {
|
|
@@ -114,6 +114,11 @@ export type GetLinearChartMetricsResponse_Metric = {
|
|
|
114
114
|
export type GetLinearChartMetricsResponse = {
|
|
115
115
|
timestamps: Date[];
|
|
116
116
|
metrics: GetLinearChartMetricsResponse_Metric[];
|
|
117
|
+
/**
|
|
118
|
+
* codes of the requested segments whose snapshot is not prepared: their
|
|
119
|
+
* filtering was NOT applied to the returned metrics
|
|
120
|
+
*/
|
|
121
|
+
notPreparedSegments: string[];
|
|
117
122
|
};
|
|
118
123
|
export type GetTotalsChartMetricsRequest = {
|
|
119
124
|
params: ChartParams;
|
|
@@ -129,6 +134,11 @@ export type GetTotalsChartMetricsResponse_Metric = {
|
|
|
129
134
|
};
|
|
130
135
|
export type GetTotalsChartMetricsResponse = {
|
|
131
136
|
metrics: GetTotalsChartMetricsResponse_Metric[];
|
|
137
|
+
/**
|
|
138
|
+
* codes of the requested segments whose snapshot is not prepared: their
|
|
139
|
+
* filtering was NOT applied to the returned metrics
|
|
140
|
+
*/
|
|
141
|
+
notPreparedSegments: string[];
|
|
132
142
|
};
|
|
133
143
|
export type GetFunnelRequest = {
|
|
134
144
|
params: ChartParams;
|
|
@@ -12,6 +12,7 @@ export type StatisticsService_GetDAUStatistics = RpcMethod<GetDAUStatisticsReque
|
|
|
12
12
|
export type StatisticsService_GetPushApplicationStatistics = RpcMethod<GetPushApplicationStatisticsRequest, GetPushApplicationStatisticsResponse>;
|
|
13
13
|
export type StatisticsService_GetEmailApplicationStatistics = RpcMethod<GetEmailApplicationStatisticsRequest, GetEmailApplicationStatisticsResponse>;
|
|
14
14
|
export type StatisticsService_GetMessageDeliveryFunnel = RpcMethod<GetMessageDeliveryFunnelRequest, GetMessageDeliveryFunnelResponse>;
|
|
15
|
+
export type StatisticsService_GetMessageDeliveryTimeline = RpcMethod<GetMessageDeliveryTimelineRequest, GetMessageDeliveryTimelineResponse>;
|
|
15
16
|
export type StatisticsService_GetActiveAudience = RpcMethod<GetActiveAudienceRequest, GetActiveAudienceResponse>;
|
|
16
17
|
/** StatisticsService provides various statistics operations */
|
|
17
18
|
export interface StatisticsService {
|
|
@@ -38,12 +39,15 @@ export interface StatisticsService {
|
|
|
38
39
|
/** GetEmailApplicationStatistics returns email statistics (total devices, sends, open rate) with time series data */
|
|
39
40
|
GetEmailApplicationStatistics: StatisticsService_GetEmailApplicationStatistics;
|
|
40
41
|
/**
|
|
41
|
-
* GetMessageDeliveryFunnel returns
|
|
42
|
-
*
|
|
43
|
-
* audience is lost. Every stage equals the sum of its PASSED and REASON
|
|
44
|
-
* pieces; SUBSET pieces are not summands.
|
|
42
|
+
* GetMessageDeliveryFunnel returns one message's funnel: audience -> sent ->
|
|
43
|
+
* deliveries -> opened. A stage equals its PASSED and REASON pieces; SUBSET is not one.
|
|
45
44
|
*/
|
|
46
45
|
GetMessageDeliveryFunnel: StatisticsService_GetMessageDeliveryFunnel;
|
|
46
|
+
/**
|
|
47
|
+
* GetMessageDeliveryTimeline returns the same message's numbers over time: the funnel
|
|
48
|
+
* answers "how many", this answers "when".
|
|
49
|
+
*/
|
|
50
|
+
GetMessageDeliveryTimeline: StatisticsService_GetMessageDeliveryTimeline;
|
|
47
51
|
/** GetActiveAudience returns active users and active devices groped by application and platform */
|
|
48
52
|
GetActiveAudience: StatisticsService_GetActiveAudience;
|
|
49
53
|
}
|
|
@@ -516,27 +520,14 @@ export type GetEmailApplicationStatisticsResponse = {
|
|
|
516
520
|
interval: pushwoosh_statistics_types_TimeInterval;
|
|
517
521
|
};
|
|
518
522
|
/**
|
|
519
|
-
* GetMessageDeliveryFunnelRequest asks for
|
|
520
|
-
*
|
|
521
|
-
* There is deliberately no time range. Sends and delivery confirmations live on
|
|
522
|
-
* different time axes — a confirmation arrives hours or days after its send — so
|
|
523
|
-
* any client-chosen window cuts them in different places and breaks the
|
|
524
|
-
* DELIVERIES invariant. The server derives the window from the data.
|
|
523
|
+
* GetMessageDeliveryFunnelRequest asks for one message's funnel. No time range: sends
|
|
524
|
+
* and confirmations sit on different axes, and a client window breaks the arithmetic.
|
|
525
525
|
*/
|
|
526
526
|
export type GetMessageDeliveryFunnelRequest = {
|
|
527
527
|
/** Specific message code, required */
|
|
528
528
|
messageCode: string;
|
|
529
529
|
/** Optional platform ID filter */
|
|
530
530
|
platforms: number[];
|
|
531
|
-
/**
|
|
532
|
-
* Bucket width for the series. Unset lets the server pick it from the window
|
|
533
|
-
* the way every other time series here does: over a month -> day, over a day
|
|
534
|
-
* -> hour, else minute; a window of exactly a year buckets by month.
|
|
535
|
-
*
|
|
536
|
-
* Series are always returned — the screen this serves always draws the chart —
|
|
537
|
-
* so there is no flag to ask for them.
|
|
538
|
-
*/
|
|
539
|
-
interval: pushwoosh_statistics_types_TimeInterval;
|
|
540
531
|
};
|
|
541
532
|
/**
|
|
542
533
|
* Stage is a funnel level. Stages always come in the order they appear in the
|
|
@@ -562,10 +553,8 @@ export type GetMessageDeliveryFunnelResponse_Kind = 'KIND_UNSPECIFIED'
|
|
|
562
553
|
/** part of the stage, NOT a summand */
|
|
563
554
|
| 'KIND_SUBSET';
|
|
564
555
|
/**
|
|
565
|
-
* FunnelState describes the response
|
|
566
|
-
*
|
|
567
|
-
* shape: nothing has happened for this message yet, or its statistics are older
|
|
568
|
-
* than the pre-aggregate keeps.
|
|
556
|
+
* FunnelState describes the response before any stage is read: an empty funnel has two
|
|
557
|
+
* very different meanings and one shape.
|
|
569
558
|
*/
|
|
570
559
|
export type GetMessageDeliveryFunnelResponse_FunnelState = 'FUNNEL_STATE_UNSPECIFIED'
|
|
571
560
|
/** the funnel is populated */
|
|
@@ -575,12 +564,8 @@ export type GetMessageDeliveryFunnelResponse_FunnelState = 'FUNNEL_STATE_UNSPECI
|
|
|
575
564
|
/** sent longer ago than statistics are kept */
|
|
576
565
|
| 'FUNNEL_STATE_EXPIRED';
|
|
577
566
|
/**
|
|
578
|
-
* DeliveriesForm tells which breakdown STAGE_DELIVERIES carries. The
|
|
579
|
-
*
|
|
580
|
-
* comparing them must not treat the rows as continuous.
|
|
581
|
-
*
|
|
582
|
-
* There is no withheld form: allow_show_delivery_statistics restricts non-email
|
|
583
|
-
* deliveries, never the stage, so STAGE_DELIVERIES is always part of the funnel.
|
|
567
|
+
* DeliveriesForm tells which breakdown STAGE_DELIVERIES carries. The forms count
|
|
568
|
+
* different sets, so their rows are not continuous. There is no withheld form.
|
|
584
569
|
*/
|
|
585
570
|
export type GetMessageDeliveryFunnelResponse_DeliveriesForm = 'DELIVERIES_FORM_UNSPECIFIED'
|
|
586
571
|
/** three disjoint rows, alert state known */
|
|
@@ -588,12 +573,8 @@ export type GetMessageDeliveryFunnelResponse_DeliveriesForm = 'DELIVERIES_FORM_U
|
|
|
588
573
|
/** two rows, alert state unknown */
|
|
589
574
|
| 'DELIVERIES_FORM_BASIC';
|
|
590
575
|
/**
|
|
591
|
-
* BasicFormReason explains why the per-device breakdown is missing
|
|
592
|
-
*
|
|
593
|
-
*
|
|
594
|
-
* NO_DELIVERIES is deliberately not called NO_EVENTS: FunnelState already uses
|
|
595
|
-
* that name for "nothing happened for this message at all", and here sends did
|
|
596
|
-
* happen — there is simply nothing to break down yet.
|
|
576
|
+
* BasicFormReason explains why the per-device breakdown is missing; set only in the
|
|
577
|
+
* basic form. NO_DELIVERIES is not NO_EVENTS — sends did happen.
|
|
597
578
|
*/
|
|
598
579
|
export type GetMessageDeliveryFunnelResponse_BasicFormReason = 'BASIC_FORM_REASON_UNSPECIFIED'
|
|
599
580
|
/** older than the row-level log keeps */
|
|
@@ -602,52 +583,36 @@ export type GetMessageDeliveryFunnelResponse_BasicFormReason = 'BASIC_FORM_REASO
|
|
|
602
583
|
| 'BASIC_FORM_REASON_UNAVAILABLE'
|
|
603
584
|
/** nothing accepted yet — say nothing in the UI */
|
|
604
585
|
| 'BASIC_FORM_REASON_NO_DELIVERIES';
|
|
586
|
+
/**
|
|
587
|
+
* PlatformCount is one platform's share of the number above it; the parent is always
|
|
588
|
+
* their sum. A platform with nothing to report is absent, which is not a zero.
|
|
589
|
+
*/
|
|
590
|
+
export type GetMessageDeliveryFunnelResponse_PlatformCount = {
|
|
591
|
+
platform: number;
|
|
592
|
+
count: number;
|
|
593
|
+
};
|
|
605
594
|
/** Piece is one row of the funnel table. */
|
|
606
595
|
export type GetMessageDeliveryFunnelResponse_Piece = {
|
|
607
596
|
kind: GetMessageDeliveryFunnelResponse_Kind;
|
|
608
597
|
/** FREQUENCY_CAPPING, ACCEPTED_BY_GATEWAY, ... */
|
|
609
598
|
category: string;
|
|
610
599
|
count: number;
|
|
600
|
+
platforms: GetMessageDeliveryFunnelResponse_PlatformCount[];
|
|
611
601
|
};
|
|
612
602
|
/**
|
|
613
|
-
*
|
|
614
|
-
*
|
|
615
|
-
*/
|
|
616
|
-
export type GetMessageDeliveryFunnelResponse_Point = {
|
|
617
|
-
/** start of the interval */
|
|
618
|
-
bucket: Date;
|
|
619
|
-
count: number;
|
|
620
|
-
};
|
|
621
|
-
/**
|
|
622
|
-
* Series is a stage's count spread over time, for one platform.
|
|
623
|
-
*
|
|
624
|
-
* Sums to the stage count exactly — over buckets and over platforms both —
|
|
625
|
-
* with one named exception, STAGE_DELIVERIES. Both come from one query: the
|
|
626
|
-
* series is that query grouped by bucket and platform, the count is the same
|
|
627
|
-
* query without the grouping. A device belongs to one platform, so the
|
|
628
|
-
* per-device stages stay additive across the platform split just as the
|
|
629
|
-
* event-counted ones do.
|
|
630
|
-
*
|
|
631
|
-
* The exception: STAGE_DELIVERIES counts accepted sends on the send axis while
|
|
632
|
-
* its series counts confirmations on the event axis, so that series reconciles
|
|
633
|
-
* with confirmed_deliveries_total instead of with the stage count.
|
|
634
|
-
*/
|
|
635
|
-
export type GetMessageDeliveryFunnelResponse_Series = {
|
|
636
|
-
platform: number;
|
|
637
|
-
points: GetMessageDeliveryFunnelResponse_Point[];
|
|
638
|
-
};
|
|
639
|
-
/**
|
|
640
|
-
* ErrorRow is what STAGE_ERRORS carries instead of pieces: the screen needs the
|
|
641
|
-
* category and the platform at the same time, which a Series cannot express.
|
|
603
|
+
* ErrorRow is what STAGE_ERRORS carries instead of pieces: a Piece in all but name,
|
|
604
|
+
* since every row of that stage is a drop-out.
|
|
642
605
|
*/
|
|
643
606
|
export type GetMessageDeliveryFunnelResponse_ErrorRow = {
|
|
644
607
|
/** INVALID_TOKEN, QUOTA_EXCEEDED, INTERNAL_ERROR, ... */
|
|
645
608
|
category: string;
|
|
646
|
-
platform: number;
|
|
647
609
|
count: number;
|
|
648
|
-
|
|
610
|
+
platforms: GetMessageDeliveryFunnelResponse_PlatformCount[];
|
|
649
611
|
};
|
|
650
|
-
/**
|
|
612
|
+
/**
|
|
613
|
+
* StageItem is one funnel level with its breakdown. STAGE_DELIVERIES counts accepted
|
|
614
|
+
* sends — how many there were to confirm, not how many confirmed.
|
|
615
|
+
*/
|
|
651
616
|
export type GetMessageDeliveryFunnelResponse_StageItem = {
|
|
652
617
|
stage: GetMessageDeliveryFunnelResponse_Stage;
|
|
653
618
|
count: number;
|
|
@@ -655,34 +620,111 @@ export type GetMessageDeliveryFunnelResponse_StageItem = {
|
|
|
655
620
|
pieces: GetMessageDeliveryFunnelResponse_Piece[];
|
|
656
621
|
/** STAGE_ERRORS only */
|
|
657
622
|
errors: GetMessageDeliveryFunnelResponse_ErrorRow[];
|
|
658
|
-
|
|
623
|
+
platforms: GetMessageDeliveryFunnelResponse_PlatformCount[];
|
|
624
|
+
};
|
|
625
|
+
/**
|
|
626
|
+
* ConfirmedDeliveries equals the tracking log CSV export: past the accepted set, never
|
|
627
|
+
* clamped (derive no stage row), email-only without allow_show_delivery_statistics.
|
|
628
|
+
*/
|
|
629
|
+
export type GetMessageDeliveryFunnelResponse_ConfirmedDeliveries = {
|
|
630
|
+
count: number;
|
|
631
|
+
platforms: GetMessageDeliveryFunnelResponse_PlatformCount[];
|
|
659
632
|
};
|
|
660
633
|
export type GetMessageDeliveryFunnelResponse = {
|
|
661
634
|
funnel: GetMessageDeliveryFunnelResponse_StageItem[];
|
|
662
635
|
/**
|
|
663
|
-
* The window the funnel was computed over, derived from the data
|
|
664
|
-
*
|
|
665
|
-
* pre-aggregate TTL can make it shorter than the actual send.
|
|
636
|
+
* The window the funnel was computed over, derived from the data: the numbers are
|
|
637
|
+
* meaningless without it, and the pre-aggregate TTL can cut it short.
|
|
666
638
|
*/
|
|
667
639
|
windowFrom: Date;
|
|
668
640
|
windowTo: Date;
|
|
669
641
|
funnelState: GetMessageDeliveryFunnelResponse_FunnelState;
|
|
670
642
|
deliveriesForm: GetMessageDeliveryFunnelResponse_DeliveriesForm;
|
|
671
643
|
basicFormReason: GetMessageDeliveryFunnelResponse_BasicFormReason;
|
|
644
|
+
confirmedDeliveries: GetMessageDeliveryFunnelResponse_ConfirmedDeliveries;
|
|
645
|
+
};
|
|
646
|
+
/**
|
|
647
|
+
* GetMessageDeliveryTimelineRequest asks for one message's metrics over time. Unlike
|
|
648
|
+
* the funnel it takes a window: a timeline has no stage arithmetic to break.
|
|
649
|
+
*/
|
|
650
|
+
export type GetMessageDeliveryTimelineRequest = {
|
|
651
|
+
/** Specific message code, required */
|
|
652
|
+
messageCode: string;
|
|
653
|
+
/** Optional platform ID filter */
|
|
654
|
+
platforms: number[];
|
|
672
655
|
/**
|
|
673
|
-
*
|
|
674
|
-
*
|
|
675
|
-
* one number a client can reconcile with the tracking log CSV export.
|
|
676
|
-
*
|
|
677
|
-
* Without allow_show_delivery_statistics it counts email confirmations only,
|
|
678
|
-
* matching the confirmation rows of STAGE_DELIVERIES.
|
|
656
|
+
* Bucket width. Unset lets the server pick from the window as every other series here
|
|
657
|
+
* does: a year -> month, over a month -> day, over a day -> hour, else minute.
|
|
679
658
|
*/
|
|
680
|
-
|
|
659
|
+
interval: pushwoosh_statistics_types_TimeInterval;
|
|
660
|
+
/**
|
|
661
|
+
* The window to read; an unset end is the message's own, and narrowing it narrows the
|
|
662
|
+
* counts. A stated `from` rounds down to the minute, `to` clips exactly, derived — a day wide.
|
|
663
|
+
*/
|
|
664
|
+
from: Date;
|
|
665
|
+
to: Date;
|
|
666
|
+
};
|
|
667
|
+
/**
|
|
668
|
+
* Metric is one line of the chart. Metrics, not funnel stages: STAGE_DELIVERIES
|
|
669
|
+
* counts accepted sends, and the number a reader wants there is not a stage at all.
|
|
670
|
+
*/
|
|
671
|
+
export type GetMessageDeliveryTimelineResponse_Metric = 'METRIC_UNSPECIFIED'
|
|
672
|
+
/** taken into processing */
|
|
673
|
+
| 'METRIC_AUDIENCE'
|
|
674
|
+
/** accepted by the gateway */
|
|
675
|
+
| 'METRIC_SENT'
|
|
676
|
+
/** rejected before the gateway took it */
|
|
677
|
+
| 'METRIC_ERRORS'
|
|
678
|
+
/** devices that confirmed delivery */
|
|
679
|
+
| 'METRIC_CONFIRMED_DELIVERIES'
|
|
680
|
+
/** unique devices that opened */
|
|
681
|
+
| 'METRIC_OPENED';
|
|
682
|
+
/**
|
|
683
|
+
* Point is one bucket of a series, always UTC. Empty buckets are not emitted: the
|
|
684
|
+
* client draws the axis from the window and the interval.
|
|
685
|
+
*/
|
|
686
|
+
export type GetMessageDeliveryTimelineResponse_Point = {
|
|
687
|
+
/** start of the interval */
|
|
688
|
+
bucket: Date;
|
|
689
|
+
count: number;
|
|
690
|
+
};
|
|
691
|
+
/**
|
|
692
|
+
* PlatformSeries is one platform's line: a metric's count is the sum of its platforms,
|
|
693
|
+
* and a platform's points sum to its own count.
|
|
694
|
+
*/
|
|
695
|
+
export type GetMessageDeliveryTimelineResponse_PlatformSeries = {
|
|
696
|
+
platform: number;
|
|
697
|
+
count: number;
|
|
698
|
+
points: GetMessageDeliveryTimelineResponse_Point[];
|
|
699
|
+
};
|
|
700
|
+
export type GetMessageDeliveryTimelineResponse_MetricSeries = {
|
|
701
|
+
metric: GetMessageDeliveryTimelineResponse_Metric;
|
|
702
|
+
count: number;
|
|
703
|
+
platforms: GetMessageDeliveryTimelineResponse_PlatformSeries[];
|
|
704
|
+
};
|
|
705
|
+
export type GetMessageDeliveryTimelineResponse = {
|
|
706
|
+
series: GetMessageDeliveryTimelineResponse_MetricSeries[];
|
|
707
|
+
/**
|
|
708
|
+
* The window actually read: what the request asked for, clamped to the data,
|
|
709
|
+
* or the message's own window when the request asked for neither end.
|
|
710
|
+
*/
|
|
711
|
+
windowFrom: Date;
|
|
712
|
+
windowTo: Date;
|
|
713
|
+
/**
|
|
714
|
+
* Same three states as the funnel, and for the same reasons: an empty answer
|
|
715
|
+
* has to say which kind of empty it is.
|
|
716
|
+
*/
|
|
717
|
+
funnelState: GetMessageDeliveryFunnelResponse_FunnelState;
|
|
681
718
|
/**
|
|
682
719
|
* The bucket width actually used, whether it came from the request or from the
|
|
683
|
-
* automatic pick.
|
|
720
|
+
* automatic pick.
|
|
684
721
|
*/
|
|
685
722
|
interval: pushwoosh_statistics_types_TimeInterval;
|
|
723
|
+
/**
|
|
724
|
+
* These metrics are counted when the device answered, the others when we sent. The
|
|
725
|
+
* metrics of one bucket are therefore not a funnel: they reconcile over the window.
|
|
726
|
+
*/
|
|
727
|
+
eventAxisMetrics: GetMessageDeliveryTimelineResponse_Metric[];
|
|
686
728
|
};
|
|
687
729
|
/** ActiveAudienceType specifies the type of active users calculation */
|
|
688
730
|
export type ActiveAudienceType =
|