@pushwoosh/rpc-v2-http-api-data 0.2.326 → 0.2.328

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.
@@ -1,11 +1,14 @@
1
1
  import { RpcMethod } from './commonTypes';
2
2
  export type CustomerJourneyService_GetDeviceEntries = RpcMethod<GetDeviceEntriesRequest, GetDeviceEntriesResponse>;
3
3
  export type CustomerJourneyService_GetCampaignPreset = RpcMethod<GetCampaignPresetRequest, GetCampaignPresetResponse>;
4
+ export type CustomerJourneyService_GetHoldoutUplift = RpcMethod<GetHoldoutUpliftRequest, GetHoldoutUpliftResponse>;
4
5
  export interface CustomerJourneyService {
5
6
  /** Lists the customer journeys a single device (by HWID) has entered in an application, with each entry's status, enter/leave times and campaign type, paged. Use to reconstruct one device's journey participation history. */
6
7
  GetDeviceEntries: CustomerJourneyService_GetDeviceEntries;
7
8
  /** Returns the message preset code and point type of the first send point of a journey campaign, looked up by campaign code. Use to find which push/email/SMS/WhatsApp preset a single-message journey campaign delivers. */
8
9
  GetCampaignPreset: CustomerJourneyService_GetCampaignPreset;
10
+ /** Returns the latest nightly uplift report of a journey against each of its Holdout Split points: per goal event, travellers that went on into the journey versus those held out, with conversion rates, relative uplift, significance and revenue per currency. Use to judge whether a journey moves its goals. */
11
+ GetHoldoutUplift: CustomerJourneyService_GetHoldoutUplift;
9
12
  }
10
13
  export type GetDeviceEntriesRequest = {
11
14
  /** Device hardware id (HWID) whose journey entries to list. */
@@ -44,3 +47,60 @@ export type GetCampaignPresetResponse = {
44
47
  preset: string;
45
48
  type: PointType;
46
49
  };
50
+ export type GetHoldoutUpliftRequest = {
51
+ /** Application code (format XXXXX-XXXXX) the journey belongs to. */
52
+ application?: string;
53
+ /** UUID of the journey whose Holdout Split report to return. */
54
+ journeyUuid?: string;
55
+ };
56
+ export type HoldoutUpliftGroup = {
57
+ /** Travellers in this arm. */
58
+ users: number;
59
+ /** Travellers of this arm who performed the goal event within the window. */
60
+ conversions: number;
61
+ /** conversions / users * 100. */
62
+ conversionRate: number;
63
+ /** Goal events per traveller of this arm. */
64
+ eventsPerUser: number;
65
+ };
66
+ export type HoldoutUpliftEvent_Significance = 'SIGNIFICANCE_UNSPECIFIED' | 'SIGNIFICANCE_NOT_ENOUGH_DATA' | 'SIGNIFICANCE_NOT_SIGNIFICANT' | 'SIGNIFICANCE_SIGNIFICANT';
67
+ export type HoldoutUpliftEvent = {
68
+ /** Goal event name. */
69
+ event: string;
70
+ /** Travellers that went on into the journey. */
71
+ treatment: HoldoutUpliftGroup;
72
+ /** Travellers held out at the point. */
73
+ control: HoldoutUpliftGroup;
74
+ /** Relative uplift of treatment over control, percent. */
75
+ upliftPct: number;
76
+ /** Estimated goal events attributable to the journey. */
77
+ incrementalEvents: number;
78
+ /** Incremental events as percent of treatment events. */
79
+ percentOfTreatment: number;
80
+ zScore: number;
81
+ pValue: number;
82
+ /** Confidence level, percent. */
83
+ confidencePct: number;
84
+ significance: HoldoutUpliftEvent_Significance;
85
+ /** Revenue source is configured for the event; false means the amounts come from legacy attributes. */
86
+ revenueTracked: boolean;
87
+ /** Treatment revenue per currency code, not converted. */
88
+ treatmentRevenue: Record<string, number>;
89
+ /** Holdout revenue per currency code, not converted. */
90
+ controlRevenue: Record<string, number>;
91
+ /** Revenue attributable to the journey per currency code. */
92
+ incrementalRevenue: Record<string, number>;
93
+ };
94
+ export type HoldoutUpliftPoint = {
95
+ /** UUID of the Holdout Split point. */
96
+ pointUuid: string;
97
+ /** When the report was computed; it is refreshed once a day. */
98
+ computedAt: Date;
99
+ /** Conversion window counted from the moment a traveller passed the point. */
100
+ attributionWindowSeconds: number;
101
+ events: HoldoutUpliftEvent[];
102
+ };
103
+ export type GetHoldoutUpliftResponse = {
104
+ /** One entry per Holdout Split point that already has a report. */
105
+ points: HoldoutUpliftPoint[];
106
+ };
package/data.js CHANGED
@@ -10336,6 +10336,12 @@ export const data = {
10336
10336
  "response": "pushwoosh.rpc_v2.customer_journey.GetCampaignPresetResponse",
10337
10337
  "method": "get",
10338
10338
  "path": "/api/journeys:get-campaign-preset"
10339
+ },
10340
+ "GetHoldoutUplift": {
10341
+ "request": "pushwoosh.rpc_v2.customer_journey.GetHoldoutUpliftRequest",
10342
+ "response": "pushwoosh.rpc_v2.customer_journey.GetHoldoutUpliftResponse",
10343
+ "method": "post",
10344
+ "path": "/api/journeys:get-holdout-uplift"
10339
10345
  }
10340
10346
  }
10341
10347
  },
@@ -10475,6 +10481,120 @@ export const data = {
10475
10481
  }
10476
10482
  }
10477
10483
  },
10484
+ "pushwoosh.rpc_v2.customer_journey.GetHoldoutUpliftRequest": {
10485
+ "type": "I",
10486
+ "fields": {
10487
+ "application": {
10488
+ "type": "string"
10489
+ },
10490
+ "journeyUuid": {
10491
+ "type": "string"
10492
+ }
10493
+ }
10494
+ },
10495
+ "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftGroup": {
10496
+ "type": "I",
10497
+ "fields": {
10498
+ "users": {
10499
+ "type": "number"
10500
+ },
10501
+ "conversions": {
10502
+ "type": "number"
10503
+ },
10504
+ "conversionRate": {
10505
+ "type": "number"
10506
+ },
10507
+ "eventsPerUser": {
10508
+ "type": "number"
10509
+ }
10510
+ }
10511
+ },
10512
+ "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftEvent.Significance": {
10513
+ "type": "E",
10514
+ "values": [
10515
+ "SIGNIFICANCE_UNSPECIFIED",
10516
+ "SIGNIFICANCE_NOT_ENOUGH_DATA",
10517
+ "SIGNIFICANCE_NOT_SIGNIFICANT",
10518
+ "SIGNIFICANCE_SIGNIFICANT"
10519
+ ]
10520
+ },
10521
+ "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftEvent": {
10522
+ "type": "I",
10523
+ "fields": {
10524
+ "event": {
10525
+ "type": "string"
10526
+ },
10527
+ "treatment": {
10528
+ "type": "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftGroup"
10529
+ },
10530
+ "control": {
10531
+ "type": "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftGroup"
10532
+ },
10533
+ "upliftPct": {
10534
+ "type": "number"
10535
+ },
10536
+ "incrementalEvents": {
10537
+ "type": "number"
10538
+ },
10539
+ "percentOfTreatment": {
10540
+ "type": "number"
10541
+ },
10542
+ "zScore": {
10543
+ "type": "number"
10544
+ },
10545
+ "pValue": {
10546
+ "type": "number"
10547
+ },
10548
+ "confidencePct": {
10549
+ "type": "number"
10550
+ },
10551
+ "significance": {
10552
+ "type": "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftEvent.Significance"
10553
+ },
10554
+ "revenueTracked": {
10555
+ "type": "boolean"
10556
+ },
10557
+ "treatmentRevenue": {
10558
+ "type": "number",
10559
+ "mapKeyType": "string"
10560
+ },
10561
+ "controlRevenue": {
10562
+ "type": "number",
10563
+ "mapKeyType": "string"
10564
+ },
10565
+ "incrementalRevenue": {
10566
+ "type": "number",
10567
+ "mapKeyType": "string"
10568
+ }
10569
+ }
10570
+ },
10571
+ "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftPoint": {
10572
+ "type": "I",
10573
+ "fields": {
10574
+ "pointUuid": {
10575
+ "type": "string"
10576
+ },
10577
+ "computedAt": {
10578
+ "type": "Date"
10579
+ },
10580
+ "attributionWindowSeconds": {
10581
+ "type": "number"
10582
+ },
10583
+ "events": {
10584
+ "type": "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftEvent",
10585
+ "array": true
10586
+ }
10587
+ }
10588
+ },
10589
+ "pushwoosh.rpc_v2.customer_journey.GetHoldoutUpliftResponse": {
10590
+ "type": "I",
10591
+ "fields": {
10592
+ "points": {
10593
+ "type": "pushwoosh.rpc_v2.customer_journey.HoldoutUpliftPoint",
10594
+ "array": true
10595
+ }
10596
+ }
10597
+ },
10478
10598
  "pushwoosh.rpc_v2.data_erasure.DataErasureService": {
10479
10599
  "type": "S",
10480
10600
  "key": "dataErasure",
@@ -34100,6 +34220,40 @@ export const data = {
34100
34220
  "params": {
34101
34221
  "type": "pushwoosh.rpc_v2.viber_presets.ViberPresetParam",
34102
34222
  "array": true
34223
+ },
34224
+ "kind": {
34225
+ "type": "pushwoosh.rpc_v2.viber_presets.ViberPresetKind"
34226
+ },
34227
+ "promo": {
34228
+ "type": "pushwoosh.rpc_v2.viber_presets.ViberPromoContent"
34229
+ }
34230
+ }
34231
+ },
34232
+ "pushwoosh.rpc_v2.viber_presets.ViberPresetKind": {
34233
+ "type": "E",
34234
+ "values": [
34235
+ "VIBER_PRESET_KIND_UNSPECIFIED",
34236
+ "VIBER_PRESET_KIND_TRANSACTIONAL",
34237
+ "VIBER_PRESET_KIND_PROMO"
34238
+ ]
34239
+ },
34240
+ "pushwoosh.rpc_v2.viber_presets.ViberPromoContent": {
34241
+ "type": "I",
34242
+ "fields": {
34243
+ "type": {
34244
+ "type": "number"
34245
+ },
34246
+ "text": {
34247
+ "type": "string"
34248
+ },
34249
+ "image": {
34250
+ "type": "string"
34251
+ },
34252
+ "buttonCaption": {
34253
+ "type": "string"
34254
+ },
34255
+ "buttonAction": {
34256
+ "type": "string"
34103
34257
  }
34104
34258
  }
34105
34259
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushwoosh/rpc-v2-http-api-data",
3
- "version": "0.2.326",
3
+ "version": "0.2.328",
4
4
  "description": "RPC V2 HTTP API Types and Data",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -1,11 +1,11 @@
1
1
  import { RpcMethod } from './commonTypes';
2
2
  export type ViberPresetsService_List = RpcMethod<ListViberPresetsRequest, ListViberPresetsResponse>;
3
3
  export interface ViberPresetsService {
4
- /** Lists approved Viber transactional message templates for an application, fetched live from the external MStat Omni Messaging provider. Use to pick a Viber template code before composing a Viber send; only templates in the approved status are returned. */
4
+ /** Lists Viber message templates for an application, fetched live from the external MStat Omni Messaging provider: approved transactional templates (sent by code) and saved promo templates (text, image and button copied into the message). Use to pick a Viber template before composing a Viber send. */
5
5
  List: ViberPresetsService_List;
6
6
  }
7
7
  export type ListViberPresetsRequest = {
8
- /** Application code (format XXXXX-XXXXX) whose Viber transactional templates are listed. */
8
+ /** Application code (format XXXXX-XXXXX) whose Viber templates are listed. */
9
9
  application?: string;
10
10
  };
11
11
  export type ListViberPresetsResponse = {
@@ -18,6 +18,18 @@ export type ViberPreset = {
18
18
  category: string;
19
19
  locales: ViberPresetLocale[];
20
20
  params: ViberPresetParam[];
21
+ kind: ViberPresetKind;
22
+ /** Set for promo presets only: content the send copies as-is instead of referencing a code. */
23
+ promo: ViberPromoContent;
24
+ };
25
+ export type ViberPresetKind = 'VIBER_PRESET_KIND_UNSPECIFIED' | 'VIBER_PRESET_KIND_TRANSACTIONAL' | 'VIBER_PRESET_KIND_PROMO';
26
+ export type ViberPromoContent = {
27
+ /** MStat message type: 106 text, 107 image, 108 text+image(+button), 109 text+button */
28
+ type: number;
29
+ text: string;
30
+ image: string;
31
+ buttonCaption: string;
32
+ buttonAction: string;
21
33
  };
22
34
  export type ViberPresetLocale = {
23
35
  lang: string;